El Proyecto GNU ( / ɡ n uː / )[3]es unproyecto desoftware libreycolaboración masivaRichard Stallmanel 27 de septiembre de 1983. Su objetivo es dar a los usuarios de computadoras libertad y control en el uso de sus computadoras ydispositivos informáticosmediante el desarrollo y la publicación colaborativa de software que otorga a todos los derechos para ejecutar libremente el software, copiarlo y distribuirlo, estudiarlo y modificarlo. El software GNU otorga estos derechos ensu licencia.
Para garantizar que todo el software de un ordenador otorgase a sus usuarios todos los derechos de libertad (utilizar, compartir, estudiar, modificar), incluso la parte más fundamental e importante, el sistema operativo (incluyendo todos sus numerosos programas de utilidad) necesitaba ser software libre. Stallman decidió llamar a este sistema operativo GNU (un acrónimo recursivo que significa « ¡GNU no es Unix! »), basando su diseño en el de Unix , un sistema operativo propietario. [4] Según su manifiesto, el objetivo fundador del proyecto era construir un sistema operativo libre, y a ser posible, «todo lo útil que normalmente viene con un sistema Unix para que uno pudiera arreglárselas sin ningún software que no fuera libre». El desarrollo se inició en enero de 1984. En 1991 apareció el núcleo Linux , desarrollado fuera del proyecto GNU por Linus Torvalds , [5] y en diciembre de 1992 se puso a disposición bajo la versión 2 de la Licencia Pública General GNU . [6] Combinado con las utilidades del sistema operativo ya desarrolladas por el proyecto GNU, permitió el primer sistema operativo que era software libre, comúnmente conocido como Linux . [7] [8]
El trabajo actual del proyecto incluye el desarrollo de software, la creación de conciencia, la realización de campañas políticas y el intercambio de material nuevo.
Richard Stallman anunció su intención de comenzar a codificar el Proyecto GNU en un mensaje de Usenet en septiembre de 1983. [9] A pesar de no haber usado nunca Unix antes, Stallman sintió que era el diseño de sistema más apropiado para usar como base para el Proyecto GNU, ya que era portable y "bastante limpio". [10]
Cuando el proyecto GNU comenzó, tenían un editor de texto Emacs con Lisp para escribir comandos de edición, un depurador de nivel de fuente , un generador de analizador compatible con yacc y un enlazador . [11] El sistema GNU requería que su propio compilador de C y herramientas fueran software libre, por lo que también tuvieron que desarrollarse. Para junio de 1987, el proyecto había acumulado y desarrollado software libre para un ensamblador , un compilador de C optimizador portátil casi terminado ( GCC ), un editor ( GNU Emacs ) y varias utilidades de Unix (como , , , y ). [12] Tenían un núcleo inicial que necesitaba más actualizaciones. ls
grep
awk
make
ld
Una vez que el núcleo y el compilador estuvieron terminados, GNU pudo ser utilizado para el desarrollo de programas . El objetivo principal era crear muchas otras aplicaciones que fueran como el sistema Unix. GNU podía ejecutar programas Unix pero no era idéntico a él. GNU incorporó nombres de archivo más largos, números de versión de archivo y un sistema de archivos a prueba de fallos. El Manifiesto GNU fue escrito para obtener el apoyo y la participación de otros para el proyecto. Se animó a los programadores a participar en cualquier aspecto del proyecto que les interesara. La gente podía donar fondos, piezas de computadora o incluso su propio tiempo para escribir código y programas para el proyecto. [4]
Los orígenes y el desarrollo de la mayoría de los aspectos del Proyecto GNU (y del software libre en general) se comparten en una narración detallada en el sistema de ayuda de Emacs. (Ch g ejecuta el comando del editor de Emacs describe-gnu-project). Es la misma historia detallada que aparece en su sitio web.
El Manifiesto GNU fue escrito por Richard Stallman para ganar apoyo y participación en el Proyecto GNU. En el Manifiesto GNU, Stallman enumeró cuatro libertades esenciales para los usuarios de software: libertad para ejecutar un programa para cualquier propósito, libertad para estudiar la mecánica del programa y modificarlo, libertad para redistribuir copias y libertad para mejorar y cambiar versiones modificadas para uso público. [13] [14] Para implementar estas libertades, los usuarios necesitaban acceso total al código fuente . Para garantizar que el código permaneciera libre y proporcionarlo al público, Stallman creó la Licencia Pública General GNU (GPL), que permitía que el software y las futuras generaciones de código derivadas de él permanecieran libres para uso público.
Aunque la mayor parte de la producción del Proyecto GNU es de naturaleza técnica, se lanzó como una iniciativa social, ética y política. Además de producir software y licencias, el Proyecto GNU ha publicado una serie de escritos, la mayoría de los cuales fueron escritos por Richard Stallman.
El proyecto GNU utiliza software que los usuarios pueden copiar, editar y distribuir libremente. Es gratuito en el sentido de que los usuarios pueden modificar el software para adaptarlo a sus necesidades individuales. La forma en que los programadores obtienen el software gratuito depende de dónde lo obtengan. El software puede ser proporcionado al programador por amigos o a través de Internet, o la empresa para la que trabaja el programador puede comprarlo.
Las ganancias de los miembros asociados, las compras y las donaciones apoyan el Proyecto GNU. [15]
El copyleft es lo que ayuda a mantener el uso libre de este software entre otros programadores. El copyleft otorga a todo el mundo el derecho legal de usar, editar y redistribuir programas o códigos de programas siempre que no cambien los términos de distribución. Como resultado, cualquier usuario que obtenga el software legalmente tiene las mismas libertades que el resto de sus usuarios.
El Proyecto GNU y la Free Software Foundation a veces diferencian entre copyleft "fuerte" y "débil". Los programas con copyleft "débil" suelen permitir a los distribuidores vincularlos con programas que no son libres, mientras que el copyleft "fuerte" prohíbe estrictamente esta práctica. La mayor parte de la producción del Proyecto GNU se publica bajo un copyleft fuerte, aunque una parte se publica bajo un copyleft débil o una licencia de software libre laxa y fácil de aceptar. [16] [17]
El primer objetivo del proyecto GNU era crear un sistema operativo totalmente libre. Como UNIX ya estaba muy extendido y funcionaba en máquinas más potentes que las máquinas CP/M o MS-DOS de la época, [18] se decidió que sería un sistema operativo tipo Unix. Richard Stallman comentó más tarde que consideraba a MS-DOS "un juguete". [19]
En 1992, el proyecto GNU había completado todas las principales utilidades del sistema operativo, pero no había completado su núcleo de sistema operativo propuesto , GNU Hurd . Con el lanzamiento del núcleo Linux , iniciado independientemente por Linus Torvalds en 1991, y publicado bajo la GPLv2 con la versión 0.12 en 1992, por primera vez fue posible ejecutar un sistema operativo compuesto completamente de software libre. Aunque el núcleo Linux no es parte del proyecto GNU, fue desarrollado utilizando GCC y otras herramientas de programación GNU y fue publicado como software libre bajo la Licencia Pública General GNU . [20] La mayor parte de la compilación del núcleo Linux todavía se realiza con cadenas de herramientas GNU, pero actualmente es posible utilizar el compilador Clang y la cadena de herramientas LLVM para la compilación. [21]
Hasta el momento, el proyecto GNU no ha publicado una versión de GNU/Hurd que sea adecuada para entornos de producción desde el comienzo del proyecto GNU/Hurd hace más de 33 años. [22]
Se puede ejecutar una versión estable (o variante) de GNU combinando los paquetes de GNU con el núcleo Linux , creando un sistema funcional similar a Unix . El proyecto GNU lo llama GNU/Linux y las características que lo definen son la combinación de:
En el sitio web de GNU se presenta una lista de proyectos y cada uno de ellos tiene especificaciones sobre qué tipo de desarrollador puede realizar la tarea necesaria para una determinada parte del proyecto GNU. El nivel de habilidad varía de un proyecto a otro, pero se anima a cualquier persona con conocimientos previos de programación a que apoye el proyecto.
El conjunto de herramientas GNU, junto con el núcleo Linux y otros programas, se denomina habitualmente distribución Linux (distro). El Proyecto GNU denomina a la combinación de GNU y el núcleo Linux "GNU/Linux" y pide a otros que hagan lo mismo, [34] lo que ha dado lugar a la controversia sobre el nombre GNU/Linux .
La mayoría de las distribuciones de Linux combinan paquetes GNU con un núcleo Linux que contiene blobs binarios propietarios . [35]
Las Directrices de distribución de sistemas libres de GNU (GNU FSDG) son un compromiso de distribución de sistemas que explica cómo una distribución de sistema instalable (como una distribución de Linux) califica como libre y ayuda a los desarrolladores de distribuciones a hacer que sus distribuciones califiquen.
La lista describe principalmente distribuciones que son una combinación de paquetes GNU con un núcleo Linux-libre (un núcleo Linux modificado que elimina blobs binarios, código ofuscado y porciones de código bajo licencias propietarias) y consisten solo en software libre (evitando por completo el software propietario). [36] [37] [35] Las distribuciones que han adoptado el GNU FSDG incluyen Dragora GNU/Linux-Libre , GNU Guix System , Hyperbola GNU/Linux-libre , Parabola GNU/Linux-libre , Trisquel GNU/Linux , PureOS y algunas otras. [38]
Las pautas de licencia de distribución del Proyecto Fedora se utilizaron como base para la FSDG. [39] Sin embargo, las propias pautas del Proyecto Fedora actualmente no siguen la FSDG y, por lo tanto, el Proyecto GNU no considera que Fedora sea una distribución GNU/Linux completamente libre. [35]
Desde mediados de los años 1990 en adelante, con muchas empresas invirtiendo en el desarrollo de software libre, la Free Software Foundation reorientó sus fondos hacia el apoyo legal y político al desarrollo de software libre. El desarrollo de software a partir de ese momento se centró en mantener los proyectos existentes y comenzar nuevos proyectos solo cuando existía una amenaza grave para la comunidad del software libre . Uno de los proyectos más notables del Proyecto GNU es la Colección de compiladores GNU , cuyos componentes han sido adoptados como el sistema de compilación estándar en muchos sistemas tipo Unix .
Los derechos de autor de la mayoría de las obras del Proyecto GNU pertenecen a la Free Software Foundation. [40]
El proyecto GNU lanzó el proyecto GNOME porque otro sistema de escritorio, KDE , se estaba volviendo popular pero requería que los usuarios instalaran Qt , que entonces era software propietario . Para evitar que la gente se sintiera tentada a instalar KDE y Qt, el proyecto GNU lanzó simultáneamente dos proyectos. Uno fue el kit de herramientas Harmony . Este fue un intento de hacer un reemplazo de software libre para Qt. Si este proyecto hubiera tenido éxito, el problema percibido con KDE se habría resuelto. El segundo proyecto fue GNOME, que abordó el mismo problema desde un ángulo diferente. Su objetivo era hacer un reemplazo para KDE que no tuviera dependencias de software propietario. El proyecto Harmony no hizo mucho progreso, pero GNOME se desarrolló muy bien. Finalmente, el componente propietario del que dependía KDE ( Qt ) fue lanzado como software libre. [41] Desde entonces, GNOME se ha desvinculado del proyecto GNU y de la Free Software Foundation, y ahora es administrado independientemente por el proyecto GNOME .
GNU Enterprise ( GNUe ) es un metaproyecto iniciado en 1996, [42] y puede considerarse un subproyecto del Proyecto GNU. El objetivo de GNUe es crear "aplicaciones empresariales con reconocimiento de datos" gratuitas ( planificadores de recursos empresariales , etc.). GNUe está diseñado para recopilar software empresarial para el sistema GNU en una única ubicación (de forma muy similar a como el proyecto GNOME recopila software de escritorio).
En 2001, el Proyecto GNU recibió el premio USENIX Lifetime Achievement Award por "la ubicuidad, amplitud y calidad de su software libremente disponible, redistribuible y modificable, que ha permitido una generación de investigación y desarrollo comercial". [43]
Agradecemos a Aurelio A. Heckert... por donarnos este gráfico.
Este gráfico fue realizado por Etienne Suvasa.
El nombre "GNU" es un acrónimo recursivo de "GNU's Not Unix!"; se pronuncia
g-noo
, como una sílaba sin sonido vocálico entre la
g
y la
n
.
...hemos intentado usar la palabra "Linux" o la expresión "kernel de Linux" para designar el kernel, y GNU/Linux para designar todo el cuerpo de software del sistema operativo GNU/GPL,... ...mucha gente olvida que la lista de correo del kernel de Linux es un foro para discutir asuntos relacionados con el kernel, no GNU/Linux en general...
Hoy nos centramos en la nube y en los dispositivos móviles, y estamos claramente a la cabeza de GNU/Linux en ambos frentes.
Es uno de los pocos archivos GNU que no se distribuyen bajo la Licencia Pública General de GNU o la Licencia Pública General Reducida de GNU; se distribuye bajo una licencia como la Licencia X11
Existen razones que pueden hacer que sea mejor utilizar la GPL menor en ciertos casos.
Es posible que no esté listo para su uso en producción, ya que aún tiene algunos errores y faltan funciones.
Nos gustaría agradecer al Proyecto Fedora por su ayuda para enfocar estas políticas y permitirnos usar sus propias directrices de licencia de distribución como base para este documento.