Libro Guadalinex - El software libre
May 21st, 2008EN EL PRINCIPIO EL SOFTWARE ERA LIBRE…
Cuando todo empezó:
Guadalinex es software libre. Nació libre y si algún dia muere, morirá libre.
Es momento de dejar de hablar de aplicaciones y dispositivos, y ponernos a pensar en términos ideológicos. Ha llegado el momento de coger una buena taza de café porque vamos hablar de uno de los nacimientos más maravillosos que existe para cualquier ser humano, el de la libertad.
Os vamos a explicar parte de los pensamientos de un señor que podríamos describir como gordito, con pelos de loco, que habla español con un acento estadounidense que puede sonar gracioso; y al que muchos tachán de excéntrico, impaciente en ocasiones, testarudo, pero persistente a la larga.
Otros le llaman Mesías. Su nombre: Richard M. Stallman.
El Sr Stallman trabajaba en el prestigioso MIT estadounidense (Massachussets Institute of Technology); concretamente era uno de los hackers, encargado junto a sus compañeros de mejorar el software existente para el ordenador Digital PDP-10, software que ellos mismos habían creado.
Estamos hablando de una época en la que había que hacer cola para ver si el programa que habías hecho compilaba perfectamente, ya que sólo había un ordenador en todo el Instituto. Cuando alguien les pedía un programa, encantados se lo dejaban ver. Intercambiar código tanto con programadores del instituto como de fuera era lo más habitual y sano; entre todos iban mejorando, y se resolvían los problemas a un ritmo fantástico. No se hablaba de software libre; simplemente lo era. La gente tenía la libertad de hacer con el software lo que creyese adecuado.
En el año 1981, una empresa pionera por entonces contrató a la mayoría de los miembros de ese equipo. Stallman se sentía parte de una comunidad, y con la fuga de miembros empezó a sentir que ésta desaparecía.
En el año 1982, les cambiaron el ordenador PDP-10 por otro que no tenía un sistema operativo libre. Les obligaron a firmar acuerdos de condifencialidad incluso para tener una copia ejecutable. El código fuente para poder modificarlo o añadirle cosas, no lo podían ver ni en pintura. Es decir, que los hackers del AI Lab tuvieron que dedicarse a otros proyectos, puesto que al cambiar de sistema operativo, se fueron al garete 15 años de trabajo empleados en el sistema operativo del PDP-10, llamado ITS.
Mirasen donde mirasen, todo había cambiado. El software ya no era libre; y su comunidad era cada vez menor.
Stallman reconoce que uno de los motivos que más le dieron que pensar fue el fallo de una impresora que les instalaron. Se atascaba el papel y no les avisaba. Hoy en día nos puede parecer una tontería, pero en un edificio con una única impresora donde todo el mundo está imprimiendo, que se atasque el papel podría provocar que muchísimas personas tuviesen que estar un buen rato de brazos cruzados. Las impresoras no eran ni de lejos tan rápidas como lo son ahora. Stallman le pidió a quién se la había proporcionado el código fuente, para que pudiesen implementarle algo tan sencillo como que le enviase un mensaje a la persona que había enviado el trabajo a imprimir confome que el papel se había atascado; de tal manera que al ver el mensaje, la persona iría a la impresora, desatascaría el papel y podría continuar la impresión de los trabajos pendientes. Se negaron a proporcionarselo.
Se encontraba con un gran dilema moral: abandonar la informática, buscar trabajo en una empresa de software dónde tuviese que hacer cualquier tarea, independientemente de que le gustase o no por un buen puñado de dólares, o tratar de revivir a su extinta comunidad.
¿Cómo podría conseguir éste último punto?. Necesitaría un sistema operativo libre. Ello le permitiría crear una nueva comunidad de hackers, al estilo cooperativa; invitando a todo el mundo a unirse. Él sabía cómo hacerlo. Así nació GNU.
GNU significa GNU No es Unix.
Unix era el sistema operativo más extendido en la época, y aún en uso. Proporciona multiplataforma, escalabilidad, multiusuario y multitarea. Unix es francamente muy bueno. Todo el conjunto tenía que basarse en Unix; e incluso ser compatible con el; pero nuevo desde cero, ya que Unix pertenece a AT&T.
En el año 1983 escribió el primer mensaje a las listas de correo anunciando GNU. Puede consultarse en: http://www.gnu.org/gnu/initial-announcement.es.html
De éste escrito vamos a destacar lo siguiente:
“Porqué debo escribir GNU Considero que la regla de oro exige que si yo quiero un programa debo compartirlo con otras personas que también lo quieren. No puedo, conscientemente, firmar un acuerdo de confidencialidad o un acuerdo de licencia de software. Para que yo pueda continuar utilizando las computadoras sin violar mis principios, he decidido reunir suficiente software libre de manera que podré continuar sin necesidad de utilizar algún software que no sea libre.” Creemos que habría sido más acertada una traducción “me gusta” en vez de “quiero”.
En el año 1984 abandonó el MIT formalmente, pero el profesor Winston (director del AI Lab) le invitó a seguir usando las instalaciones.
El primer programa que necesitaba de manera obvia era un compilador; para poder desarrollar los programas. Trató de aprovechar uno existente llamado Pastel, pero no consiguió los resultados esperados. En Septiembre de 1984 comenzó a trabajar en un editor de texto, puesto que también lo necesitaba para poder hacer los programas. Nació GNU Emacs.
GNU Emacs funcionaba en Unix. Ésto provocó que mucha gente estuviese interesada en conseguirlo. Richard puso una copia en el servidor de archivos del MIT; pero había un problema: ¿qué pasaba con la gente que no tenía conexión a internet?. Richard no tenía trabajo; así que ofreció enviar una copia a quién le pudiese interesar y no se lo pudiese descargar por 150 dólares.
Aquí podemos observar la respuesta a muchísimas de las inquietudes que tenía la gente respecto a las ideas de Richard, y aún persisten en algunos entornos. ¿Cómo se va a ganar la vida alguien que se dedica al software libre? Ofreciendo servicios. El software en ningún momento deja de ser libre, pagas por otros motivos: el cd enviado a casa, documentación impresa en papel, soporte técnico durante un periodo de tiempo determinado, etc.
Muchos pensaron que a Richard le faltaba un tornillo. Otros le fueron apoyando en su tiempo libre, tanto programando cómo proporcionando recursos materiales al proyecto GNU. Richard ya no estaba sólo.
Estaban condenados a crecer. Así que crearon la Free Software Foundation, Fundación para el Software Libre. Se dedicaban a distribuir las copias de GNU Emacs y de otros programas que aunque no fuesen GNU, eran libres. Ello permitió tener a un grupo de personas dedicado en exclusiva a desarrollar software GNU, como por ejemplo el conjunto compilador GCC, el más popular y usado actualmente.
Empezaron a encontrarse con la posibilidad de tener problemas legales. Tenían que proteger al software, pero no para impedir que fuese ejecutado, modificado, copiado o distribuido, tanto el software inicial cómo sus posteriores modificaciones; sino todo lo contrario. Necesitaban proteger que todo esto se pudiese hacer. Éste método es llamado Copyleft. También desarrollaron una licencia para el software y otra menor para los manuales; radicalmente distinta a todas las licencias actuales; la GNU GPL (Licencia Pública General GNU).
Estaba ocurriendo un hecho muy curioso. Estaban desarrollando muchos programas libres, que funcionaban a la perfección en UNIX y ésto les había beneficiado muchísimo. Pero no era un sistema operativo completo, les faltaba el alma mater: el núcleo del sistema operativo, ese software encargado de gestionar los recursos de la máquina, llamado kernel.
En 1990 empezaron a trabajar sobre el kernel, llamado Alix y basado en uno existente llamado Mach. Alix era el nombre de la novia de Richard por la época, pero posteriormente cambiaron el nombre por Hurd; dejando a Alix como nombre de una parte del kernel.
Citamos del libro de Richard M. Stallman llamado “Software libre para una sociedad libre”:
Un programa es software libre siempre que, como usuario particular, tengas:
-
La libertad de ejecutar el programa sea cual sea el propósito
-
La libertad de modificar el programa para ajustarlo a tus necesidades. (Para que se trate de una libertad efectiva en la práctica, deberàs tener acceso al código fuente, dado que sin el la tarea de incorporar cambios en el programa es extremadamente difícil).
-
La libertad de redistribuir copias, ya sea de forma gratuita, ya sea a cambio del pago de un precio.
-
La libertad de distribuir versiones modificadas del programa, de tal forma que la comunidad pueda aprovechar las mejoras introducidas.
Recomendamos a todo el mundo leerse encarecidamente ése libro.
Richard en la actualidad continúa en la FSF y se gana la vida, entre otras cosas, dando conferencias por todo el mundo.
La base del alma: Tanebaum
Paralelamente, hay un señor estadounidense llamado Andrew Stuart Tanebaum, licenciado el año 1965 en física, también en el MIT; el cual se mudó con su señora a Holanda.
Actualmente es profesor en la universidad de Vrije, aunque está más centrado a la investigación que no a la docencia.
Este señor es relevante ya no sólo por su contribución al software libre, sinó también por realizar unos libros que son referencia mundial para los estudiantes; como por ejemplo “Redes de computadores”, “Sistemas operativos modernos” o “Sistemas operativos: Diseño e implementación”.
En el año 1987, Tanebaum comenzó un sistema operativo, llamado Minix.. Se basó al 100% en Unix, puesto que tuvo acceso al código, pero como no empleó ni una sola línea de el, se libró de todas las posibles acusaciones de plagio. Consideró conveniente invertir todo ese tiempo y recursos, principalmente porque Unix es software propietario de la empresa AT&T, corre en máquinas muy complejas y poco accesibles, y es realmente muy complicado de estudiar para alguien que empieza. La necesidad a cubrir era que que funcionase en ordenadores compatibles IBM PC, de manera que los alumnos lo pudiesen estudiar en casa.
Minix se basa en una estructura de microkernel, de manera que el kernel sólo gestiona los aspectos más básicos, y todo lo demás es gestionado como procesos servidores fuera del kernel.
En la actualidad se sigue desarrollando Minix, la versión actual es la 3.0. Es compatible con los procesadores Intel o compatibles domésticos.
Y llegó Torvalds
El kernel más extendido en la actualidad, Linux, recibe su nombre precisamente de su iniciador, Linus Torvalds.
Cuando sólo contaba con 11 años, su abuelo que era físico y matemático en la misma universidad compró un Commodore y le pidió ayuda para usarlo. Compró su primer ordenador a plazos: un 386 a 33 Mhz y con 4 MB de RAM y que le costó el equivalente a 3500 dólares americanos.
Al estar estudiando, se encontraba con el mismo problema que muchos otros alumnos: no podía hacer prácticas de Unix desde casa; tenía que hacer cola en los abarrotadísimos ordenadores de la facultad.
Así que como conocía bastante bien Minix, pero no le gustaba en absoluto, se animó a hacer programas a muy bajo nivel: capaces de arrancar un ordenador, leer datos provinientes del módem y que se los pusiese en pantalla, uno capaz de leer el teclado, y otro capaz de envíar esos datos que introducía en el teclado a través del módem. La siguiente necesidad que tenía era un programa capaz de leer y escribir en disco, ya que se quería conectar a la universidad para subir y descargar archivos. Sin darse cuenta de su importancia, en ese conjunto de programas que hacía había conseguido ejecutar correctamente el intérprete de comandos GNU Bash, y el compilador GCC; herramientas básicas para programar. El llamaba a todo éste conjunto Freakx.
El 5 de Octubre de 1991, realizó el siguiente anuncio:
“ Hello everybody out there using minix -
I’m doing a (free) operating system (just a hobby, won’t be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I’d like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I’ll get something practical within a few months, and
I’d like to know what features most people would want. Any suggestions
are welcome, but I won’t promise I’ll implement them
Linus (torva…@kruuna.helsinki.fi)
PS. Yes - it’s free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that’s all I have :-(. “
Básicamente lo que dice para los que no dominamos el inglés es que está haciendo un sistema operativo libre a modo de hobby y sin intención de ser grande ni profesional como GNU, que empieza a estar listo y que agradecería comentarios sobre las cosas que a la gente le gustan y las que no sobre minix, ya que guarda muchas similitudes con el.
Luego añade que ya ha portado BASH y GCC y que parecen funcionar.
El comentario más gracioso está en la postdata, donde dice que no es portable (sólo funciona en máquinas basadas en microprocesadores compatibles IBM 386) y que probablemente nunca tendrá soporte para discos duros que no sean AT, ya que es lo que el tiene.
La gracia reside en que actualmente, el kernel Linux tiene versiones para multitud de microprocesadores distintos, y soporta una cantidad ingente de discos duros. Es el kernel empleado en las máquinas más potentes del mundo (¿no iba a llegar a ser profesional, Linus? Afortunadamente te equivocaste)
Evidentemente, éste anuncio provocó un auténtico terremoto. Inconscientemente, acababa de proporcionar lo que hacía falta para el sistema operativo GNU; la base del kernel. Los voluntarios para colaborar salieron hasta de debajo de las piedras.
En enero del año 1992, adoptó para el proyecto la licencia GNU GPL, protegiendo su libertad.
Para evitar un abuso del nombre, registró la marca “Linux”, la cual controla a través de una organización sin ánimo de lucro llamada Linux International.
A fecha de hoy, Torvalds aun continúa supervisando todo lo relativo al kernel. Aproximandamente el 2% de las líneas de código que contiene el kernel han sido escritas por el. Parece poco, pero es un 2% sobre más de diez millones de líneas.
Como anécdota, comentar que aunque el internamente le llamaba Linux, no le gustaba que se llamase así por sonar demasiado egocéntrico; pero fueron los demás desarrolladores quienes se referían al kernel como Linux, y no tuvo más remedio que acostumbrarse.
Ahora ya podemos darnos cuenta de por qué no hay que llamar al sistema operativo Linux, sinó GNU / Linux. El kernel sólo no sirve de nada. Los programas GNU sin kernel tampoco sirven de nada. El conjunto es lo que de verdad es útil.
GNU también tienen otro kernel, Hurd; aunque aún está algo verde. Por eso hablaremos de GNU/Linux, aunque podríamos hablar de GNU/Hurd si empleasemos ese kernel.
Imagen: TuX. Nota: TuX, el pingüino mascota de Linux
Las distribuciones
Conforme iba creciendo el número de software GNU, nacieron las distribuciones (también llamadas distros). Una distribución es un conjunto de software GNU seleccionado, generalmente con alguna versión concreta del kernel Linux.
Uno de los problemas que necesitaban resolver al realizar las distribuciones fue la necesidad de aportar sencillez al proceso de instalación y configuración de las mismas, por lo que los creadores de estas distribuciones comenzaron a realizar sus propias herramientas con tal de conseguir tal fin.
Muchas distribuciones han desaparecido por falta de mantenimiento, algunas veteranas resisten el paso del tiempo de mejor o peor manera, y hay otras que estan en pleno auge.
No vamos a entrar en una descripción de qué aplicaciones contienen cada una de ellas por un motivo muy sencillo; si hay una aplicación que no viene en la nuestra, podemos descargarla e instalarla. ¡Eso es libertad!
Todas ellas incluyen soporte en español, y la mayoría cuentan con versiones para diversas plataformas (todas tienen versión para ordenadores domésticos compatibles IBM como los nuestros); y versiones Live o normales. Las versiones Live son las que podemos ejecutar el sistema operativo sin necesidad de escribir nada en el disco duro.
-
Slackware. Su primera versión fue publicada por Patrick Volkerding en Abril de 1993, estando basada en una distribución anterior, SLS Linux.
El 10 de Octubre de 1999, se realizó un curioso cambio, en vez de lanzar la versión 4.0 lanzaron la 7.0. Esto fue debido a que las demás distribuciones, por puro marketing, iban por la 6.0. A pesar del número de versión, Slackware estaba bastante al día, por lo que Patrick decidió dar un pequeño toque de atención a las otras personas que realizaban distribuciones con éste cambio.
Durante el 2004, Patrick cayó bastante enfermo por lo que surgieron serias dudas sobre la continuidad de la distribución. Afortunadamente, se recuperó y continuó al frente del proyecto. A fecha de hoy, continúa liderandolo.
Durante el 2005 el equipo de desarrollo de la distribución tomó una decisión que no le sentó bien a muchos: eliminar de la distribución al escritorio Gnome.
Algunas distribuciones derivadas de Slackware son College Linux y SLAX.
El 2 de Julio del 2007 lanzaron la última versión disponible hasta la fecha, la Slackware 12.0
Su página web es http://www.slackware.com/
-
Suse. Ésta distribución nació con una máxima: ser tremendamente sencilla de instalar y configurar. Hasta hace poco era la recomendada para novatos, junto con Mandrake. Cuenta con una aplicación llamada YaST2 la cual permite realizar instalación de software y configuración del sistema de una manera muy sencilla.
Suse comenzó como una distribución de la empresa alemana Suse Linux, que lanzaba primero versiones de manera comercial, con sus cd’s, documentación y soporte; y pasado un tiempo la ponía a disposición de la comunidad.
En el año 2005 Suse fue comprada por Novell; tras lo cual se invirtió el proceso.
En la actualidad ésta distribución se ha separado en tres grandes familias:
-
Enterprise Server; la cual está orientada para entornos corporativos, en especial servidores. Cuesta 47 euros con un año de suscripción a sus servicios: soporte, documentación, etc.
-
Enterprise Desktop, similar a la anterior, pero pensada para personas que no tienen necesidad de administrar el sistema.
-
OpenSuse, versión en la que la comunidad colabora. Es totalmente gratuita. Su web es http://es.opensuse.org
-
-
Red Hat. Ésta distribución fue consecuencia de otra empresa, Red Hat Software Inc; fundada en 1994 por Bob Young y Marc Ewing; por lo que se considera otra de las veteranas. Su orientación era empresarial, por lo que garantizaba una gran estabilidad en el sistema. En 1999, la empresa salió a bolsa, siendo una de las empresas con un crecimiento espectacular. Fue una de las importantes durante el llamado boom ( y posterior pluff) de las empresas .com.
En el año 2003 decidieron centrarse en la versión corporativa, la Red Hat Enterprise Linux, dejando a manos de un proyecto paralelo, llamado Fedora Core, el desarrollo de la versión para la comunidad. En la actualidad siguen supervisando y apoyando sensiblemente dicho proyecto. De Red Hat se deriva, entre otras, la distribución Mandriva.
A pesar de su orientación empresarial, Red Hat ha proporcionado multitud de herramientas al software libre, siendo la más famosa su sistema de paquetes RPM, similar al .deb que veremos cuando instalemos paquetes en nuestro Guadalinex.
La página web del proyecto libre es: http://fedoraproject.org/
-
Gentoo. Es la distribución no apta para novatos ni para impacientes por excelencia. Emplea un sistema muy peculiar llamado portage, el cual descarga los archivos con el código fuente y los compila, generando los ejecutables. El hecho de compilar cada uno de los paquetes puede llevar mucho tiempo, pero se consigue una mejora de rendimiento significativa respecto a las demás distribuciones, ya que estas llevan los ejecutables compilados de manera que aseguran estabilidad en general, pero no personalización para la máquina que cada uno tiene. Su versión actual es la 2007.
Su página web es http://www.gentoo.org/
-
Debian. Hablar de Debian es hablar de los padres de Guadalinex. Debian contiene ni más ni menos que 18733 paquetes de software ahora mismo, con lo que es más que probable que si necesitamos una aplicación en concreta, sea uno de esos paquetes. Es la distribución más grande existente con propósito no comercial. Su primer anunció lo realizó el 16 de Agosto de 1993 Ian Murdock, primer líder del proyecto. En su anuncio, Ian decía que estaba inspirada en SLS, pero se había animado porque habían cosas de ella que no le gustaban en absoluto. Por ejemplo, quería un instalador para poder elegir que software no quería que se instalase en el sistema. También pretendía que fuese más ligera y cómoda la instalación, poderse dedicar a otras cosas mientras se instalaba la distribución en el sistema, tener menús que funcionasen correctamente y que en general, todo resultase mucho más sencillo para el usuario. También quería que fuese la más actual, con herramientas de actualización del software automáticas.
De éste primer anuncio hubo cosas en las que Ian acertó, pero al igual que le pasó a Linus, en otras se equivocó por completo. Acertó en los menús, Debian es sencillo de instalar. Pero falló en el tamaño, ni el mismo se podía imaginar que acabaría siendo la mayor. Llegó un momento en que habían crecido tanto que tuvieron que tomar una decisión: la distribución era enorme, pero había que garantizar la estabilidad. Tener tantos paquetes requería mucho tiempo y recursos para asegurar que el sistema era estable. Por tal motivo, las nuevas versiones tardan mucho en salir; pero se garantiza una estabilidad espectacular. De esto se deriva que no es una distribución que cuente con las últimas versiones del software.
-
Ubuntu. Si Debian son los padres de Guadalinex, Ubuntu es su hermano mayor. Ubuntu nació de la idea de un rico empresario sudafricano llamado Mark Suttleworth. Mark, que se enriqueció con el boom de las .com, veía el futuro en el software libre y le agradaba Debian, pero vió que se necesitaba una distribución más pequeña y a la vez más actualizada que Debian. Por tal motivo, a través de su empresa Canonical Ltd se dedica a ganarse la vida promoviendo proyectos de software libre, entre ellos Launchpad, TheOpenCD, Bazzar; y por supuesto, la família Ubuntu.
El 20 de Octubre del 2004 vió la luz su primera versión, llamada Warty Warthog. Está disponible para Intel x_86, AMD64 y PowerPC (procesadores de los ordenadores Apple).
Las nuevas versiones de Ubuntu salen puntualmente cada seis meses. La nueva que saldrá en Octubre del 2007 se llama Gutsy.
Ubuntu se caracteriza por emplear el escritorio Gnome. Ubuntu tiene otros proyectos paralelos: Kubuntu, el cual usa el escritorio KDE, Xubuntu que usa el XFce y Edubuntu, el cual contiene software educativo.
Canonical financia económicamente a los proyectos, única manera de conseguir que los desarrolladores se dediquen en exclusiva a ello, y poder cumplir con garantías las fechas de lanzamiento.