Software

30 años de GNU: La historia e influencia del Software Libre

Tres décadas de software libre, código abierto y comunidad.

El proyecto GNU ha cumplido 30 años, tres décadas desde que Richard Stallman anunciara su proyecto para construir un sistema operativo “tipo Unix” desarrollado de forma abierta, distribuido libremente y con el compromiso de seguir evolucionando en las mismas condiciones. En retrospectiva parece el inicio de una gran revolución, pero para los más viejos era simplemente volver a los tiempos del inicio del software, cuando compartir no solamente era bueno, sino que también era absolutamente necesario para poder desarrollar la informática mas allá del laboratorio.

Hablar de GNU sin disgustar a los más puristas puede ser algo complicado, ya que el proyecto GNU por si solo no explica 30 años de historia, o al menos no lo hace para la mayoría de la gente. El proyecto GNU no sólo requirió aliados como Linus Torvalds y su Linux para resistir el paso del tiempo, sino que también del apoyo de grandes empresas dispuestas a apostar por un modelo de desarrollo diferente. Es por eso que es imposible entender la importancia de GNU sin mencionar las fuerzas que ayudaron a complementarlo.

Me tomaré la libertad de hablar indistintamente de Software Libre y Código Abierto (Open Source). Los puristas pueden dejar de leer en este párrafo, para el resto los invito a entender el Software Libre o de Código Abierto como aquel cuyo código es visible y modificable por quien quiera hacerlo, aquel software que se puede regalar o vender libremente, aquel software que permite construir en conjunto lo que nos interesa a todos, y construir sobre él lo que le interesa a cada uno en particular. Hacer una distinción entre ambos a estas alturas es hilar fino, o como bien dijo Miguel de Icaza, discutir si somos parte del Grupo de Liberación de Palestina o del Grupo Palestino de Liberación.

De la segregación a la integración

Hace unos 15 años, el mundo de la informática parecía estar dividido respecto al Software Libre al menos en dos bandos, unos que decían que todo el software debía ser libre, mientras que otros lo veían como una moda destinada a desaparecer. Hoy con las aguas algo más quietas podemos mirar hacia atrás y reír de esos tiempos en que nos volvimos locos cada uno con su bandera. A diferencia del fin de la guerra fría que fue marcado claramente por la caída del Muro de Berlín, la lucha entre el software libre y el software privativo fue aquietándose lentamente y fueron muchos los eventos que nos llevaron a donde estamos hoy en día.

Hoy vivimos en un mundo en que tecnologías libres y privativas colaboran, en donde prácticamente ningún usuario puede pasar un día sin usar software libre, ya sea con un flamante equipo Apple en su escritorio, o usando la distribución más exótica de Linux (o FreeBSD si prefieren). Tampoco pueden escapar los usuarios de teléfonos móviles, ni con la manzanita ni con el robotito, y algo similar pasa en los tablets, televisores, routers o cualquier otro aparato que requiera software para funcionar.

El software libre dejó hace mucho tiempo de ser una preferencia personal, simplemente es muy difícil ser productivo sin recurrir al software que se ha creado colaborativamente, de eso no se escapa hoy ninguna empresa que quiera sobrevivir en el mercado, desde la más modesta startup hasta gigantes como Oracle o Apple.

Al grano, por favor

Sin más preámbulo y antes de que se queden dormidos, aquí va a modo de conmemoración un recuento de los eventos que han marcado la historia de GNU y sus proyectos relacionados.

  1. 1983 : Richard Stallman anuncia en Usenet la creación del proyecto GNU.
  2. 1984 : Se crea el X Window System, la piedra fundacional de las interfaces gráficas para Unix, utilizando una licencia de código abierto y dirigido por una organización independiente. Su naturaleza abierta ayuda a que sea aceptado como un sistema gráfico estándar por los fabricantes de la época, al pasar los años necesitará un remezón que lo sacará de su estancamiento para convertirse en un sistema gráfico revolucionario.
  3. 1985 : Richard Stallman crea la Free Software Foundation. Es aquí donde se estudian y definen las licencias de software que sirvieron de base para garantizar la libertad del software creado como Software Libre de aquí en adelante. Su licencia más famosa, la General Public License o GPL.
  4. 1987 : Stallman y otros colaboradores crean GCC o GNU Compiler Collection, la herramienta de compilación por excelencia de los proyectos de código abierto, usada hasta el día de hoy en alguna de sus encarnaciones.
  1. 1991 : Linus Torvalds publica la primera versión de Linux, el componente que le faltaba al proyecto GNU: Un kernel. A partir de este momento se desencadena la famosa “dominación mundial” del código abierto.
  2. 1994 : Rasmus Lerdorf crea el lenguaje PHP, inicialmente llamado Personal Home Page Tools. Permitió que la creación de páginas web se democratizara, ayudando a que un programador promedio fuera capaz de trabajar a gusto con estas tecnologías. Parafraseando al mismísimo Rasmus: Si fuera un requisito ser experto en el lenguaje C o Perl para crear páginas dinámicas, hoy la web sería muy distinta.
  3. 1995: La empresa sueca MySQL AB crea la base de datos MySQL. Eliminando características que son utlizadas sólo por algunas aplicaciones, crean una base de datos simple, liviana y fácil de usar que se convierte rápidamente en el motor de miles de sitios web.
  4. 1995: Se crea el servidor web Apache. Junto a Linux, MySQL y PHP causaron una explosión de nuevos sitios web, creándose la mítica combinación LAMP (Linux/Apache/MySQL/PHP). Desde su lanzamiento, Apache ha sido el servidor web más utilizado en el mundo, tanto respecto al total de servidores activos como al grupo de los sitios web más importantes del mundo. Sin LAMP probablemente a Mark Zuckerberg se le hubiese hecho más difícil crear Facebook.
  5. 1995: Sergey Brin y Larry Page comienzan a trabajar en lo que hoy conocemos como Google. En vez de utilizar grandes y caros computadores con un Unix propietario deciden distribuir todo el procesamiento en miles de equipos pequeños con Linux (el año 2000 eran 6.000 equipos con Red Hat Linux).
  6. 1995: Amazon.com vende su primer libro. La empresa se convierte rápidamente en la tienda online más grande del mundo, y al mismo tiempo, la base de datos más grande del mundo, migrando completamente a Linux el año 2005 con el apoyo de Oracle. Hoy en día no solamente venden libros, música y otros “tangibles” sino que también convirtieron en realidad lo que hoy conocemos como computación en la nube, permitiendo que cualquier persona pudiera comprar o arrendar poder computacional sin necesidad de preocuparse de un datacenter.
  7. 1996: Matthias Ettrich funda el proyecto KDE. Se trata de un esfuerzo para estandarizar la forma en que se ven y se comportan las aplicaciones gráficas en sistemas operativos basados en Unix (Linux, FreeBSD y otros). El concepto luego fue conocido como “entorno de escritorio”. KDE es el puntapié inicial al refinamiento de las interfaces gráficas de los sistemas de código abierto, eliminando el caos y simplificando la forma en que se crean y usan las aplicaciones. Sin que sea su propósito el proyecto entrega la base para lo que se convertirá en el fin del reinado de Internet Explorer (ver Webkit).
  8. 1997: Motivados por las restricciones de licencia de KDE, Miguel de Icaza y Federico Mena crean el proyecto GNOME. Se trata de un entorno de escritorio completamente libre que ayudará a la rápida adopción de Linux y otros sistemas en base al uso de una interfaz gráfica. GNOME ayuda a establecer los estándares que hasta el día de hoy son parte de los sistemas de escritorio basados en software libre.
  1. 1997: Id Software libera el código fuente de Doom. Si bien se libera el código cuando ya no es relevante (Quake II es de 1997), este evento marca el inicio de lo que se convertirá en una tradición para Id Software. Al liberar el código de sus juegos Id Software logró que los desarrolladores novatos pudieran aprender de estas verdaderas joyas, y al mismo tiempo convirtió a estos juegos en “eternos”. Durante los años, el legado de Id Software ha sido mejorado y mantenido por desarrolladores independientes que han resuelto los problemas dados por el paso del tiempo, resolviendo incompatibilidades, agregando nuevas características y adecuando el código para aprovechar el hardware moderno. Para los interesados en el tema les dejo este link a un blog de análisis de código de Quake y otros. De nada.
  2. 1998: Gartner Group refiriéndose a sistemas de código abierto declara que “estos sistemas operativos no serán usados en aplicaciones comerciales de la industria en los próximos 3 años, ni tendrán soporte de aplicaciones de terceros”.
  3. 1998: Netscape da por perdida la batalla de los navegadores y decide publicar el código fuente de Netscape Navigator, creando el proyecto Mozilla. Se trata de una de las liberaciones de código más importantes. Aunque Mozilla queda relegado a un nicho por varios años, volverá a la batalla con el navegador Firefox años después.  Esta historia contada por sus propios protagonistas se puede ver en el documental Code Rush.
  4. 1999: VA Linux sale a la bolsa de valores, generando la apertura más espectacular a la fecha. Las acciones salieron a la venta en USD$30 llegando a un peak de USD$320 para terminar en USD$250 al final de la jornada. Si bien es un hecho que llama la atención, hay que recordar que se da en el contexto de la burbuja puntocom, cuando las apuestas eran muy altas pero no se sabía exactamente cual era el sustento tras ellas. La emoción del momento se puede revivir en el reporte de CNBC (segmento del documental Revolution OS).
  1. 2001: Apple crea Webkit a partir del código de KHTML (KDE). Webkit hoy es el motor de render HTML más utilizado en el mundo, no solamente por medio de los productos de Apple, sino que también a través de Android y Google Chrome en los escritorios. La masificación de los equipos móviles con WebKit hizo que los desarrolladores de sitios y aplicaciones web dejaran de utilizar la excusa de “funciona en Internet Explorer, el que usan todos”. Webkit y su masificación ayudaron a empujar no solo la evolución y la estandarización de la web, sino que también forzaron a la competencia a retomar esfuerzos y mejorar considerablemente la tecnología detrás de los navegadores web.
  2. 2001: Nace Wikipedia. Si bien no se trata de un software propiamente tal, Wikipedia logra su éxito usando como base fundacional los conceptos del Software Libre respecto a su apertura, libre distribución y evolución en base al refinamiento del conocimiento experto. Por lo mismo, no es de extrañar que el software que potencia Wikipedia – llamado Wikimedia – también sea abierto.
  3. 2001: IBM declara que invertirá USD$1 billón en Linux. Si bien para el usuario normal puede parecer un simple evento de negocio, las consecuencias de este hecho son dramáticas. Conocido es el hecho de que “a ningún gerente lo despedirían por escoger IBM”, y el espaldarazo de IBM al sistema de código abierto hizo que justamente los gerentes perdieran el miedo de contar con Linux en sus datacenters.
  4. 2003: Oracle, el fabricante de base de datos más grande del mundo anuncia Unbreakable Linux, una iniciativa para ayudar a la adopción de Linux como sistema operativo de su base de datos en sistemas de misión crítica. A la larga el apoyo de Oracle (e IBM) fue lo que hizo desaparecer a Unix, transformándolo en un sistema irrelevante para la gran mayoría de las empresas. No es por nada que SCO, una de las empresas que basaban su negocio en vender Unix demandara a IBM tratando de declarar ilegal a Linux. Demanda que hoy se recuerda como uno de los grandes fiascos de la industria.
  1. 2004: Se libera la primera versión del navegador Mozilla Firefox. Se puede decir que este navegador surgió de las cenizas de Netscape Navigator, demostrando que se podía construir como Software Libre un navegador liviano, potente, con características innovadoras, de rápida evolución y por sobre todas las anteriores: Seguro. Si bien no logró destronar por si sólo al estancado Internet Explorer, hizo que mucha gente perdiera el miedo de usar otro navegador y fue el primer empujón que hizo tambalear al navegador de Microsoft.
  2. 2004: Se libera la primera versión de Ubuntu Linux. Aunque no es el primer esfuerzo serio de acercar el sistema operativo de código abierto al usuario medio (recordemos Mandrake), es el primero que tiene un éxito indiscutido. Basado en Debian, la distribución más completa de Linux, se convierte rápidamente en el favorito de los nuevos usuarios, eliminando las dificultades que muchos usuarios encontraban al instalar y usar este sistema operativo. Es tanto su dominio que muchos usuarios nuevos hablan simplemente de Ubuntu y no de Ubuntu Linux. Canonical, la empresa detrás de Linux fue fundada por Mark Shuttleworth – quien se hizo millonario gracias a Linux – partió como una especie de agradecimiento a la comunidad del código abierto y hoy en día se prepara para extender su dominio a los teléfonos y tablets a través de una versión unificada de Ubuntu.
  3. 2006: Nicolás Negroponte crea el proyecto Un computador por niño (One Laptop Per Child/OLPC). Se trataba de un computador de bajo costo basado en Software Libre. La idea era entregar un computador a niños en países en vías de desarrollo como apoyo a la educación al mínimo costo posible. Independiente del éxito de la iniciativa, el proyecto hizo evidente que había interés por equipos más baratos y más portátiles que pudieran realizar tareas simples pero enriquecedoras, dando origen a la revolución de los netbooks y como segunda derivada, la revolución de los tablets y el establecimiento de la era post-pc.
  4. 2006: Dave Reveman publica XGL, la primera implementación que lleva al hardware actual los conceptos propuestos por Jim Gettys y Keith Packard en el 2004 para reformular el sistema gráfico de Linux, esfuerzo inspirado en la tecnología Quartz Extreme de Apple. Con XGL se comenzó a usar la aceleración de hardware 3D para dibujar la interfaz gráfica, marcando el punto de inflexión entre el estancado sistema gráfico X Window System y los nuevos entornos de escritorio. XGL y su famoso cubo no sólo fascinó a los usuarios de Linux sino que también hizo que muchos se interesaran a tener “el cubo”. Como contexto, Microsoft publica Windows Vista el año siguiente, aplicando técnicas similares.
  1. 2007: 95% de los escritorios y servidores usados para crear efectos especiales y animaciones en Hollywood están basados en Linux. Éxitos como Shrek, The Matrix y Titanic estuvieron entre las primeras películas creadas sobre sistemas basados en Linux, un esquema que terminó arrastrando a todo Hollywood.
  2. 2008: Samsung lanza su primer televisor basado en Linux. Se trata de una serie de televisores utilizando Linux como sistema operativo. Hoy día los principales fabricantes de televisores conectados a Internet (SmartTV) utilizan Linux como sistema operativo, ya sea utilizando su propia plataforma o a través de Google TV, el derivado de Android orientado a televisión.
  3. 2008: Google lanza el primer teléfono con sistema operativo Android. Basado en Linux y otros componentes de código abierto, Android se convierte rápidamente en el sistema operativo de preferencia de los fabricantes de equipos móviles, permitiéndoles enfocarse en el hardware para desarrollar teléfonos con un ecosistema de miles de aplicaciones compatibles.
  4. 2013: Valve, una de las plataformas de distribución de videojuegos más grande del mundo anuncia que concentrará sus esfuerzos en Linux, y anuncia un sistema operativo derivado llamado SteamOS. Como consecuencia natural se espera que este evento marque el compromiso definitivo de los principales fabricantes de tarjetas de video con el sistema operativo de código abierto por excelencia.

Como podrán ver, estos 30 años han sido marcados fuertemente por la influencia de GNU y la definición del Software Libre. Si eliminamos todos los eventos descritos en este artículo tendríamos una mundo completamente diferente. La importancia de GNU no es sólo una declaración, son hechos indiscutibles que en el día a día pueden pasar inadvertidos, porque nos hemos acostumbrado a que las cosas funcionen.

Espero que este artículo ayude a dar un reconocimiento a los miles de desarrolladores que han ayudado a construir la tecnología que tanto nos gusta usar.

Cierro con esta cita de Steve Ballmer, en el año 2006.

No se trata de Software Libre, sino de comunidad. No es como Novell, no se van a quedar sin dinero, ya que en cierto sentido, partieron en la bancarrota.

Tags

Lo Último


Te recomendamos