Inicialmente cualquier programa o parte de el al menos nace como Software Libre, justo en el momento de la redistribución de ese programa es donde se convierte en privativo o no, si un programa se libera en la modalidad de Software Libre y se redistribuye con una licencia que garantice todas las libertades sobre no garantiza en ningún modo que dicho programa sea un éxito comercial, que sea un programa popular o que sea un programa de uso masivo.
Si existen más de 100 mil aplicaciones de Software Libre en sitios como sourceforge.net, googlecode, github entonces por que siempre terminamos usando unas mil aplicaciones?, siendo que 1000 aplicaciones es lo que tienen aproximadamente una instalación estándar y funcional de GNU/Linux, es decir más o menos el 1% de esas 100000.
Entonces por que existen tantas? Bueno así es el Software Libre en donde hay variedad, cada quien considera que su aplicación satisface sus propias necesidades y cuando esas necesidades son un común, bingo! tenemos una aplicación exitosa. Se podrían considerar esas 1000 aplicaciones las ganadoras del proceso evolutivo de selección natural del Software Libre, son aquellas aplicaciones que tienen como características:
- Fueron creadas en un momento crucial para resolver una necesidad de mucha gente por lo cual su adopción fue masiva e inmediata.
- Su código fuente fue muy legible, sencillo, bien documentado y facilito que muchos otros desarrolladores se sumaran a contribuir al proyecto.
- Usaron algún lenguaje de programación popular con lo cual la captación de colaboradores fue sencilla.
- Fueron aplicaciones sencillas que resolvieron un problema especifico, cumpliendo la filosofía unix de hacer sistemas complejos a partir de pequeñas piezas no necesariamente del mismo proyecto ( reusar código).
- Tuvieron arquitecturas robustas, bien sea por que fueron bien planificadas desde el principio o por mera coincidencia.
- Tuvieron excelente documentación.
- Fueron basadas en estándares lo que garantizo la interoperabilidad con otras aplicaciones.
Y es que siempre la parte más difícil de hacer un programa y liberarlo es hacer que sea legible por otros y documentarlo bien para que a cualquiera le sea sencillo usarlo, gran parte del éxito de una aplicación viene dado por estos factores y cualquier aplicación que no siga estos puntos esta tendiendo a morir o a agonizar durante mucho tiempo.
Basadas en las características de arriba voy a dar algunos ejemplos de proyectos de Software Libre exitosos, sin un orden especifico:
- El kernel Linux, fue un proyecto que nació en un momento particular en donde no existía ningún kernel GNU funcional ( existía hurd pero no era funcional ), su arquitectura permitió que mucha gente contribuyera, ya el momento del kernel pasó si quisieras hacer uno posiblemente no tendría el mismo impacto.
- El framework para desarrollo php Symfony, este framework nació en el momento en que los frameworks para php estaban naciendo y se popularizo por encima de otros debido a su excelente documentación y al esfuerzo de su comunidad en documentar todo lo posible ( mayor comunidad, mayor documentación).
- WordPress, el popular motor de blogs, está hecho en php, pese a que existen posiblemente lenguajes de programación más eficientes, rápidos y seguros, es hoy en día referencia tal vez debido a su sencillez, al haber usado un lenguaje de programación, muy popular y que es una pieza de Software modular lo que permite que cualquiera pueda hacer plugins y redistribuirlos de forma sencilla.
- El navegador web Firefox, nació a partir de netscape que era de software privativo en un momento donde no habían buenas alternativas libres de navegador, era bastante robusto en el momento de nacer.
- El escritorio Gnome, este nació como alternativa completamente libre para GNU/Linux en un momento donde kde no tenía bien definido el modelo de licenciamiento de sus librerías qt en el cual se basaba, fue hecho con las librerías gtk provistas por el proyecto Gimp, la principal característica de este escritorio es el de proveer una interfase completamente simple al usuario.\
Fuente del gráfico: http://www.digibarn.com/collections/posters/tongues/
Conoces algún ejemplo más? quieres aportar alguna opinión a este post? hazlo en los comentarios.
Macho que se respeta no usa WordPress usa NanoBlogger!
Excelente post, me gusto mucho, totalmente recomendado
Tienes mucha razon…muy buena reseña..
gnome no es nada sencillo, mas bien es limitado.. kde no solo no fue el escritorio solo por su licencia dependiente, sino porque su enfoque era el de un usuario UNIX puro, mientras que GNOME (tal cual como el jalamedias de ikasa) esta viviendo (y cada dia mas) a la sombra de windows!!
veo que este post esta de lujo, interesante, por demas de crudo y retrata la realidad no solo de un software libre, sino de cualquier software.. por ende el tema de licencias es solo un agregado..
un ejemplo que yo mismo vi de aqui es el proyecto mupen64plus, que es algo parecido al firefox, surgio de la continuacion de mupen64, suplio la carencia de una version para 64bits y asi despego con usuarios jovenes… algo que evidencia lo que dice aqui este post..