cómo gestionar con éxito un proyecto de software...
TRANSCRIPT
![Page 1: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/1.jpg)
Cómo gestionar con éxitoun proyecto de software libre
Manuel Palomo DuarteOficina Software Libre y
Conocimiento AbiertoUniversidad de Cádiz
![Page 2: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/2.jpg)
Índice
● Modelos de desarrollo de software libre● Tecnologías que dan soporte● Buenas prácticas● Emprender con software libre● Referencias
![Page 3: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/3.jpg)
© Hans Lohninger y Allie_Caulfield respectivamente
![Page 4: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/4.jpg)
Modelo de desarrollo “Catedral”
● Un grupo reducido de personas controlan el desarrollo
● Liberaciones de código en momentos concretos (cuando ellos deciden)
● Toma de decisiones muy centralizada● Difícil formar parte del núcleo
![Page 5: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/5.jpg)
© Ra Boe
![Page 6: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/6.jpg)
Modelo de desarrollo “Bazar”
● Modelo descentralizado● Todo el código está accesible en tiempo real● Decisiones más consensuadas● Más ojos mirando, más manos programando● Más asequible colaborar con el proyecto (pero
no fácil)
![Page 7: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/7.jpg)
¿Quien crea las definiciones de catedral y bazar?
![Page 8: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/8.jpg)
© RussNelson
● Definiciones creadas por Eric S. Raymond– “Open Source”
¿diferencia con SL?– Un testigo accidental– Cuidado que
dispara ...
Libro: La Catedral y el bazar (gratis digital)
![Page 9: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/9.jpg)
Lecciones de Raymond en CATB
Claves del funcionamiento del bazar
![Page 10: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/10.jpg)
Lecciones de Raymond en CATB
1. Todo buen trabajo de software comienza a partir de las necesidades personales del programador.
2. Los buenos programadores saben qué escribir. Los mejores, que reescribir (y reutilizar).
3. "Contemple desecharlo; de todos modos tendrá que hacerlo." (Fred Brooks, The Mythical ManMonth)
4. Si tienes la actitud adecuada, encontrarás problemas interesantes.
5. Cuando se pierde el interés en un programa, el último deber es heredarlo a un sucesor competente.
![Page 11: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/11.jpg)
Lecciones de Raymond en CATB
6. Tratar a los usuarios como colaboradores es la forma más apropiada de mejorar el código, y la más efectiva de depurarlo.
7. Libere rápido y a menudo, y escuche a sus clientes.
8. Dada una base suficiente de desarrolladores asistentes y betatesters, casi cualquier problema puede ser caracterizado rápidamente, y su solución ser obvia al menos para alguien.
9. Las estructuras de datos inteligentes y el código burdo funcionan mucho mejor que en el caso inverso.
![Page 12: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/12.jpg)
Lecciones de Raymond en CATB
10. Si usted trata a sus analistas (betatesters) como si fueran su recurso más valioso, ellos le responderán convirtiéndose en su recurso más valioso.
11. Lo más grande, después de tener buenas ideas, es reconocer las buenas ideas de sus usuarios. Esto último es a veces lo mejor.
12. Frecuentemente, las soluciones más innovadoras y espectaculares provienen de comprender que la concepción del problema era errónea.
![Page 13: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/13.jpg)
Lecciones de Raymond en CATB
13. "La perfección (en diseño) se alcanza no cuando ya no hay nada que agregar, sino cuando ya no hay algo que quitar."
14. Toda herramienta es útil empleándose de la forma prevista, pero una gran herramienta es la que se presta a ser utilizada de la manera menos esperada.
15. Cuándo se escribe software para una puerta de enlace de cualquier tipo, hay que tomar la precaución de alterar el flujo de datos lo menos posible, y ¡nunca eliminar información a menos que los receptores obliguen a hacerlo!
![Page 14: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/14.jpg)
Lecciones de Raymond en CATB
16. Cuando su lenguaje está lejos de un Turing completo, entonces el azúcar sintáctico puede ser su amigo.
– Equilibrio entre cercanía a lenguaje natural y tiempo de procesamiento en fich. de config. (quizás desfasado)
17. Un sistema de seguridad es tan seguro como secreto. Evite los secretos a medias.
18. Para resolver un problema interesante, comience por encontrar un problema que le resulte interesante.
19. Si el coordinador de desarrollo tiene un medio al menos tan bueno como lo es Internet, y sabe dirigir sin coerción, muchas cabezas serán, inevitablemente, mejor que una.
![Page 15: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/15.jpg)
¿Ejemplos de software libre desarrollado en catedral?
... ¿y bazar?
![Page 16: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/16.jpg)
Ejemplos de software libre
● Desarrollado en catedral:– Muchos de los programas de GNU: GNU Emacs,
gcc, tar
● Desarrollado en bazar:– El núcleo Linux
● ¿Cuántos hay de cada tipo?– ... ¿en Sourceforge.net?
![Page 17: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/17.jpg)
Desarrolladores por proyecto en SF.net (Herráiz, FLOSSMole)
>=654321
![Page 18: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/18.jpg)
Llega una amenaza ...
● Hay más bien pocos desarrolladores en los proyectos libres
● ¿Qué pasará si pagaran unas vacaciones a todos los desarrolladores de uno de ellos ... y el avión que los llevara sobrevolara el Triángulo de las Bermudas?
A statistical examination of the properties and evolution of libre software. Israel Herráiz (tesis)
![Page 19: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/19.jpg)
Herráiz
![Page 20: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/20.jpg)
Catedral ¿vs? bazar
![Page 21: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/21.jpg)
¿Modelos contrapuestos?
● Catedral puede ser adecuado para proyectos– De requisitos fijos: software “a medida”– De cierta complejidad: software de investigación– Con responsabilidad: plazos de entrega,
estándares de calidad, etc– Que necesiten asegurarse una rentabilidad antes
de liberar
● Se pierde el “genio” del bazar
![Page 22: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/22.jpg)
¿Modelos contrapuestos?
● Si me pongo yo y mi compadre a vender fruta en la calle (léase programar software libre “en equipo”) ...– ¿Es eso un bazar?– ¿Puede llegar a serlo?– ¿Cómo?
![Page 23: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/23.jpg)
De la catedral al bazar
● Evidentemente casi ningún proyecto empieza con muchos colaboradores ...
● ... pero la mayoría suele tener como objetivo conseguirlos ¿los consiguen?
● Existen estudios sobre el tema:– De la catedral al bazar: un estudio empírico del
ciclo de vida de los proyectos basados en comunidades de voluntarios. Andrea Capiluppi y Martin Michlmayr (Novática nº 190)
![Page 24: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/24.jpg)
Estudio de evolución
● Se estudiaron dos sistemas: Wine y el sistema de ficheros Arla– Análisis de los Changelog (no había información
SVN de toda la historia de los proyectos)
● Se miden, por cada mes– Input: desarrolladores distintos (sin repeticiones)– Output: módulos modificados– Input/Output: módulos en que trabajan los
desarrolladores que se han incorporado ese mes
![Page 25: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/25.jpg)
Estados
● Paso 1: catedral– Una persona tiene una idea “original” y desarrolla
con un equipo reducido
● Paso 2: transición– El sistema es estable y modular, pero tiene líneas
claras de ampliación
● Paso 3: bazar– Se crea comunidad. Se desarrolla en paralelo y el
número de revisiones aumenta
![Page 26: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/26.jpg)
Estudio de evolución
● Conclusiones:– Los desarrolladores nuevos quieren trabajar en
módulos nuevos– O lo que es lo mismo: “si quieres que se una gente
al proyecto señala líneas interesantes para que trabajen”
– No pasar a bazar no es un fracaso, pero sí una oportunidad perdida: la fase de transición es clave
![Page 27: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/27.jpg)
¿Por dónde empiezo?
● Estoy en una carrera de Ingeniería Informática y quiero empezar en esto ...– Aprende a leer y escribir inglés
– Echa una mano en un proyecto existente: Cómo colaborar en un proyecto libre como KDE. Pedro Jurado Maqueda, Actas JASL4
– Pero sobre todo ¿cómo se aprende a capar? ...
![Page 28: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/28.jpg)
Visibilidad del trabajo
● Vale, programo software libre en mi casa y lo subo a mi web
● Para darle visibilidad y buscar usuarios y colaboradores:– Mando correos a todos mis sufridos conocidos– En el Tuenti y el Facebook hago toda la publicidad
que puedo (arriesgando mi escaso karma)– Pongo trípticos en la coches aparcados en mi calle
● ¿Lo estoy haciendo bien?
![Page 29: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/29.jpg)
La Forja
● Es clave para el desarrollo de software bazar● Son sistemas web que proporcionan (gratis)
muchos recursos para trabajo colaborativo:– Repositorio de software– Foros, listas de correo, wikis– Web– Asignación de tareas y seguimiento de errores– Noticias RSS– ...
![Page 30: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/30.jpg)
Forjas más populares
● En inglés– Sourceforge– Freshmeat– GNU Savannah
● En español:– RedIRIS (Universidad e investigación española)– Guadalinex– Proyecto Morfeo
![Page 31: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/31.jpg)
![Page 32: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/32.jpg)
Programación colaborativa
● Bien, ya somos dos para programar.● ¿Cómo nos coordinamos?
– Nos mandamos unos ficheros .zip cada vez más grandes por las noches
– El que va a modificar la última versión del código le da un toque al móvil al otro, y así no hay modificamos el código fuente los dos a la vez
● Me da que esto no es escalable ...
![Page 33: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/33.jpg)
Programación colaborativa
● Existen sistemas para colaborar en el desarrollo de código:– Centralizados: sencillos, pero limitados (siempre
todo el código “definitivo” está en un servidor). Suelen valer para la mayoría de casos. Ej: SVN
– Distribuidos: complejos, pero muy potentes (roles, código distribuido). Suelen preferirlo los hardcore programmers. Ej: Git, Mercurial, Bazaar, etc
● Veremos SVN, el más extendido ...
![Page 34: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/34.jpg)
Programación colaborativa con SVN
● Permite a los desarrolladores trabajar en un proyecto común de manera:– Dispersa: en cualquier sitio con conexión a Internet– Asíncrona: a cualquier hora del día– Registrada: se registran todas las aportaciones– Pública: cualquier persona puede ver su trabajo
● Existen herramientas de análisis de SVN– StatSVN: perfiles de programadores y grupos
![Page 35: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/35.jpg)
Colaboración con SVN
Repositoriocentralizado
CopiaModif 1
Usuario1
CopiaModif 2
Usuario2
(1)Aportación(“commit”)
(2)Aportación(“commit”)
(3)Cambiosfundidos
(3)Cambiosfundidos
![Page 36: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/36.jpg)
![Page 37: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/37.jpg)
![Page 38: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/38.jpg)
![Page 39: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/39.jpg)
![Page 40: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/40.jpg)
![Page 41: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/41.jpg)
![Page 42: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/42.jpg)
![Page 43: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/43.jpg)
Atrae a la gente
● Actividades fáciles– Gnome Love
● Forma desarrolladores– Proyecto de tutorización OO.org
● La gente quiere hacer tareas nuevas– A nadie le gusta ordenar las chapuzas de otros ...
![Page 44: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/44.jpg)
Analiza
● Se muy crítico con tu trabajo– StatSVN– Ve por las metodologías mejores, siempre que
existan tecnologías que las soporten
![Page 45: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/45.jpg)
Hazte ver
● Forja + web● Genera noticias y publícalas en RSS● Acuerdos con asociaciones, otros
desarrolladores, etc● Asiste a conferencias y eventos
![Page 46: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/46.jpg)
Que trabaje el ordenador
● Intenta automatizar todo lo que puedas– SVN– Doxygen
● Ejemplo del campo de conocimiento abierto: bots de Wikipedia
![Page 47: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/47.jpg)
SL para todos
● Empaquetado– .DEB, .RPM
● ¿Es difícil? => busca aliados– Gente con experiencia e interés en ello– En Andalucía tenemos a la gente de Guadalinex:
compromiso de integrar aplicaciones bien hechas en Guadalinex. Y, si merecen la pena, intentar promocionarlas a Ubuntu
![Page 48: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/48.jpg)
Evolución
● Correctiva– Haz mucho caso a los informes de errores que te
lleguen– Es importante priorizarlos bien
● Evolutiva– Ten siempre actualizada la lista de funciones
deseables para tu sistema en el futuro
![Page 49: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/49.jpg)
Define tu impacto
● No es complicado internacionalizar una aplicación– Ficheros i18– Se puede conseguir muchísima colaboración.
Ejemplo: SMB Web Client, Victor M. Varela
● ¡Por favor, inglés de tu pueblo NO!
![Page 50: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/50.jpg)
Buena imagen
● Página atractiva– Si es posible sin publicidad– Capturas de pantalla o screencast– Manuales de instalación
● White papers● Casos de éxito● Referencias
![Page 51: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/51.jpg)
Normas
● Establece normas de codificación– Que sean fáciles de usar– Que tengan soporte de programas
● Intenta seguir normas establecidas:– Debian Policy– Free Desktop
![Page 52: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/52.jpg)
Estándares abiertos
● No discriminación– Futuro
● La ley a nuestro favor– También los “maqueros”, etc
● ¿Creéis que esto da para vivir?– Opentia
![Page 53: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/53.jpg)
Compórtate según las reglas
● Raymond (Noosfera): “propiedad del sistema”– Lee mucho en la lista de correo antes de escribir– Estructura meritocrática: “Cultura de los regalos”
● Cuanto más des, mejor serás
– A todos nos gusta que nos alaguen– No distribuyas parches por tu cuenta, intenta que
se acepten oficialmente– Crear un fork no gusta
![Page 54: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/54.jpg)
Propiedad de un proyecto
● El software libre no tiene dueño ... pero los proyectos sí.
● El dueño es:– Quien ha creado el proyecto– Aquel que ha recibido “los poderes” del creador
(anunciándolo públicamente)– Si el proyecto está abandonado, intenta contactar
con el dueño y, si no puedes, anuncia públicamente tu intención de adueñarte de él
![Page 55: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/55.jpg)
¿Por qué hacer software libre?
● Mide bien tu motivación:– Aprobar una asignatura– Poner mi granito de arena para devolver parte de lo
recibido– Pagar la hipoteca
● Cuantifica tu posible esfuerzo en tiempo (e intenta prever tu rendimiento)
● Ponte un calendario
![Page 56: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/56.jpg)
Pagar la hipoteca con SL
● Modelos de negocio (Caldero mágico, Raymond)
● Trabajar por cuenta ajena● Universidad Investigación● Emprender
![Page 57: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/57.jpg)
Modelos de negocio con SL propuestos por Raymond
● Compartir costes (ej: Apache)– Ninguna empresa costea todo su desarrollo
● Extender el riesgo (ej: colas de impresión remotas Cisco)– Si sólo yo uso un software y se deja de mantener
(porque los desarrolladores me abandonan) es costoso para mi.
– Si lo usan más empresas habrá más interés en que siga manteniéndose
![Page 58: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/58.jpg)
Modelos de negocio con SL propuestos por Raymond
● Liberar parte del software (C/S, instalador, ...)● Si vendes hardware, que programen por ti● Coloca a tu producto como líder y cobra por
servicios (ejemplo MySQL)● Venta de accesorios (manuales, gadgets, etc)● Ahora vende, en el futuro libera (ej Ghostscript)● Libera software, vende certificaciones● Libero el software, vendo datos que consume
![Page 59: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/59.jpg)
Trabajar por cuenta ajena
● Colabora con algún proyecto libre● Ve a congresos y ferias de software libre con
un montón de currículums y habla con la gente– Lo mejor de tu currículum es que puedes demostrar
lo que has hecho
● Si no eres muy malo tienes trabajo seguro
![Page 60: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/60.jpg)
Universidad Investigación
● A día de hoy el camino para entrar en la Universidad es la investigación
● Hay grupo de investigación que usan software libre y están deseando tener gente competente:– Grupo LibreSoft (Univ. Rey Juan Carlos)– Geneura (Univ. de Granada)– Grupo SPI&FM (Univ. de Cádiz)– ...
![Page 61: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/61.jpg)
Emprender con software libre
● Busca apoyo de expertos:– Asociaciones de empresarios / emprendedores– Cámaras de Comercio– Institutos de fomento, crédito, etc– Gobiernos locales, regionales, nacionales
● ¡Cuidado con los plazos y las promesas!
– Viveros de empresa
![Page 62: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/62.jpg)
Emprender con software libre
● Busca apoyo de “los de software libre”– Andalibre
● Asociación de empresas de software libre de Andalucía● Se consigue visibilidad
– ASOLIF● Asociación de empresas de software libre de España● Se hace fuerza
![Page 63: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/63.jpg)
Emprender con software libre
● Analiza quien es tu público objetivo– Número– Ingresos– Rendimiento que sacan a las TIC– Futuro– ...
● Ejemplo: ACL2 ...
![Page 64: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/64.jpg)
Emprender con software libre
● Busca quien es tu cliente y ve a por él● Hay que estar al nivel del cliente. Por ejemplo,
no es lo mismo vender a:– Carpintería metálica– Abogados– Habla, viste como ellos. Está donde ellos.
![Page 65: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/65.jpg)
Emprender con software libre
● Ofrece al cliente “lo que quiere”:– Software + asesoría– Precio final– Normalmente no quiere “ética” ...– Formación (rendimiento, trabajo de calidad)– Asesoría
![Page 66: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/66.jpg)
Emprender con software libre
● Aprovecha tu entorno al máximo– Entorno personal
● Amigos, familiares, etc. Que todos sepas que tienes una empresa
– Universidad: ● Concurso Universitario de Software Libre● Spin off
![Page 67: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/67.jpg)
Evita problemas
● Usa correctamente las licencias– Entiende sus implicaciones– Selecciona una adecuada– Una licencia libre es una cesión de derechos
mínimos (si quieren más que contacten contigo)– ¿Qué pasa si no pongo el mensaje completo ...?
● ¿Cómo demuestras que tu código es tuyo?● No dudes en liberar.
– Ej. “Introducción informal ...”
![Page 68: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/68.jpg)
Certificaciones
● El software libre necesita certificaciones ... que pueden abrir vías de negocio
● Por ejemplo: – Demostrar que tal software pasa un conjunto de
pruebas– Comprometerte a ofrecer un servicio determinado
sobre el código
● Ejemplo: banco ING en Rusia
![Page 69: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/69.jpg)
Para callar bocas ...
● The economic impact of OSS on innovation and the competitiveness of the ICT sector in Europe– MERIT at the University of Maastricht
● Estudio económico encargado por la Unión Europea (EU) ¿cómo ser competitivos en TIC?– Única alternativa: software libre
![Page 70: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/70.jpg)
Para callar más bocas ...
● Empresas que usan Linux:– IBM, Oracle, HP, etc
● Linux está en más del 90% de los equipos del “TOP 500” de ordenadores más potentes del mundo
● Linux ha llegado a Marte
![Page 71: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/71.jpg)
Bibliografía básica
● La catedral y el bazar. Eric S. Raymond (libro completo, no sólo el ensayo homónimo)
● Novática nº 190 especial “Software libre: investigación y desarrollo”. Varios
● A statistical examination of the properties and evolution of libre software. Israel Herráiz (tesis)
● Cómo colaborar en un proyecto libre como KDE. Pedro Jurado Maqueda, Actas JASL4
![Page 72: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/72.jpg)
Bibliografía adicional
● Software Libre para una sociedad libre, Richard Stallman
● El Código 2.0. Lawrence Lessig● Free for all (La ofensiva del software libre).
Peter Wayner● Sobre software libre. J.M. G. Barahona y otros● Understanding Open Source and Free Software
Licensing. Laurent (O'Reilly Open books)
![Page 73: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/73.jpg)
Gracias por vuestra atención
¿Preguntas?
Con 20 años Bill Gates había hecho más por el software privativo que TÚ por el libre hasta hoy
![Page 74: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/74.jpg)
© Manuel Palomo Duarte, 2009
Disponible bajo licencia Creative Commons AttributionShare Alike 3.0
![Page 75: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/75.jpg)
La Batalla del Guadalete
Versión 0.1 (modo texto)
© Manuel Palomo, 2007
“Si mi madre me hubiera visto con 8 tíos más gritando y saltando delante de una pantalla negra con letritas se moría del disgusto”
![Page 76: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/76.jpg)
La Batalla del Guadalete
Versión 0.1.1 (modo texto + gráfico)
© Manuel Palomo, Roberto García, 2008
Alumno colaborador
![Page 77: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/77.jpg)
La Batalla del Guadalete
Versión 1.0 Reconquista
(aplic. gráfica interact.)
© Manuel Palomo, Roberto García, Jesús Soriano, 2009 (PFC)
![Page 78: Cómo gestionar con éxito un proyecto de software libreservicio.uca.es/softwarelibre/activi2009/exitoProyLibre.pdf · "La perfección (en diseño) se alcanza no cuando ya no hay](https://reader035.vdocuments.site/reader035/viewer/2022070613/5bb139aa09d3f281368cc85a/html5/thumbnails/78.jpg)
La Batalla del Guadalete
Versión 2.0 Resistencia en Cádiz: 1812 © Pablo Recio
Reingeniería a fondo, recodificación en Python