El 25 de agosto de 1991, después de cinco meses de desarrollo, Linus Torvalds, un estudiante de 21 años, anunció en el foro comp.os.minix la creación de un prototipo funcional de un nuevo sistema operativo Linux, para el cual se marcó la finalización de la migración de bash 1.08 y gcc 1.40. La primera versión pública del núcleo Linux fue presentada el 17 de septiembre. El núcleo 0.0.1 tenía un tamaño de 62 KB comprimido y contenía alrededor de 10,000 líneas de código fuente. El núcleo moderno de Linux cuenta con más de 35 millones de líneas de código. Según un estudio realizado en 2010 por encargo de la Unión Europea, el costo aproximado de desarrollar desde cero un proyecto similar al núcleo moderno de Linux sería de más de mil millones de dólares estadounidenses (el cálculo se realizó cuando el núcleo tenía 13 millones de líneas de código), y según otras estimaciones, más de 3 mil millones.
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.
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 de 1999, mejorada la eficiencia del sistema de gestión de memoria, se agregó soporte 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.
Aproximadamente el 65% de todos los cambios en el núcleo fueron realizados por 20 empresas más activas. Por ejemplo, en el desarrollo del núcleo 6.10, del total de cambios, el 15.3% (en el núcleo 6.9 fue del 12.9%) fue preparado por Intel, el 7.4% (7.1%) por Google, el 6.9% (5.6%) por Red Hat, el 6.3% (6.4%) por Linaro, el 4.6% (5.7%) por AMD, el 3.3% (2.2%) por Oracle, el 3.2% (2.9%) por Meta, el 2.5% (3.2%) por SUSE, el 2.4% (2.1%) por IBM, el 2.3% (2.4%) por Huawei, el 1.9% (2.1%) por Qualcomm, el 1.5% (1.7%) por NVIDIA, el 1.2% (1.2%) por ARM. El 11.9% (en el núcleo 6.9 - 14.2%) de los cambios fueron preparados por participantes independientes o desarrolladores que no habían declarado explícitamente su trabajo para ciertas empresas. En cuanto a las líneas de código añadidas al núcleo 6.10, lideran las empresas Intel, Linaro y Red Hat, cuyas participaciones fueron del 13.6%, 13.3% y 7.2% (en el núcleo 6.9 lideraban AMD, Red Hat e Intel con participaciones del 21.7%, 11.5% y 8.9%).
Fuente: opennet.ru
