El origen del Software Libre

Created on Sunday, 04 November 2007 Last Updated on Wednesday, 22 January 2014 Published on Sunday, 04 November 2007 Written by Orlando Jorge Franco Murillo, Evelio Martínez Martínez
Publicado en la revista RED, edición de Octubre de 2007

El software Libre tiene como finalidad de que nadie, absolutamente nadie, se apropie de la propiedad intelectual de éste. Es decir, el software libre no pertenece a nadie, pertenece a todos los que lo desarrollan y a los que lo utilizan, y todos pueden contribuir para mejorarlo. Evelio Martínez.

Introducción
Últimamente en el mundo de la computación se ha escuchado con regularidad el término Software Libre. Más que un movimiento liberador del software, es una filosofía de compartir aquello que nos es útil, en este caso el código fuente o programas de cómputo. Estas aplicaciones o piezas de software nos facilitan una serie de actividades en nuestra computadora sin pagar algún costo por utilizarlas.

Hoy en día disponemos de una gran variedad de opciones en cuanto a software se refiere. Podemos emplear programas comerciales que nos facilitan el realizar tareas como escribir una carta, editar alguna fotografía o enviar un correo electrónico. Sin embargo ¿Qué ocurre cuando queremos compartir ese mismo software con algún amigo?, ¿Qué pasa si queremos modificarlo o pagar para que alguien más lo modifique por nosotros con el fin de adaptarlo a nuestras necesidades? Simplemente no es posible, por que no tenemos acceso al código fuente; y si distribuimos dicho software sin el permiso del autor (o autores) estamos incurriendo en un delito. Es aquí donde tiene cabida el movimiento del software libre, software cuya distribución, uso y modificación es perfectamente legal y no solo eso, si no que además nos incita a “compartir” como parte fundamental de su filosofía, siempre a favor de mejorar el software.

En esta primera parte de este artículo nos enfocaremos a conocer los orígenes del software libre, mencionando sus principales autores. En las siguientes ediciones nos enfocaremos a describir la filosofía de este movimiento. También hablaremos sobre su futuro, las licencias de software y el debate mundial de patentar el software y sus repercusiones en la industria de la informática. Mencionaremos también algunas de las aplicaciones que utilizan el concepto de bazar del software libre.

Orígenes del Software Libre
La primera generación de computadoras aparece a finales de la década de 1940. Eran de enormes dimensiones y muy costosas. El poder computacional era muy pobre comparado con las computadoras de la actualidad. La relación entre el hardware y el software era demasiado estrecha, los programas se escribían de una manera bastante especializada (lenguaje de máquina) y por lo tanto, el concepto de software como una parte “independiente” del hardware se veía todavía muy lejano. Debido precisamente a esta relación entre hardware-software, las personas que operaban las computadoras debían de poseer cierto nivel de conocimientos sobre el funcionamiento de las mismas, así como de los programas que necesitaban para hacerlas funcionar. En ese entonces no existían los usuarios convencionales, todos eran usuarios especializados, en su gran mayoría científicos o ingenieros.

Entre esos usuarios expertos, era muy común que se diera el intercambio de programas así como el compartir mejoras hechas a los mismos. A estas mejoras en el software se les conoce como hacks y a estos primeros expertos o gurus de la programación se les empezó a llamar hackers. Término que en la actualidad se ha ido desvirtuando, confundiéndolos con delincuentes informáticos. En general a los hackers les interesa conocer el funcionamiento detallado de los sistemas informáticos y de su seguridad, manteniendo una actitud ética. Algunos traspasan esta línea y se convierten en lo que la comunidad hacker ha denominado cracker.

En los inicios de la computación, 40s y 50s, no existían las licencias de software. El software era libre y los programas se intercambiaban como se hace con las recetas de cocina. Este espíritu perduró en la comunidad de programadores durante años como algo natural, hasta que con el tiempo las restricciones derivadas de licencias de uso, implementadas por desarrolladores de software y las grandes compañías, plantearon la necesidad de fijar una línea divisora entre el software libre y el software propietario.

Posteriormente, el software se empezó a ver más como una gran colección de pequeños fragmentos de código, susceptible de ser modificado y adaptado. Las computadoras de escritorio empezaban a volverse cada vez más populares y accesibles a un número mayor de personas. Había también una mayor cantidad de programadores probando cosas nuevas, escribiendo sus propias aplicaciones e iniciando una gran variedad de proyectos. Sin embargo, había una importante limitante, la gran mayoría del software que se utilizaban en ese momento era propietario y venía protegido por licencias que regulaban su uso y distribución.

Con el surgimiento del ARPANET (precursor del Internet) a finales de la década de los 60s --la cual permitía la interconexión entre redes de computadoras de las diversas universidades-- empezó el surgimiento de la primera comunidad global que se alzaba sobre los valores y principios del software libre. Los grupos hasta entonces dispersos de hackers, pudieron a través de la red, sumar esfuerzos, intercambiar conocimientos y colaborar entre sí. Los proyectos involucraban cada vez más desarrolladores de software, quienes estaban dispersos geográficamente alrededor del mundo y utilizaban el correo electrónico como medio de comunicación para hacer llegar sus aportaciones.

La aportación de UNIX al software libre
Los origenes del sistema operativo UNIX se remontan a finales de los años 60s. UNIX en sus inicios fue un proyecto de investigación por parte de los laboratorios Bell de AT&T. El propósito era desarrollar un sistema operativo simple y elegante, además se quería evitar que estuviera completamente escrito en ensamblador, lo que motivó el nacimiento del lenguaje de programación C.

Con el transcurrir de los años el sistema operativo fue ganando adeptos y aumentando su popularidad entre los usuarios. A finales de los años 70s, AT&T creó un grupo con la misión de comercializar el sistema operativo: el UNIX Support Group (USG). El problema que surgió fue que las licencias, que un principio habían sido libres de cualquier costo, o a precios relativamente bajml, se fueron encareciendo. Éstas incluían cada vez más restricciones, limitando el uso y las posibles mejoras que se pudieran hacer al sistema operativo. Además, estas políticas provocaron que prácticamente cualquier empresa grande de software de aquel entonces, dispusiera de su propia versión de UNIX. Esto provocó que las mismas fueran hasta cierto punto incompatibles y se entorpeciera la posibilidad de aprovechar el conocimiento sobre UNIX de otro fabricante.

Algunas de las versiones de UNIX y sus empresas comercializadoras eran: AIX de IBM, HP-UX de Hewlett-Packard, Solaris y SunOS de Sun Microsystems, IRIX de Silicon Graphics, entre otras. El principal elemento en contra de los sistemas operativos UNIX (no libres) es el costo de propiedad intelectual que puede variar según el proveedor y según la plataforma de equipo de cómputo a instalar. Asimismo, el licenciamiento es generalmente por usuario, cayendo así en un esquema de incrementos de costos cada vez que la empresa crece en personal y en requerimientos.

Al mismo tiempo que UNIX se licenciara comercialmente a diversas empresas, empezaron a emerger sistemas operativos (basados en UNIX) gratuitos, pero con algunas restricciones. En esta categoría caen los BSD (Berkeley System Distribution). La rama BSD (NetBSD, FreeBSD y OpenBSD) se origina cuando At&T licenció el código original de UNIX a la Universidad de Berkeley en California. Ingenieros de Berkeley hicieron mejoras significativas a UNIX generando su propia versión. Se creó entonces una condición divergente entre la versión original de AT&T (denominada ya en ese momento "UNIX System V") y la versión de Berkeley: BSD.

El grupo que llevaba el desarrollo de BSD, por su parte, decidió eliminar todo el código de AT&T de su sistema, reemplazándolo por otro que no estuviera sujeto a pago de licencias, esto derivó en el 4.4BSD-Lite, un sistema libre de las restricciones impuestas por el USG. Posteriormente originó el desarrollo de FreeBSD: UNIX BSD, OpenBSD, NetBSD y Darwin (base del sistema operativo MacOS X). BSD tiene una licencia que permite realizar modificaciones y no redistribuir su código, lo cual genera ciertas restricciones para utilizarla en proyectos libres.

Richard Stallman y el proyecto GNU/Linux
"Necesitamos reforzar el espíritu de colaboración de la gente, respetando su libertad para cooperar y evitando imponer esquemas para dividirlos y dominarlos." Richard Stallman.

Si sé está hablando de software libre es prácticamente imposible no mencionar a Richard Stallman, un personaje genial y controvertido, imprescindible para comprender la verdadera esencia del software libre. Físico de carrera, graduado en la Universidad de Harvard. Trabajó en el laboratorio de inteligencia artificial del Instituto Tecnológico de Massachussetts (MIT) desde 1971.

Una de las anécdotas que se cuentan entorno a Richard Stallman, narra que en cierto lugar donde él trabajaba, tenían una impresora que atoraba continuamente el papel. La única manera de verificar que se atoraba el papel, era trasladarse físicamente hasta el lugar donde estaba dicho dispositivo. Stallman tuvo la idea de modificar el código que controlaba la impresora, para que ésta mandara un aviso cuando se atascara el papel y evitarse estar revisándola a cada rato. Para ello se comunicó con las personas que distribuían el software de la impresora y les planteó lo que quería hacer. Lo único que obtuvo como respuesta, fue que era imposible que le dieran acceso al código fuente del programa que controlaba la impresora, y por lo tanto no podía modificarlo. Stallman se hizo la siguiente pregunta. ¿Cómo es posible que no pueda hacer una mejora a un software por el que pagué?

En 1984 movido por el deseo de lograr que el código fuente del software esté disponible para cualquiera, abandonó el MIT para iniciar el proyecto conocido como GNU. El proyecto GNU tenia la finalidad de crear un sistema operativo completamente libre. En 1985 publicó su manifiesto GNU, en el cual expone sus intenciones y motivaciones para crear una alternativa libre al Unix a la cual llamó GNU (GNU No es UNIX). Poco tiempo después se integró a la Free Software Foundation (FSF) para coordinar el esfuerzo del software libre. La influencia y liderazgo de Stallman para establecer un marco de referencia moral, político y legal del movimiento de software libre, como alternativa al software propietario.

Una contribución de Richard Stallman al movimiento del software libre es inventar el concepto de copyleft (contrario a copyright). Elemento clave en la propuesta de la Licencia Pública General de GNU, conocida por sus siglas en inglés, GPL/GNU.

En 1990 el sistema operativo GNU estaba casi completo, el único componente que faltaba era el núcleo (kernel), también llamado Hurd. Un año después, en 1991, Linus Torvalds, un estudiante finlandés frustrado por tener que usar MS-DOS y queriendo evitar las limitaciones de MINIX, envió un mensaje por Internet al grupo de noticias comp.os.minix en el cual mencionaba que estaba trabajando en un versión libre similar a MINIX. Éste era un sistema operativo bastante reducido creado por Andrew Tanenbaum con fines didácticos, el sistema era bastante simple y con pocas funcionalidades.

Torvalds ponía a disposición (en la red Internet) esta versión de Minix, para quien la quisiera usar y a su vez invitaba a realizar aportaciones que sirvieran para mejorarla. A partir de ese momento y empleando los componentes desarrollados por el proyecto GNU y la Internet como vehículo de comunicación, Linus consiguió convertirse en el líder de una comunidad de desarrolladores diseminada por todo el mundo. Al sistema operativo desarrollado por Linus con ayuda de la comunidad, se le designó el nombre de Linux, en honor al esfuerzo de Torvalds. Con el núcleo de Linux y con la mayor parte del sistema GNU completada, y respaldado por la licencia GPL (General Public License), la cual se sustenta sobre el concepto de "copyleft", la primera versión del sistema operativo GNU/Linux se libera en septiembre de 1991.

Lo interesante del sistema operativo Linux, no era ni su diseño ni tampoco su filosofía, sino su metodología de desarrollo de software. En ese entonces el software se escribía en grupos cerrados, mientras que Linus Torvalds proponía un modelo distribuido, abierto, y cualquier persona interesada en contribuir al software podría participar. A este modelo en el cual se desarrolla Linux y la mayoría del software libre se le conoce como bazar. Al modelo tradicional empleado por las compañías desarrolladoras de software propietario se le conoce como catedral. Este concepto lo explica más detalladamente Eric S. Raymond en un ensayo titulado La Catedral y El Bazar, el cual pueden encontrar en la red. Eric S. Raymond es también uno de los personajes importantes del movimiento software libre y Open Source. Con el transcurrir del tiempo surgieron pequeñas compañías que empezaron a empaquetar en un conjunto de disquettes (hoy CDs/DVDs) el núcleo de Linux provisto con una interfase gráfica, acompañado con programas de GNU y utilerías de software libre, con lo que se facilitaba su instalación. A estos conjuntos de CD/DVD se les denomina Distribuciones de GNU/Linux. Estas distribuciones de software libre bajo licencia GPL/GNU son desarrolladas por empresas de software como Red Hat y SuSE. Otras distribuciones son desarrolladas por organizaciones de programadores voluntarios, tales como Debian, Ubuntu, Gentoo, entre otras.

El Software libre a lo largo de estos años no ha dejado de crecer y multiplicarse. Existen en la red de Internet miles de desarrolladores de software dispuestos a contribuir para la causa de este movimiento.

En la segunda parte de este artículo nos enfocaremos a explicar la filosofía de este movimiento, las licencias de software y mencionaremos algunas de las principales aplicaciones de software libre que existen en la red.

Orlando Jorge Franco Murillo y Evelio Martínez Martínez son: estudiante y profesor-investigador respectivamente de la carrera de Licenciado en Ciencias Computacionales, perteneciente a la Facultad de Ciencias de la Universidad Autónoma de Baja California (UABC) en la ciudad de Ensenada. Se les puede contactar en duende.estudio(@)gmail.com y evelio(@)uabc.mx.

>> Principios y Filosofia del Software Libre (segunda parte)

>> El futuro del software libre Hits: 17264