Pe 25 august 1991, după cinci luni de dezvoltare, studentul de 21 de ani Linus Torvalds a anunțat în conferința online comp.os.minix crearea unui prototip funcțional al noului sistem de operare Linux, pentru care s-a anunțat finalizarea portării bash 1.08 și gcc 1.40. Prima lansare publică a nucleului Linux a fost prezentată pe 17 septembrie. Nucleul 0.0.1 avea o dimensiune de 62 Kb în formă comprimată și conținea aproximativ 10.000 de linii de cod sursă. Nucleul Linux modern are peste 30 de milioane de linii de cod. Conform unui studiu realizat în 2010 la comanda Uniunii Europene, costul aproximativ al dezvoltării de la zero a unui proiect similar cu nucleul modern Linux ar fi depășit un miliard de dolari SUA (calculul a fost efectuat când nucleul avea 13 milioane de linii de cod), iar după alte estimări, costul ar fi fost de peste 3 miliarde.
Nucleul Linux a fost creat sub influența sistemului de operare MINIX, care nu-l mulțumea pe Linus din cauza licenței sale restrictive. Ulterior, când Linux a devenit un proiect bine-cunoscut, adversarii au încercat să-l acuze pe Linus de copierea directă a codului unor subsisteme MINIX. Atacul a fost respins de Andrew Tanenbaum, autorul MINIX, care a desemnat unul dintre studenți să efectueze o comparație detaliată între codul Minix și primele versiuni publice ale Linux. Rezultatele studiului au arătat doar patru suprapuneri nesemnificative ale blocurilor de cod, cauzate de cerințele POSIX și ANSI C.
La început, Linus a intenționat să numească nucleul Freax, de la cuvintele „free”, „freak” și X (Unix). Totuși, numele „Linux” a fost dat nucleului de către Ari Lemmke, care, la cererea lui Linus, a încărcat nucleul pe serverul FTP al universității, numind directorul cu arhiva nu „freax”, așa cum ceruse Torvalds, ci „linux”. Este demn de remarcat că antreprenorul William Della Croce a reușit să înregistreze marca comercială Linux și dorea să colecteze royalties în timp, dar mai târziu s-a răzgândit și a transferat toate drepturile asupra mărcii lui Linus. Mascota oficială a nucleului Linux, pinguinul Tux, a fost ales în urma unui concurs desfășurat în 1996. Numele Tux este o abreviere pentru Torvalds UniX.
Dinamica creșterii bazei de cod (numărul de linii de cod sursă) a nucleului:
- 0.0.1 - septembrie 1991, 10 mii de linii de cod;
- 1.0.0 - martie 1994, 176 de mii de linii de cod;
- 1.2.0 - martie 1995, 311 mii de linii de cod;
- 2.0.0 - iunie 1996, 778 mii de linii de cod;
- 2.2.0 - ianuarie 1999, 1.8 milioane de linii de cod;
- 2.4.0 - ianuarie 2001, 3.4 milioane de linii de cod;
- 2.6.0 - decembrie 2003, 5.9 milioane de linii de cod;
- 2.6.28 - decembrie 2008, 10.2 milioane de linii de cod;
- 2.6.35 - august 2010, 13.4 milioane de linii de cod;
- 3.0 — august 2011, 14.6 milioane de linii de cod.
- 3.5 — iulie 2012, 15.5 milioane de linii de cod.
- 3.10 - iulie 2013, 15.8 milioane de linii de cod;
- 3.16 - august 2014, 17.5 milioane de linii de cod;
- 4.1 - iunie 2015, 19.5 milioane de linii de cod;
- 4.7 - iulie 2016, 21.7 milioane de linii de cod;
- 4.12 - iulie 2017, 24.1 milioane de linii de cod;
- 4.18 — august 2018, 25.3 milioane de linii de cod.
- 5.2 — iulie 2019, 26.55 milioane de linii de cod.
- 5.8 — august 2020, 28.4 milioane de linii de cod.
- 5.13 — iunie 2021, 29.2 milioane de linii de cod.
- 5.19 — august 2022, 30.5 milioane de linii de cod.
Progresul dezvoltării nucleului:
- Linux 0.0.1 — septembrie 1991, prima versiune publică, care suportă doar CPU i386 și se încarcă de pe dischetă;
- Linux 0.12 — ianuarie 1992, codul a început să fie distribuit sub licența GPLv2;
- Linux 0.95 — martie 1992, posibilitatea de a rula X Window System a fost asigurată, a fost implementat suportul pentru memoria virtuală și swap.
- Linux 0.96-0.99 — 1992-1993, a început lucrul la stiva de rețea. A fost prezentat sistemul de fișiere Ext2, a fost adăugată suportul pentru formatul fișierelor ELF, au fost prezentate drivere pentru plăci de sunet și controlere SCSI, a fost implementat încărcarea modulelor nucleului și a sistemului de fișiere /proc.
- În 1992 au apărut primele distribuții SLS și Yggdrasil. Vara anului 1993 au fost fondate proiectele Slackware și Debian.
- Linux 1.0 — martie 1994, prima versiune oficial stabilă;
- Linux 1.2 — martie 1995, creștere semnificativă a numărului de drivere, suport pentru platformele Alpha, MIPS și SPARC, extinderea capacităților stivei de rețea, apariția filtrului de pachete, suport pentru NFS;
- Linux 2.0 — iunie 1996, suport pentru sisteme multiprocesor;
- Martie 1997: a fost fondată LKML, lista de discuții pentru dezvoltatorii nucleului Linux;
- Anul 1998: a fost lansat primul cluster bazat pe Linux, inclus în lista Top500, format din 68 de noduri cu CPU Alpha;
- Linux 2.2 — ianuarie 1999, eficiența sistemului de management al memoriei a fost îmbunătățită, a fost adăugată suportul IPv6, un nou firewall a fost implementat, a fost prezentată un nou subsistem audio;
- Linux 2.4 — februarie 2001, suport pentru sisteme cu 8 procesoare și 64 GB RAM, sistemul de fișiere Ext3, suport pentru USB, ACPI;
- Linux 2.6 — decembrie 2003, suport pentru SELinux, unelte de ajustare automată a parametrilor nucleului, sysfs, un sistem de management al memoriei refăcut;
- În 2005 a fost prezentat hipervizorul Xen, care a deschis perioada virtualizării;
- În septembrie 2008 a fost formatat primul release al platformei Android, bazat pe nucleul Linux;
- În iulie 2011, după 10 ani de dezvoltare a ramurii 2.6.x, s-a realizat tranziția la numerotarea 3.x. Numărul obiectelor în repository-ul Git a atins 2 milioane;
- În 2015 a fost lansat nucleul Linux 4.0. Numărul obiectelor git în repository a atins 4 milioane;
- În aprilie 2018, pragul de 6 milioane de obiecte git în repository-ul nucleului a fost depășit.
- În ianuarie 2019 a fost formatată ramura nucleului Linux 5.0. Repository-ul a ajuns la 6,5 milioane de obiecte git.
- Nucleul publicat în august 2020, 5.8, a devenit cel mai mare în ceea ce privește numărul de modificări din istoria proiectului.
- În nucleul 5.13 s-a stabilit un record de număr de dezvoltatori (2150), modificările căror s-au inclus în nucleu.
- În 2021, în ramura nucleului Linux-next a fost adăugat cod pentru dezvoltarea driverelor în limbajul Rust. Se lucrează la includerea componentelor pentru suportul Rust în nucleul principal.
- În august 2022 a fost formatată ramura nucleului Linux 6.0, deoarece în ramura 5.x s-au acumulat suficiente release-uri pentru a schimba prima cifră din numărul versiunii.
68% din toate modificările în nucleu au fost realizate de 20 de companii cele mai active. De exemplu, pentru dezvoltarea nucleului 5.19, 10.9% din toate modificările au fost pregătite de compania Intel, 5.7% — Linaro, 5.5% — AMD, 5.2% — Red Hat, 4.1% — Google, 3.5% — Meta, 3.1% — SUSE, 2.9% — Huawei, 2.8% — NVIDIA, 2.7% — Oracle. 11.8% din modificări au fost pregătite de participanți independenți sau dezvoltatori care nu au declarat în mod explicit că lucrează pentru anumite companii. În ceea ce privește numărul de linii de cod adăugate în nucleul 5.19, lider este compania AMD, cu o cotă de 37.9% (driverul amdgpu are peste 4 milioane de linii de cod, cea mai mare parte provenind din fișiere de antet generate automat cu date pentru registrele GPU).
Sursa: opennet.ro
