Presentado en las Jornadas de Infociencias, UCLA, Venezuela, Marzo 2009 (Promoción 45).
Inspirado en el ensayo de Eric Raymond "La Catedral y El Bazar" se mostrará como el modelo de desarrollo colaborativo del Software Libre (Tipo Bazar) ha desplazado totalmente al modelo tradicional impuesto por el Software Propietario (La Catedral), se detallará como es posible llevar a cabo el modelo de desarrollo colaborativo en un proyecto, mostrando los aspectos a tomar en cuenta y condiciones necesarias basado en experiencias propias y ajenas, así como la importancia de los valores humanos generados y afianzados a través del trabajo colaborativo, y como el software libre se ha convertido en la manera correcta desde el punto de vista ético, social y tecnológico de desarrollar y usar software.
Se realza la importancia del modelo de desarrollo colaborativo y como las tendencias actuales en Tecnologías de Información convergen hacia el establecimiento de este modelo como un estándar de facto.
"Los buenos programadores saben qué escribir. Los mejores, que reescribir (y reutilizar)" E. Raymond
2. Agenda
Eric S. Raymond (ESR): La Catedral y el Bazar
El modelo de desarrollo ”Catedral”
El modelo de desarrollo ”Bazar”
Lecciones Aprendidas
Condiciones necesarias para el modelo Bazar
Conclusiones
3. ESR: La Catedral y el Bazar
Ensayo publicado en 1997 por Eric S. Raymond
(Lider del Open Source y OSI).
Analiza el surgimiento de GNU/Linux (Modelo Linus)
y la creación de fetchmail.
Creado deliberadamente para comprobar las
diferencias teóricas entre dos modelos de
desarrollo: la catedral (la mayoría del software no
libre) y el bazar (del mundo del software libre).
el bazar
Incidió directamente en la liberación del código de
Netscape, hoy en día Mozilla Firefox.
5. La Catedral
Obedece a un interés comercial (generalmente).
Desarrollo Cerrado y Centralizado.
Equipos de trabajo geograficamente cercanos.
Los errores son dificiles de percibir (inicialmente)
y si son encontrados no se publican.
Los usuarios no intervienen.
Intervalos de tiempo muy largos entre versiones.
6. El Bazar
Desarrollo abierto, descentralizado y distribuido.
Equipo de trabajo geograficamente disperso.
Uso masivo de herramientas de comunicación a
través de la web (Internet → Linux ).
Equipos interdisciplinarios, con competencias y
responsabilidades diversas.
Participación constante de los usuarios (XP).
Liberación rápida y frecuente.
Los errores forman parte del trabajo y se publican.
7. Lecciones Aprendidas
1. Todo buen trabajo de software comienza a
partir de las necesidades personales del
programador.
2. Los buenos programadores saben que escribir.
Los mejores que reescribir (y reutilizar).
3.No se entiende cabalmente un problema hasta
que se implementa la primera solución..
4.Si tienes la actitud adecuada encontraras
problemas interesantes.
8. Lecciones Aprendidas
5. Cuando se pierde el interés en un programa el
último deber es heredarlo a alguien competente.
6. Tratar a los usuarios como colaboradores es la
manera más apropiada de mejorar el código.
7.Libere rápido y a menudo (Estimula y
recompensa a Desarrolladores y Usuarios).
8. ”Con muchas miradas, todos los errores saltaran
a la vista” (Ley de Linus)
9. Lecciones Aprendidas
9. Muestréme su código y esconda sus estructuras
de datos y seguiré intrigado. Muestréme sus
estructuras de datos y no necesitaré ver su código.
10. Si tratas a tus analistas como si fueran tu recurso
más valioso, te responderan convirtiendose en
ello.
11.Lo más grande después de tener buenas ideas,
es reconocer las buenas ideas de los demás.
12.Las soluciones más innovadoras provienen de
comprender que la concepción del problema era
erronea.
10. Condiciones necesarias
No se debe partir de cero. (He visto más lejos porque
me he parado sobre los hombros de los gigantes).
La propuesta debe convencer de que puede
evolucionar hacia algo elegante en el futuro.
El lider del proyecto debe tener:
Buena intuición para el diseño
No necesariamente originalidad.
Capacidad para reconocer las buenas ideas de los
demás.
Carisma, Facilidad de Comunicación
11. Conclusiones
El modelo de desarrollo Bazar es altamente ”rentable”,
incluso en el ambito empresarial.
El modelo Bazar ha servido de fuente de inspiración de
exitosos proyectos de software.
El modelo Bazar se basa en las mejores prácticas de la
Ingenieria de Software y prácticamente se ha convertido
en un estandar de facto.
El software libre es la manera correcta desde el punto de
vista ético, social y técnico de usar y producir software.
”Lo que no se comparte ... se pierde”