El otro dia tomando unas cañas con Futur3 acabamos hablando de un tema interesante.
Cómo gestionar un proyecto de software libre? Es algo que parece trivial pero si piensas en ello es muy parecido a la política.

La guerra de siempre fue entre Windows, Linux y MAC. Pero ultimamente hay más sistemas operativos en el campo de batalla…
Todo vino por el “pique” que tiene Linus Torvalds con Open Solaris y por la entrevista a Alvaro Lopez Ortega, creador del Servidor Web Cherokee que hicieron en El Geek Errante, en la que le preguntaron por su opinión al respecto.
Según dijo Linus:
It’s generally hard to build a community around a commercial entity that also wants to be in control because everybody else around that commercial entity will always feel like they’re at the mercy of Sun. And I’m not even going to go into Open Solaris because, quite frankly, I don’t even care.”
O más escueto:
“Open Solaris is a joke“.
Parece que a Linus y a la Linux Foundation no le ha sentado muy bien la aparición de Open Solaris. Por un lado es comprensible ya que una gran empresa está detrás… creen que es más parecido a una catedral que a un bazar.
Por otro lado que Solaris sea libre es algo bueno aunque sea competencia directa de Linux. Cuanta más competencia mejor.
Lo que está claro es que la guerra Linux-Windows en servidores tiene un nuevo competidor: Open Solaris.
Futur3 defendía que Open Solaris es un proyecto donde los líderes se eligen democráticamente mientras que Linux tiene un dictador (Linus Torvalds) que cada vez está más alejado del código.
Así que acabamos hablando como gestionar un proyecto de software libre.
¿Cómo gestionar un proyecto de software libre?
- Aproximación tipo Linux (Dictador Benevolente de por vida BDFL)
Si un proyecto comienza desde cero lo normal es que comience como una dictadura donde el desarrollador principal valide y decida el código fuente que se sube al proyecto. Esta es la historia de Linux y de otros muchos , que comenzó el proyecto desde cero con Linus Torvalds como dictador benevolente.
Cuando el dictador es bueno (recomiendo leer sobre Cincinato ) el sistema funciona. Pero si se aleja de todo o si la gente empieza a no estar a gusto con su forma de decidir pueden surgir problemas. Por ejemplo Linus marginó ReiserFs en favor de ext3.
Aún así siempre se puede hacer un fork del proyecto. En el Kernel del Linux han habido forks de Alan Cox que no han durado demasiadas versiones. De hecho cuando hablamos de Linux en este post hablamos del Kernel del Linux… porque en distribuciones los forks han sido permanentes con las ventajas e inconvenientes de las múltiples distribuciones existentes.
La idea de Dictador Benevolente de por vida está asociada a Guido van Rossum, creador de Python ( y actual jefe de desarrollo de Google.. por cierto en Google le dejan el 50% del tiempo para mantener Python ), aunque hay muchos más como Larry Wall (Perl) y Linus Torvalds (Linux).
- Aproximación tipo Open Solaris (Elecciones):
Open Solaris en cambio es distinto. El código fuente existía ya en estado muy avanzado. Los líderes del proyecto son elegidos democráticamente por una votación entre los miembros de la comunidad. Esto tiene sus ventajas (si el BDFL deja de tener razón se le puede cambiar) pero también sus inconvenientes (quien tiene derecho a votar? bajo que criterio? quien puede ser elegido? Y si alguien gana por su popularidad pese a ser técnicamente malo?)
Al ser código libre comparte la ventaja de que siempre que alguien quiera puede hacer un fork del proyecto.
Preguntas:
- Cual es el mejor método de gestionar un proyecto libre grande?
- Y tu propio proyecto personal según crece?
- Está Linus perdiendo el norte? Está Linux perdiendo la batalla?
- Acabarán ciertas bases del GNU/Unix (Perl, Linux, Apache, Sendmail) muriendo en favor de otros proyectos(Pythom/Ruby, Open Solaris, Cherokee, Qmail)?

(Pulsa para ampliar)