miércoles, 16 de septiembre de 2015

Ensayo

En el presente ensayo se busca argumentar sobre el sistema de elaboración del software desde el punto de vista de su arquitectura en especial el del software libre de tal manera se expongan argumentos que sustenten el éxito que ha tenido el tipo de elaboración en forma de bazar y sus distintas implicaciones.

Se comenzara por dar una definición de software libre, es aquel conjunto de programas, instrucciones y rutinas que permiten ejecutar distintas tareas en una computadora. Al hablar de software libre nos referimos aquel software que provee de distintas libertades a sus usuarios, independientemente de su gratuidad o no.

Las libertades que ofrece dicho software son:
  • La libertad de ejecutar el programa como el usuario lo desee.
  • La libertad de acceso al código fuente de tal manera que se pueda modificarlo según las necesidades de cada usuario.
  • La libertad de realizar copias a las modificaciones que el usuario realizo y distribuirlas de manera gratuita o cobrando por ello.
  • La libertad de contribuir con la sociedad distribuyendo copias del programa que cada usuario modifico y mejoro.
Una vez definido el software libre se analizará dos de las distintas formas de elaborarlo: la arquitectura tipo catedral o la arquitectura tipo bazar. En la primera se tiene una construcción de software muy estructurada y rígida de acuerdo con su planificación la cual ha sido diseñada por un único “arquitecto” que  debe afrontar todas las dificultades y decisiones del desarrollo, no obstante cuenta con un pequeño y muy selecto grupo de colaboradores ordenados jerárquicamente los que no tienen la posibilidad de reestructurar el plan, de esta forma el software se va elaborando muy lentamente pues es desarrollado por una única persona, teniendo esto en cuenta cualquier error por pequeño que sea puede derrumbar toda la catedral ya que el tiempo que toma al arquitecto y a sus colaboradores el darse cuenta del error y supéralo es muy grande en consecuencia existen pocas versiones del programa y cada una de ellas tiene errores posiblemente significativos.

En el otro lado de la moneda se tiene la arquitectura del tipo bazar en la que el desarrollador del proyecto cuenta con toda una comunidad en línea (bazar mundial) de la cual se puede extraer ideas soluciones mejoras opiniones para enriquecer el programa, al haber tanta gente involucrada en el proyecto los tiempos de desarrollo se reducen, la detección de errores y corrección de errores muy rápida por lo que en general cada una de las versiones (que por cierto son varias) son de muy alta calidad y con poco errores.

Es importante recalcar la habilidad de líder y facilidad de comunicación y expresión que debe tener el “dueño del bazar” (líder del proyecto) para poder compilar de manera rápida y adecuada toda la inmensa cantidad de información y código que le llega de tal manera que lo pueda usar y añadir al programa de la forma más adecuada y rápida posible, a la vez que debe ser capaz de comunicar las necesidades y problemas que surgen para corregirlos con prontitud.

Con base a los argumentos anteriormente expuestos se puede concluir que un proyecto tan ambicioso como el desarrollado por Linus Torvals, crear un sistema operativo desde cero, que posteriormente llamo Linux y lo protegió con la licencia GPL desarrollada por Richard Stallman mediante la cual todo el mundo tiene acceso al código fuente y es libre de modificarlo y redistribuirlo no habría sido capaz de llevarse a cabo en el modelo catedral pues el desarrollo del Kernel implica un constante proceso de compilado y depuración incapaz de llevarse a cabo a la velocidad requerida por un reducido núcleo de trabajo a la vez que su complejidad implica la distribución de tareas (líneas de código) para su posterior integración por parte del líder, de igual forma el sistema jerarjico hubiera sido un gran obstáculo pues al tener que iniciar de cero existen un sinfín de posibilidades que habrían impedido la aceptación de distintas soluciones y mejoras para la publicación y depuración con la velocidad requerida.

Por: Iván Osorno
Atribución-NoComercial
http://creativecommons.org/licenses/by-nc/4.0/

No hay comentarios:

Publicar un comentario