El 25 de agosto de 1991, después de cinco meses de desarrollo, el estudiante de 21 años Linus Torvalds anunció en la conferencia de telecomunicaciones comp.os.minix la creación de un prototipo funcional de un nuevo sistema operativo Linux, para el cual se marcó la finalización del portado de bash 1.08 y gcc 1.40. La primera versión pública del núcleo de Linux se presentó el 17 de septiembre. El núcleo 0.0.1 tenía un tamaño de 62 KB comprimido y contenía aproximadamente 10,000 líneas de código fuente. El núcleo moderno de Linux cuenta con alrededor de 44 millones de líneas de código.
El núcleo de Linux fue creado bajo la influencia del sistema operativo MINIX, que no satisfacía a Linus debido a su licencia restrictiva. Posteriormente, cuando Linux se convirtió en un proyecto conocido, detractores intentaron acusar a Linus de copiar directamente el código de ciertos subsistemas de MINIX. Andrew Tanenbaum, el autor de MINIX, defendió a Linus, quien encargó a uno de sus estudiantes realizar una comparación detallada entre el código de Minix y las primeras versiones públicas de Linux. Los resultados del estudio mostraron solo cuatro coincidencias no significativas en bloques de código, atribuibles a los requisitos de POSIX y ANSI C.
Inicialmente, Linus planeaba nombrar el núcleo Freax, a partir de las palabras "free", "freak" y X (Unix). Pero el nombre "Linux" le fue dado por Ari Lemmke, quien a pedido de Linus colocó el núcleo en el servidor FTP de la universidad, nombrando el directorio del archivo no como "freax", como pidió Torvalds, sino "linux". Es notable que el empresario William Della Croce logró registrar la marca comercial Linux y quería recaudar regalías con el tiempo, pero luego cambió de opinión y transfirió todos los derechos de la marca a Linus. La mascota oficial del núcleo de Linux, el pingüino Tux, fue elegida a través de una competencia celebrada en 1996. El nombre Tux significa Torvalds UniX.
Dinámica de crecimiento de la base de código (número de líneas de código fuente) del núcleo:
- 0.0.1 — septiembre de 1991, 10,000 líneas de código;
- 1.0.0 — marzo de 1994, 176,000 líneas de código;
- 1.2.0 — marzo de 1995, 311,000 líneas de código;
- 2.0.0 — junio de 1996, 778,000 líneas de código;
- 2.2.0 — enero de 1999, 1.8 millones de líneas de código;
- 2.4.0 — enero de 2001, 3.4 millones de líneas de código;
- 2.6.0 — diciembre de 2003, 5.9 millones de líneas de código;
- 2.6.28 — diciembre de 2008, 10.2 millones de líneas de código;
- 2.6.35 — agosto de 2010, 13.4 millones de líneas de código;
- 3.0 — agosto de 2011, 14.6 millones de líneas de código;
- 3.5 — julio de 2012, 15.5 millones de líneas de código;
- 3.10 — julio de 2013, 15.8 millones de líneas de código;
- 3.16 — agosto de 2014, 17.5 millones de líneas de código;
- 4.1 — junio de 2015, 19.5 millones de líneas de código;
- 4.7 — julio 2016, 21.7 millones de líneas de código;
- 4.12 — julio 2017, 24.1 millones de líneas de código;
- 4.18 — agosto 2018, 25.3 millones de líneas de código;
- 5.2 — julio 2019, 26.55 millones de líneas de código;
- 5.8 — agosto 2020, 28.4 millones de líneas de código;
- 5.13 — junio 2021, 29.2 millones de líneas de código;
- 5.19 — agosto 2022, 30.5 millones de líneas de código;
- 6.4 — junio 2023, 32.9 millones de líneas de código.
- 6.10 — julio 2024, 35.1 millones de líneas de código.
- 6.16 — julio 2025, 40.8 millones de líneas de código.
- 7.2 — agosto 2026, 43.9 millones de líneas de código.
Progreso en el desarrollo del núcleo:
- Linux 0.0.1 — septiembre 1991, primer lanzamiento público, que solo admite CPU i386 y se inicia desde disquete;
- Linux 0.12 — enero 1992, el código comenzó a distribuirse bajo la licencia GPLv2;
- Linux 0.95 — marzo 1992, se habilitó el inicio del sistema X Window, se implementó soporte para memoria virtual y swap;
- Linux 0.96-0.99 — 1992-1993, comenzó el trabajo en la pila de red. Se presentó el sistema de archivos Ext2, se añadió soporte para el formato de archivo ELF, se presentaron controladores para tarjetas de sonido y controladores SCSI, se implementó la carga de módulos del núcleo y del sistema de archivos /proc.
- En 1992 aparecieron las primeras distribuciones SLS y Yggdrasil. En el verano de 1993 se fundaron los proyectos Slackware y Debian.
- Linux 1.0 — marzo 1994, primer lanzamiento estable oficialmente;
- Linux 1.2 — marzo 1995, aumento significativo en el número de controladores, soporte para las plataformas Alpha, MIPS y SPARC, expansión de las capacidades de la pila de red, aparición del filtro de paquetes, soporte para NFS;
- Linux 2.0 — junio 1996, soporte para sistemas multiprocesadores;
- Marzo 1997: se funda LKML, la lista de correos de desarrolladores del núcleo de Linux;
- 1998: se lanza el primer clúster basado en Linux que aparece en la lista Top500, compuesto por 68 nodos con CPU Alpha;
- Linux 2.2 — enero 1999, se mejora la eficiencia del sistema de gestión de memoria, se añade soporte para IPv6, se implementa un nuevo firewall, se presenta un nuevo subsistema de sonido;
- Linux 2.4 — febrero 2001, se asegura el soporte para sistemas de 8 procesadores y 64 GB de RAM, sistema de archivos Ext3, soporte para USB, ACPI;
- Linux 2.6 — diciembre 2003, soporte para SELinux, herramientas para la sintonización automática de parámetros del núcleo, sysfs, sistema de gestión de memoria rediseñado;
- En 2005 se presentó el hipervisor Xen, que abrió la era de la virtualización;
- En septiembre de 2008 se formó el primer lanzamiento de la plataforma Android, basada en el núcleo de Linux;
- En julio de 2011, después de 10 años de desarrollo de la rama 2.6.x, se hizo la transición a la numeración 3.x. El número de objetos en el repositorio de Git alcanzó los 2 millones;
- En 2015, se lanzó el núcleo de Linux 4.0. El número de objetos git en el repositorio alcanzó los 4 millones;
- En abril de 2018, se superó la marca de 6 millones de objetos git en el repositorio del núcleo.
- En enero de 2019, se formó la rama del núcleo Linux 5.0. El repositorio alcanzó un nivel de 6.5 millones de objetos git.
- El núcleo 5.8, publicado en agosto de 2020, se convirtió en el más grande en número de cambios de todos los núcleos en la historia del proyecto.
- En el núcleo 5.13 se estableció un récord de desarrolladores (2150), cuyos cambios fueron incluidos en el núcleo.
- En agosto de 2022, se formó la rama del núcleo Linux 6.0, ya que la rama 5.x acumuló suficientes lanzamientos para cambiar el primer número en el número de versión.
- El núcleo 6.1, lanzado en diciembre de 2022, agregó la capacidad de utilizar el lenguaje Rust como segundo idioma para el desarrollo de controladores y módulos del núcleo.
- En febrero de 2025, se alcanzó la marca de 40 millones de líneas de código fuente.
- El soporte para Rust fue trasladado de experimental a características principales del núcleo de Linux.
- En 2026, se destacó el avance en el uso de herramientas de IA para la depuración, revisión de cambios, descubrimiento de errores y desarrollo de correcciones en el núcleo. Entre otras cosas, Linus Torvalds comenzó a utilizar IA, por ejemplo, recientemente para identificar causas de problemas en el controlador de Intel Xe.
Aproximadamente el 65% de todos los cambios en el núcleo fueron realizados por las 20 empresas más activas. Por ejemplo, en el desarrollo del núcleo 7.1, de todos los cambios el 9.1% (el año pasado en el núcleo 6.16 fue 11.3%) fue preparado por la empresa Intel, el 7.7% (6.3%) por Google, el 5.2% (5.4%) por AMD, el 5.0% (3.6%) por Qualcomm, el 4.7% (7.6%) por Red Hat, el 3.8% (2.4%) por NVIDIA, el 3.4% (2.9%) por Meta, el 2.9% (3.0%) por SUSE, el 2.5% (2.9%) por Oracle, el 2.1% (2.3%) por ARM, el 1.4% (1.4%) por IBM y el 1.3% (2.4%) por Huawei. El 18% (15.3%) de los cambios fueron preparados por participantes o desarrolladores independientes que no declararon explícitamente su trabajo en ciertas empresas. En cuanto a las líneas de código añadidas al núcleo 7.1, las empresas Meta, AMD y Qualcomm lideraron con cuotas del 15.8%, 13.8% y 7.6% (en el núcleo 6.16, Intel, Red Hat y Google lideraron con cuotas del 9.2%, 7.2% y 6.9%).
Fuente: opennet.ru
