Ingenieria de software

Solo disponible en BuenasTareas
  • Páginas : 14 (3492 palabras )
  • Descarga(s) : 7
  • Publicado : 25 de abril de 2010
Leer documento completo
Vista previa del texto
u n o

Ingeniería del Software Libre
Manuel Dávila Sguerra
“El software libre es el mundo de los programadores que saben trabajar de manera comunitaria en proyectos que nacen de sus intereses personales, académicos e investigativos. Las motivaciones que los mueven son diferentes a las tradicionales y su actividad ha creado una Ingeniería de software que crea estándares”

N

o es posiblehablar de este tema sin citar el Libro “Desarrollo Catedral y Bazar” de Erik Raymond [1] que comienza diciendo: “Linux es subversivo. ¿Quién hubiera pensado hace apenas cinco años que un sistema operativo de talla mundial surgiría, como por arte de magia, gracias a la actividad hacker desplegada en ratos libres por varios miles de programadores diseminados en todo el planeta, conectados solamentepor los tenues hilos de la Internet?”. La mención de los cinco años determina una relación de tiempo con el momento en que se escribió este tratado. No deja de tener cierto misterio ese mundo de personas anónimas, que trabajando de manera cooperativa han
52 Sistemas

logrado desarrollar estados del arte que hoy en día son líderes en muchos de los mercados en los que se utilizan y en el que LinusTorvalds, el desarrollador del núcleo de Linux, vino a descubrir la existencia de una Ingeniería de software creada en forma comunitaria. El presente artículo intenta resumir el modelo que se ha venido construyendo para hacer software tomando como fondo las premisas de Erik Raymond, complementado con algunos comentarios propios. Las premisas de Raymond Basado en su propia experiencia en eldesarrollo de fetchmail, Erik Raymond define una serie de premisas que conforman los mandamientos de

aquellos que se embarcan en un desarrollo de software abierto y explica los momentos que se viven, desde las motivaciones para iniciar un proyecto, las acciones que mantienen el liderazgo del gestor, las relaciones con los terceros, las sinergias que se crean alrededor del grupo, y el panorama de lasherramientas preferidas por los desarrolladores que, a pesar de la aparente anarquía que los identifica, han venido creando estándares muy bien definidos. Los intereses del programador Si bien un desarrollo de tipo propietario nace por las necesidades del cliente, el software abierto surge de las necesidades personales del mismo programador, quien ha identificado un problema que a él le interesaresolver en forma prioritaria. Esta premisa conlleva una entrega sin precedentes para atacar el problema y cambia las prioridades que se dan en los desarrollos tradicionales, en los que predominan los intereses económicos. Reutilización de código propio y de terceros Esta famosa frase sobre la importancia de la reutilización de código cobra un valor superlativo en el software libre pues va másallá del desarrollo de las propias librerías, con el claro propósito de aumentar la productividad y de facilitar el mantenimiento futuro.

Trasciende a la reutilización del código de “otros programadores”. Si bien a los hackers se les identifica por tener una vanidad excesiva es curioso que no sientan ninguna pena de reutilizar el código de otros y considerar que la búsqueda del camino más fácil,como lo pregona Torvals, es un síntoma de mayor inteligencia. Problemas de conciencia Quienes programamos cotidianamente sabemos que la forma de plantear la programación de un algoritmo es sensible de tomar caminos tormentosos. En estos casos se aconseja tener en cuenta la opción extrema de desechar el trabajo, botarlo al cesto de la basura y recomenzarlo. De cierta manera es un momento dereconciliación con uno mismo, tan beneficioso para el espíritu y para el proyecto como cuando uno decide perdonar al enemigo. Casi siempre el nuevo camino está libre de cruces. Todo debe ser interesante En un trabajo en el cual el nivel de abstracción es tan alto como en la programación de computadores, no es de ninguna manera sano para la mente del programador tener como propósito único terminar lo que...
tracking img