Conoce tu GNU: El Proyecto GNU
Inauguro hoy la que espero que sea una sección frecuente y constructiva.
La idea nace de una determinada encarnación de uno de los flames recurrentes de Barrapunto. No, el de los catalanes no, sino el del nombre del sistema operativo (¿Linux o GNU/Linux?).
Algunos defensores de la primera fórmula fueron constructivos y propusieron que en lugar de pararnos en cuestiones tales como el nombre, si lo que queremos es dar crédito a GNU y ayudar a mantener su visibilidad y a difundir su filosofÃa, lo que debÃamos hacer es hablar directamente de GNU.
Aunque sigo diciendo GNU/Linux cuando hablo formalmente (en el lenguaje coloquial la economÃa prima), se me ha ocurrido que serÃa una buena idea hacer una serie en la que en cada entrega se hablara de una herramienta o un grupo de herramientas GNU, para que los recién llegados sean capaces de distinguir qué hay de GNU en GNU/Linux y tomen consciencia del enorme esfuerzo que ha supuesto el que hoy podamos disfrutar de un sistema operativo libre.
En el año y cuarto que llevo trabajando me he visto obligado a tratar con distintos sistemas UNIX privativos y la experiencia ha sido entre cansina y desesperante, por la poca usabilidad de las herramientas disponibles, aún las más básicas. Ha sido entonces cuando he tomado consciencia de la envergadura y calidad de las herramientas GNU, y espero transmitiros algo de mi entusiasmo.
Ahora lo que tengo ganas es de hablar sobre bash o gcc, pero no puedo empezar la casa por el tejado, asà que no puedo comenzar de otra forma que no sea hablar del proyecto GNU. Intentaré hacerlo lo más breve y ameno posible, ya que ya hay por ahà un montón de información sobre GNU, y además lo que voy a contar a continuación muchos lo conocéis ya. Si tienes interés en profundizar, lo suyo es que leas lo que cuenta en la propia página oficial de GNU.
El proyecto GNU
En los principios de la computación era común el software sin restricciones de copia y modificación (aún no existÃa el concepto de software libre, aunque lo fuera en la práctica), y los informáticos intercambiaban los programas que adquirÃan y desarrollaban, normalmente en la forma de código fuente.
Después la industria descubrió que podÃa sacar dinero del software y consiguió cambiar las reglas del juego: cuando alguien adquirÃa un programa, tenÃa prohibido modificarlo, estudiarlo, entregarlo a otras personas. Esto que hoy en dÃa nos parece tan normal, fue demasiado para Richard Stallman, quién decidió que debÃa haber una manera en que los usuarios pudieran seguir disfrutando de la misma libertad que habÃa sido habitual.
La única manera de conseguir esto era hacer un sistema operativo libre, que pudiera ser usado, modificado y distribuido sin restricciones por sus usuarios. Asà Stallman concibió GNU, que deberÃa convertirse en ese sistema operativo.
Muchos desarrolladores estuvieron de acuerdo con esta meta, y comenzaron a trabajar en el desarrollo del sistema GNU, que debÃa incluir desde el núcleo (o kernel) del sistema operativo hasta las aplicaciones de usuario.
Los desarrolladores de GNU tuvieron éxito en su sistema, excepto en la tarea de crear el núcleo. En mi opinión se debió a que el diseño del núcleo de GNU, el HURD, era demasiado avanzado, y se fue encontrando con problemas que ni siquiera hoy se han podido completar.
GNU y Linux
Afortunadamente Linus Torvalds hizo, al principio por hobbie, un núcleo mucho menos ambicioso, que paradójicamente ha llegado mucho más lejos que el HURD. Este núcleo es lo que se llama con propiedad Linux.
Linux por si solo no puede ser útil, necesita un resto de piezas para poder ser usado, el resto del sistema operativo. GNU tampoco puede funcionar solo, necesita un núcleo. No voy a entrar en polémica de si lo que usamos es Linux con el userland GNU o GNU con el núcleo Linux. No quiero decir quién es más importante o cual es mejor, bastantes flames se han librado ya por ello, pero mi objetivo sà es que se conozca mejor GNU, que es la parte menos reconocida del sistema, lo cual es curioso porque es la parte que vemos (interactuamos con Linux siempre a través de GNU).
Bueno, aquà acaba la primera entrega. Para la próxima vez iré buscando un software GNU del que hablar para empezar. ¿Alguna sugerencia? ¿Por cual empezarÃais? ¿Cual es vuestro programa GNU favorito?
Por supuesto, no soy un experto, asà que me someto a vuestras crÃticas y correcciones, siempre que estén fundamentadas, claro.