El Proyecto GNU ( / ɡ n uː / )[3]es unproyectode colaboración masivadesoftware libreRichard Stallmanel 27 de septiembre de 1983. Su objetivo es brindar 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 brinda todos los derechos para ejecutar libremente el software, copiarlo, distribuirlo, estudiarlo y modificarlo. El software GNU otorga estos derechos en sulicencia.
Para garantizar que todo el software de una computadora conceda a sus usuarios todos los derechos de libertad (usar, compartir, estudiar, modificar), incluso la parte más fundamental e importante, el sistema operativo (incluidos todos sus numerosos programas de utilidad) necesitaba ser libre. software. 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 fundacional del proyecto era construir un sistema operativo libre y, si fuera posible, "todo lo útil que normalmente viene con un sistema Unix para que uno pudiera prescindir de cualquier software que no sea libre. " El desarrollo se inició en enero de 1984. En 1991 apareció el kernel de Linux , desarrollado fuera del proyecto GNU por Linus Torvalds , [5] y en diciembre de 1992 estuvo disponible 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 fue 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 campaña política 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 consideró que era el diseño de sistema más apropiado para usarlo como base para el Proyecto GNU, ya que era portátil y "bastante limpio". [10]
Cuando comenzó el proyecto GNU, tenían un editor de texto Emacs con Lisp para escribir comandos de edición, un depurador a nivel de código fuente , un generador de analizador compatible con yacc y un vinculador . [11] El sistema GNU requería su propio compilador de C y herramientas para ser software libre, por lo que también hubo que desarrollarlas. En 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 Unix (como ,,, y ). [12] Tenían un kernel inicial que necesitaba más actualizaciones. ls
grep
awk
make
ld
Una vez que el kernel y el compilador estuvieron terminados, GNU pudo usarse para el desarrollo de programas . El objetivo principal era crear muchas otras aplicaciones similares al sistema Unix. GNU podía ejecutar programas Unix pero no era idéntico a él. GNU incorporó nombres de archivos más largos, números de versión de archivos y un sistema de archivos a prueba de fallas. 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. Las personas podrían donar fondos, piezas de computadora o incluso su propio tiempo para escribir códigos 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 narrativa detallada en el sistema de ayuda de Emacs. (Ch g ejecuta el comando del editor de Emacs describe-gnu-project). Es el mismo historial detallado que en su sitio web.
El Manifiesto GNU fue escrito por Richard Stallman para obtener 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 el público. usar. [13] [14] Para implementar estas libertades, los usuarios necesitaban acceso completo al código fuente . Para garantizar que el código siguiera siendo gratuito y ofrecérselo al público, Stallman creó la Licencia Pública General GNU (GPL), que permitía que el software y las generaciones futuras de código derivado de él siguieran siendo gratuitos para uso público.
Aunque la mayor parte del resultado 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 varios 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 de forma gratuita. Es gratuito en el sentido de que los usuarios pueden cambiar el software para adaptarlo a sus necesidades individuales. La forma en que los programadores obtienen el software libre depende de dónde lo obtienen. El software se lo pueden proporcionar al programador amigos o a través de Internet, o la empresa para la que trabaja el programador puede comprar el software.
Las ganancias de los miembros asociados, las compras y las donaciones apoyan el Proyecto GNU. [15]
Copyleft es lo que ayuda a mantener el uso gratuito de este software entre otros programadores. Copyleft otorga a todos el derecho legal a usar, editar y redistribuir programas o códigos de programas siempre que los términos de distribución no cambien. Como resultado, cualquier usuario que obtenga el software de forma legal tiene las mismas libertades que el resto de sus usuarios.
El Proyecto GNU y la Fundación para el Software Libre a veces diferencian entre copyleft "fuerte" y "débil". Los programas copyleft "débiles" normalmente permiten 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 fuerte copyleft, aunque parte se publica bajo un copyleft débil o una licencia de software libre laxa y push-over. [16] [17]
El primer objetivo del proyecto GNU era crear un sistema operativo completo de software libre. Debido a que UNIX ya estaba muy extendido y se ejecutaba en máquinas más potentes, en comparación con las máquinas CP/M o MS-DOS contemporáneas de la época, [18] se decidió que sería un sistema operativo similar a Unix. Richard Stallman comentó más tarde que consideraba MS-DOS "un juguete". [19]
En 1992, el proyecto GNU había completado todas las utilidades principales del sistema operativo, pero no había completado el núcleo del sistema operativo propuesto , GNU Hurd . Con el lanzamiento del kernel Linux , iniciado de forma independiente por Linus Torvalds en 1991, y lanzado bajo la GPLv2 con la versión 0.12 en 1992, por primera vez fue posible ejecutar un sistema operativo compuesto íntegramente por software libre. Aunque el kernel de Linux no forma parte del proyecto GNU, se desarrolló utilizando GCC y otras herramientas de programación GNU y se lanzó como software gratuito bajo la Licencia Pública General GNU . [20] La mayor parte de la compilación del kernel de 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 lanzado 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 GNU con el kernel de Linux , creando un sistema funcional similar a Unix . El proyecto GNU llama a esto GNU/Linux, y las características que lo definen son la combinación de:
Dentro del sitio web de GNU, se presenta una lista de proyectos y cada proyecto tiene detalles sobre qué tipo de desarrollador es capaz de 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 en programación a apoyar el proyecto.
El paquete de herramientas GNU, junto con el kernel de Linux y otros programas, suele denominarse distribución (distro) de Linux . El Proyecto GNU llama a la combinación de GNU y el kernel de Linux "GNU/Linux" y pide a otros que hagan lo mismo, [34] lo que da lugar a la controversia sobre el nombre de GNU/Linux .
La mayoría de las distribuciones de Linux combinan paquetes GNU con un kernel de Linux que contiene blobs binarios propietarios . [35]
Las Pautas de distribución de sistemas libres GNU (GNU FSDG) son un compromiso de distribución de sistemas que se utiliza para explicar lo que significa que una distribución de sistema instalable (como una distribución de Linux) califique como gratuita (libre) y ayudar a los desarrolladores de distribuciones a hacer que sus distribuciones califiquen.
Principalmente, la lista describe distribuciones que son una combinación de paquetes GNU con un kernel Linux libre (un kernel Linux modificado que elimina blobs binarios, código ofuscado y porciones de código bajo licencias propietarias) y consisten únicamente en software libre (evitando el software propietario). enteramente). [36] [37] [35] Las distribuciones que han adoptado GNU FSDG incluyen Dragora GNU/Linux-Libre , GNU Guix System , Hyperbola GNU/Linux-libre , Parabola GNU/Linux-libre , Trisquel GNU/Linux , PureOS y algunos otros. [38]
Las pautas de licencia de distribución del Proyecto Fedora se utilizaron como base para el FSDG. [39] Las propias directrices del Proyecto Fedora, sin embargo, actualmente no siguen la FSDG y, por lo tanto, el Proyecto GNU no considera que Fedora sea una distribución GNU/Linux totalmente libre. [35]
Desde mediados de la década de 1990 en adelante, cuando muchas empresas invirtieron en el desarrollo de software libre, la Free Software Foundation redirigió sus fondos hacia el apoyo legal y político al desarrollo de software libre. A partir de ese momento, el desarrollo de software se centró en mantener los proyectos existentes y en iniciar nuevos proyectos sólo cuando habí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 sistema compilador estándar en muchos sistemas tipo Unix .
Los derechos de autor de la mayoría de las obras del Proyecto GNU son propiedad de la Free Software Foundation. [40]
El esfuerzo del escritorio GNOME fue lanzado por el Proyecto GNU porque otro sistema de escritorio, KDE , se estaba volviendo popular pero requería que los usuarios instalaran Qt , que en ese entonces era software propietario . Para evitar que la gente se sienta tentada a instalar KDE y Qt, el Proyecto GNU lanzó dos proyectos simultáneamente. Uno era el kit de herramientas Harmony . Este fue un intento de realizar un reemplazo de software gratuito 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 tema desde un ángulo diferente. Su objetivo era crear un reemplazo para KDE que no dependiera de software propietario. El proyecto Harmony no avanzó mucho, 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 disociado del Proyecto GNU y de la Fundación de Software Libre, y ahora es administrado de forma independiente por el Proyecto GNOME .
GNU Enterprise ( GNUe ) es un metaproyecto iniciado en 1996, [42] y puede considerarse como un subproyecto del Proyecto GNU. El objetivo de GNUe es crear "aplicaciones con reconocimiento de datos de clase empresarial" gratuitas ( planificadores de recursos empresariales , etc.). GNUe está diseñado para recopilar software empresarial para el sistema GNU en una única ubicación (al igual que 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 redistribuible y modificable de libre acceso, 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 dibujado 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 utilizar la palabra "Linux" o la expresión "kernel de Linux" para designar el kernel, y GNU/Linux para designar el cuerpo completo del software del sistema operativo GNU/GPL,... ...muchos la gente olvida que la lista de correo del kernel de Linux es un foro para la discusión de asuntos relacionados con el kernel, no GNU/Linux en general...
Hoy nuestro enfoque está en la nube y en los dispositivos móviles, y estamos claramente liderando GNU/Linux en ambos frentes.
Es uno de los pocos archivos GNU que no se distribuyen bajo la Licencia pública general GNU o la Licencia pública general reducida GNU; se distribuye bajo una licencia como la Licencia X11
Hay razones que pueden hacer que sea mejor utilizar la GPL reducida en determinados casos.
Es posible que no esté listo para su uso en producción, ya que todavía faltan algunos errores y funciones.
Nos gustaría agradecer al Proyecto Fedora por su ayuda para enfocar estas políticas y permitirnos utilizar sus propias pautas de licencia de distribución como base para este documento.