ÑU ( / ɡ n uː / )[3][4]es una extensa colección desoftware gratuito(394 paquetes a junio de 2024[5]), que puede usarse como sistema operativo o puede usarse en partes con otros sistemas operativos.[6][7][8]El uso de las herramientas GNU completas dio lugar a la familia de sistemas operativos conocida popularmente comoLinux.[9]La mayor parte de GNU está bajo laGPLdel propioProyecto GNU.[actualizar]
GNU es también el proyecto dentro del cual se originó el concepto de software libre . Richard Stallman , el fundador del proyecto, ve a GNU como un "medio técnico para un fin social". [10] De manera relacionada, Lawrence Lessig afirma en su introducción a la segunda edición del libro de Stallman Software libre, sociedad libre que en él Stallman ha escrito sobre "los aspectos sociales del software y cómo el software libre puede crear comunidad y justicia social". [11]
GNU es un acrónimo recursivo de "¡GNU's Not Unix!", [6] [12] elegido porque el diseño de GNU es similar a Unix , pero se diferencia de Unix por ser software libre y no contener código Unix. [6] [13] [14] Stallman eligió el nombre usando varios juegos de palabras, incluida la canción The Gnu . [4] : 45:30
El desarrollo del sistema operativo GNU fue iniciado por Richard Stallman mientras trabajaba en el Laboratorio de Inteligencia Artificial del MIT . Se llamó Proyecto GNU y Stallman lo anunció públicamente el 27 de septiembre de 1983 en los grupos de noticias net.unix-wizards y net.usoft. [15] El desarrollo de software comenzó el 5 de enero de 1984, cuando Stallman renunció a su trabajo en el laboratorio para que no pudieran reclamar la propiedad ni interferir con la distribución de los componentes GNU como software libre. [dieciséis]
El objetivo era crear un sistema operativo de software completamente gratuito. Stallman quería que los usuarios de computadoras tuvieran libertad para estudiar el código fuente del software que utilizan, compartir software con otras personas, modificar el comportamiento del software y publicar sus versiones modificadas del software. Esta filosofía fue publicada como Manifiesto GNU en marzo de 1985. [17]
La experiencia de Richard Stallman con el Sistema de tiempo compartido incompatible (ITS), [16] uno de los primeros sistemas operativos escrito en lenguaje ensamblador que quedó obsoleto debido a la interrupción de PDP-10 , la arquitectura informática para la cual se escribió ITS, llevó a la decisión de que un portátil era necesario el sistema. [4] : 40:52 [18] Se decidió así que el desarrollo se iniciaría utilizando C y Lisp como lenguajes de programación del sistema, [19] y que GNU sería compatible con Unix. [20] En ese momento, Unix ya era un sistema operativo propietario popular. El diseño de Unix era modular, por lo que podía reimplementarse pieza por pieza. [18]
Gran parte del software necesario tuvo que escribirse desde cero, pero también se utilizaron componentes de software libre de terceros compatibles, como el sistema de composición tipográfica TeX , el sistema X Window y el micronúcleo Mach que forma la base del núcleo GNU Mach de GNU Hurd (el núcleo oficial de GNU). [21] Con la excepción de los componentes de terceros antes mencionados, la mayor parte de GNU ha sido escrita por voluntarios; algunos en su tiempo libre, otros pagados por empresas, [22] instituciones educativas y otras organizaciones sin fines de lucro. En octubre de 1985, Stallman creó la Free Software Foundation (FSF). A finales de los años 1980 y 1990, la FSF contrató desarrolladores de software para escribir el software necesario para GNU. [23] [24]
A medida que GNU ganó prominencia, las empresas interesadas comenzaron a contribuir al desarrollo o vender software y soporte técnico de GNU. El más destacado y exitoso de ellos fue Cygnus Solutions , [22] ahora parte de Red Hat . [25]
Los componentes básicos del sistema incluyen GNU Compiler Collection (GCC), la biblioteca GNU C (glibc) y GNU Core Utilities (coreutils), [6] pero también GNU Debugger (GDB), GNU Binary Utilities (binutils), [26 ] y el shell GNU Bash . [21] [27] [28] Los desarrolladores de GNU han contribuido a los ports de Linux de aplicaciones y utilidades GNU, que ahora también se utilizan ampliamente en otros sistemas operativos, como variantes de BSD , Solaris y macOS . [29] [ se necesita una mejor fuente ]
Muchos programas GNU han sido portados a otros sistemas operativos, incluidas plataformas propietarias como Microsoft Windows [30] y macOS. [31] Se ha demostrado que los programas GNU son más fiables que sus homólogos propietarios de Unix. [32] [33]
En junio de 2024 [actualizar], hay un total de 467 paquetes GNU (incluidos los desmantelados y 394 excluidos) alojados en el sitio oficial de desarrollo de GNU. [34]
En su significado original , y todavía común en la ingeniería de hardware, el sistema operativo es un conjunto básico de funciones para controlar el hardware y gestionar cosas como la programación de tareas y las llamadas al sistema . En la terminología moderna utilizada por los desarrolladores de software, el conjunto de estas funciones suele denominarse núcleo , mientras que se espera que un 'sistema operativo' tenga un conjunto más extenso de programas. El proyecto GNU mantiene dos núcleos, lo que permite la creación de sistemas operativos GNU puros, pero la cadena de herramientas GNU también se utiliza con núcleos que no son GNU. Debido a las dos definiciones diferentes del término "sistema operativo", existe un debate en curso sobre la denominación de las distribuciones de paquetes GNU con un núcleo que no es GNU . (Vea abajo.)
El núcleo original del Proyecto GNU es GNU Hurd (junto con el micronúcleo GNU Mach ), que fue el enfoque original de la Free Software Foundation (FSF). [6] [35] [36] [37]
Con el lanzamiento del 30 de abril de 2015 de la distribución Debian GNU/Hurd 2015, [38] [39] GNU ahora proporciona todos los componentes necesarios para ensamblar un sistema operativo que los usuarios pueden instalar y usar en una computadora. [40] [41] [42]
Sin embargo, el kernel Hurd aún no se considera listo para producción, sino más bien una base para un mayor desarrollo y uso de aplicaciones no críticas. [43] [40]
En 2012, una bifurcación del kernel de Linux pasó a formar parte oficialmente del Proyecto GNU en forma de Linux-libre , una variante de Linux sin todos los componentes propietarios. [44] El Proyecto GNU ha respaldado distribuciones Linux-libre, como Trisquel , Parabola GNU/Linux-libre , PureOS y GNU Guix System . [45]
Debido al estado de desarrollo de Hurd, GNU generalmente se combina con otros núcleos como Linux [46] [47] o FreeBSD . [48] Si la combinación de bibliotecas GNU con núcleos externos es un sistema operativo GNU con un núcleo (por ejemplo, GNU con Linux), porque la colección GNU convierte el núcleo en un sistema operativo utilizable tal como se entiende en el desarrollo de software moderno, o si el núcleo es un sistema operativo en sí mismo con una capa GNU encima (es decir, Linux con GNU), porque el kernel puede operar una máquina sin GNU, es un tema de debate continuo. La FSF sostiene que un sistema operativo creado utilizando el kernel de Linux y las herramientas y utilidades de GNU debe considerarse una variante de GNU , y promueve el término GNU/Linux para dichos sistemas (lo que lleva a la controversia sobre el nombre de GNU/Linux ). Esta visión no es exclusiva del FSF. [49] [50] [51] [52] [53] En particular, Debian , una de las distribuciones de Linux más grandes y antiguas, se refiere a sí misma como Debian GNU/Linux . [54]
El Proyecto GNU recomienda que los contribuyentes asignen los derechos de autor de los paquetes GNU a la Free Software Foundation, [55] [56] aunque la Free Software Foundation considera aceptable publicar pequeños cambios en un proyecto existente al dominio público . [57] Sin embargo, esto no es obligatorio; Los mantenedores de paquetes pueden conservar los derechos de autor de los paquetes GNU que mantienen, aunque dado que sólo el titular de los derechos de autor puede hacer cumplir la licencia utilizada (como la GNU GPL), en este caso es el titular de los derechos de autor la que la hace cumplir y no la Free Software Foundation. [58]
Para el desarrollo del software necesario, Stallman escribió una licencia llamada Licencia Pública General GNU (primero llamada Licencia Pública General de Emacs), con el objetivo de garantizar a los usuarios la libertad de compartir y cambiar software libre. [59] Stallman escribió esta licencia después de su experiencia con James Gosling y un programa llamado UniPress, sobre una controversia sobre el uso del código de software en el programa GNU Emacs . [60] [61] Durante la mayor parte de los años 80, cada paquete GNU tenía su propia licencia: la Licencia Pública General de Emacs, la Licencia Pública General de GCC, etc. En 1989, la FSF publicó una licencia única que podían usar para todo su software, y que podría ser utilizado por proyectos que no sean GNU: la Licencia Pública General GNU (GPL). [60] [62]
Esta licencia ahora es utilizada por la mayor parte del software GNU, así como por una gran cantidad de programas de software libre que no forman parte del Proyecto GNU; también ha sido históricamente la licencia de software libre más utilizada (aunque recientemente cuestionada por la licencia del MIT ). [63] [64] Otorga a todos los destinatarios de un programa el derecho a ejecutarlo, copiarlo, modificarlo y distribuirlo, al tiempo que les prohíbe imponer restricciones adicionales a cualquier copia que distribuyan. Esta idea suele denominarse copyleft . [sesenta y cinco]
En 1991, se redactó la Licencia pública general reducida (LGPL) de GNU , entonces conocida como Licencia pública general de biblioteca, para la biblioteca GNU C para permitir su vinculación con software propietario. [66] 1991 también vio el lanzamiento de la versión 2 de GNU GPL. La Licencia de documentación libre GNU (FDL), para documentación, siguió en 2000. [67] La GPL y la LGPL se revisaron a la versión 3 en 2007, añadiendo cláusulas para proteger a los usuarios contra restricciones de hardware que impiden a los usuarios ejecutar software modificado en sus propios dispositivos. . [68]
Además de los paquetes de GNU, las licencias del Proyecto GNU pueden [69] y son utilizadas por muchos proyectos no relacionados, como el kernel de Linux , a menudo utilizado con el software GNU. La mayoría del software libre, como el sistema X Window, [70] tiene licencias de software libre permisivas . [71]
El logo de GNU es una cabeza de ñu . Dibujado originalmente por Etienne Suvasa, ahora se prefiere una versión más atrevida y simple diseñada por Aurelio Heckert. [72] [73] Aparece en el software GNU y en la documentación impresa y electrónica del Proyecto GNU, y también se utiliza en los materiales de la Free Software Foundation.
También hubo una versión modificada del logo oficial. Fue creado por la Free Software Foundation en septiembre de 2013 con el fin de conmemorar el 30 aniversario del Proyecto GNU . [74]
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
.
{{cite journal}}
: Citar diario requiere |journal=
( ayuda )Tanto C como Lisp estarán disponibles como lenguajes de programación del sistema.
Casi veinte años después, el HURD aún no ha alcanzado la madurez y nunca ha logrado una calidad de producción. ... Algunos de nosotros todavía deseamos y esperamos algo real: un sistema operativo GNU con un núcleo GNU.
Había mezclado todos los ingredientes necesarios para que funcionara un sistema operativo, pero le faltaba el núcleo.
La idea de RMS (que he oído de primera mano) es que los sistemas Linux deberían considerarse sistemas GNU con Linux como núcleo.
GNU es un sistema operativo que ofrece un conjunto de programas gratuitos de código abierto.
Actualmente se utilizan ampliamente variantes del sistema operativo GNU, que utilizan el kernel Linux; Aunque estos sistemas a menudo se denominan "Linux", se les llama más exactamente "sistemas GNU/Linux".