|
Muchos usuarios de computadoras usan una versión modificada del sistema GNU (18.000
caracteres) a diario, sin darse cuenta. Debido a un particular giro de
acontecimientos, la versión de GNU más ampliamente usada hoy es, con frecuencia,
más conocida como ``Linux'', y muchos usuarios no son conscientes del alcance de
su conexión con el Proyecto GNU.
Efectivamente hay un Linux, y esta gente lo usa, pero no es el sistema
operativo. Linux es el núcleo: el programa del sistema que asigna los recursos
de la máquina a los otros programas que usted ejecute. El núcleo es una parte
esencial de todo sistema operativo, pero inútil por sí solo; sólo puede
funcionar en el contexto de un sistema operativo completo. Linux se usa
normalmente en combinación con el sistema operativo GNU: el sistema completo es
básicamente GNU, con Linux actuando de núcleo.
Muchos usuarios no son plenamente conscientes de la diferencia entre el
núcleo, que es Linux, y el sistema completo, al que también llaman ``Linux''. El
uso ambiguo del nombre no facilita la comprensión. A menudo, estos usuarios
piensan que Linus Torvalds desarrolló todo el sistema operativo en 1991, con un
poco de ayuda.
Los programadores generalmente saben que Linux es un núcleo. Pero como
generalmente han oído llamar también ``Linux'' a todo el sistema, frecuentemente
se imaginan una historia que justifique que todo el sistema se llame como el
núcleo. Por ejemplo, muchos creen que una vez que Linus Torvalds terminó de
escribir Linux, el núcleo, sus usuarios buscaron más software libre que lo
acompañara, y encontraron que (sin ninguna razón en particular) casi todo lo
necesario para hacer un sistema de tipo Unix estaba ya disponible.
Lo que encontraron no fue una casualidad: era el sistema GNU. El software libre disponible conformaba un
sistema completo porque el Proyecto GNU había estado trabajando desde 1984 en
hacer uno. El Manifiesto GNU (31.000
caracteres) había definido la meta de desarrollar un sistema libre de tipo
Unix, llamado GNU. El Anuncio
Inicial del Proyecto GNU también bosqueja algunos de los planes originales
para el sistema GNU. Para cuando se escribió Linux, el sistema estaba casi
terminado.
La mayoría de los proyectos de software libre tienen el objetivo de
desarrollar un programa particular para una tarea particular. Por ejemplo, Linus
Torvalds se propuso escribir un núcleo de tipo Unix (Linux); Donald Knuth se
propuso escribir un formateador de textos (TeX); Bob Scheifler se propuso
desarrollar un sistema de ventanas (el X Window System). Es natural medir la
contribución de este tipo de proyectos en base a los programas específicos que
hayan producido.
Si intentásemos medir la contribución del Proyecto GNU de esta manera, ¿qué
conclusión obtendríamos? Un vendedor de CD-ROM encontró que en su ``Distribución
Linux'', el software
GNU constituía el contingente único, alrededor del 28% del total de código
fuente, y esto includía varios de los principales componentes esenciales sin los
cuales no habría sistema. El propio Linux era alrededor del 3%. Así que usted
fuera a elegir el nombre del sistema basándose en quien escribió los programas
que lo forman, la opción única más adecuada sería ``GNU''.
Pero no pensamos que ésa sea la manera correcta de enfocar la cuestión. El
Proyecto GNU no era, y no es, un proyecto para desarrollar paquetes de software
específicos. No era un proyecto para
desarrollar un compilador de C, aunque lo hicimos. No era un proyecto para
desarrollar un editor de textos, aunque desarrollamos uno. El propósito del
Proyecto GNU era desarrollar un sistema libre de tipo Unix completo:
GNU.
Mucha gente ha hecho importantes contribuciones al software libre del
sistema, y todas ellas merecen reconocimiento. Pero la razón por la que es
un sistema integrado --y no sólo una colección de programas útiles-- es
que el Proyecto GNU se había propuesto hacerlo así. Hicimos una lista de los
programas necesarios para hacer un sistema libre completo, y
sistemáticamente encontramos, escribimos, o buscamos gente para escribir todo lo
que había en la lista. Escribir componentes esenciales pero poco divertidos (1) porque no se puede tener un sistema sin ellos.
Algunos de nuestros componentes del sistema, las herramientas de programación,
se hicieron populares por sí mismas entre los programadores, pero escribimos
muchos componentes que no son herramientas (2). Incluso
desarrollamos un juego de ajedrez, GNU Chess, porque un sistema completo
necesita también buenos juegos.
A principios de los años 90 habíamos preparado todo el sistema salvo el
núcleo (y también estábamos trabajando en un núcleo, el GNU Hurd, que funciona sobre Mach). El
desarrollo de este núcleo fue mucho más duro de lo que esperábamos; el GNU Hurd empezó a funcionar de
manera fiable en 2001. Ahora estamos empezando a preparar el lanzamiento
real del sistema GNU, con el GNU Hurd.
Afortunadamente, no hubo que esperar al Hurd, porque Linux ya estaba
disponible. Cuando Linus Torvalds escribió Linux, rellenó la última laguna
importante. La gente pudo entonces poner Linux junto al sistema GNU para obtener
un sistema libre completo: una versión basada en Linux del sistema GNU; el
sistema GNU/Linux, para abreviar.
Juntarlos suena sencillo, pero no fue un trabajo trivial. Algunos componentes
de GNU (3) necesitaron cambios sustanciales para
funcionar con Linux. Integrar un sistema completo en forma de una distribución
que funcionara sin más que ``desembalarla'' fue también un gran trabajo. Esto
precisó resolver la cuestión de como instalar y arrancar el sistema --un
problema que no habíamos atacado, porque todavía no habíamos alcanzado ese
punto. La gente que desarrolló las diversas distribuciones del sistema hicieron
una contribución sustancial.
El Proyecto GNU apoya tanto a los sistemas GNU/Linux como al sistema GNU
--incluso económicamente. Financiamos la reescritura de las extensiones
relacionadas con Linux de la biblioteca de C de GNU, de modo que ahora se
integran bien, y los sistemas GNU/Linux modernos usan la versión actual de la
biblioteca sin necesidad de hacerle modificaciones. También financiamos las
primeras etapas del desarrollo de Debian GNU/Linux.
A día de hoy usamos sistemas GNU basados en Linux para la mayor parte de nuestro trabajo, y esperamos que usted también lo haga. Pero por favor, no confunda a la gente usando el nombre ``Linux'' de manera ambigua. Linux es el núcleo, uno de los principales componentes del sistema. El sistema en su conjunto es más o menos el sistema GNU, con Linux añadido. Cuando hable de esta combinación, por favor, llámela ``GNU/Linux''.
Si quiere poner un enlace a una página sobre ``GNU/Linux'' para mayor referencia, esta página y
http://www.gnu.org/gnu/the-gnu-project.html son una buena elección. Si menciona Linux, el núcleo, y quiere añadir un enlace para mayor referencia, http://www.kernel.org/ es un URL adecuado.
Apéndice: Además de GNU, otro proyecto ha producido independientemente otro sistema operativo libre de tipo Unix. Este sistema es conocido como BSD, y fue desarrollado en la Universidad de California, Berkeley. En los 80 no era libre, pero se volvió libre a principios de los 90. Cualquier sistema operativo libre hoy día es casi con toda seguridad una variante del sistema GNU, o algún tipo de sistema BSD.
La gente pregunta a veces si BSD es también una versión de GNU, como GNU/Linux. Para hacer su código libre, los desarrolladores de BSD se inspiraron en el ejemplo del Proyecto GNU, y hubo llamamientos explícitos de activistas de GNU que ayudaron a persuadirlos, pero su código se superponía poco con el de GNU. Los sistemas BSD de hoy en día usan algunos programas GNU, del mismo modo que el sistema GNU y sus variantes usan algunos programas de BSD; sin embargo, tomados en su conjunto, son dos sistemas diferentes que evolucionan por separado. Los desarrolladores de BSD no escribieron un núcleo y lo añadieron al sistema GNU, así que un nombre como GNU/BSD no encajaría en esta situación.
[Si le gustaría saber más sobre este asunto, puede leer también nuestras Preguntás Más Frecuentes sobre GNU/Linux.]
Notas:
- Estos componentes poco divertidos pero esenciales incluyen el ensamblador de GNU, GAS y el enlazador, GLD, ambos son ahora parte del paquete GNU Binutils, GNU tar, y más.
- Por ejemplo, el Bourne Again SHell (BASH), el intérprete Ghostscript, y la biblioteca de C de GNU no son herramientas de programación. Tampoco lo son GNUCash, GNOME, o GNU Chess.
- Por ejemplo, la biblioteca de C de GNU).
Ir a la página principal de GNU.
Por favor, envíe sus comentarios y preguntas sobre la FSF
y el Proyecto GNU a gnu@gnu.org.
Hay también otras maneras de contactar
con la FSF.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Richard M. Stallman
Se permite la distribución y copia literal de este artículo
en su totalidad por cualquier medio, siempre y cuando se conserve esta nota.
Traducción: 03 jul 2003 Quique quique@sindominio.net
|