25. kolovoza 1991. godine, nakon pet mjeseci razvoja, 21-godišnji student Linus Torvalds najavio je na konferenciji comp.os.minix stvaranje radnog prototipa novog operativnog sustava Linux, za koji je označeno završavanje portiranja bash 1.08 i gcc 1.40. Prvo javno izdanje jezgre Linuxa predstavljeno je 17. rujna. Jezgra 0.0.1 imala je veličinu od 62 KB u komprimiranom obliku i sadržavala je oko 10.000 redaka izvornog koda. Moderna jezgra Linuxa broji više od 35 milijuna redaka koda. Prema istraživanju provedenom 2010. godine po narudžbi Europske unije, približna cijena razvoja od nule projekta koji je sličan modernoj jezgri Linuxa bila bi više od milijardu dolara (proračun je izrađen kada je u jezgri bilo 13 milijuna redaka koda), dok su prema drugim procjenama, iznosile više od 3 milijarde.
Linux kernel je stvoren pod utjecajem operativnog sustava MINIX, koji nije zadovoljio Linusa svojom ograničenom licencom. Kasnije, kada je Linux postao poznat projekt, neprijatelji su pokušali optužiti Linusa za direktno kopiranje koda nekih pod-sustava MINIX-a. Napad je odbio Andrew Tanenbaum, autor MINIX-a, koji je zadužio jednog od studenata da provede detaljno usporedno istraživanje koda Minix-a i prvih javnih verzija Linux-a. Rezultati istraživanja pokazali su samo četiri nebitne podudarnosti blokova koda, uvjetovane zahtjevima POSIX-a i ANSI C.
U početku je Linus imao namjeru nazvati kernel Freax, od riječi „free“, „freak“ i X (Unix). No ime „Linux” dobio je zahvaljujući Ari Lemmke, koji je na Linusov zahtjev objavio kernel na FTP serveru sveučilišta, nazvavši direktorij s arhivom ne „freax“ kao što je tražio Torvalds, nego „linux“. Zanimljivo je da je poduzetni poduzetnik William Della Croce uspio registrirati robnu marku Linux i namjeravao prikupljati naknade, no kasnije se predomislio i prenio sva prava na marku Linusu. Službena maskota Linux kernela, pingvin Tux, izabrana je na natjecanju održanom 1996. godine. Ime Tux dešifrira se kao Torvalds UniX.
Dinamika rasta baze koda (broj redaka izvornog koda) kernela:
- 0.0.1 — rujan 1991., 10 tisuća redaka koda;
- 1.0.0 — ožujak 1994., 176 tisuća redaka koda;
- 1.2.0 — ožujak 1995., 311 tisuća redaka koda;
- 2.0.0 — lipanj 1996., 778 tisuća redaka koda;
- 2.2.0 — siječanj 1999., 1.8 milijuna redaka koda;
- 2.4.0 — siječanj 2001., 3.4 milijuna redaka koda;
- 2.6.0 — prosinac 2003, 5.9 milijuna linija koda;
- 2.6.28 — prosinac 2008, 10.2 milijuna linija koda;
- 2.6.35 — kolovoz 2010, 13.4 milijuna linija koda;
- 3.0 — kolovoz 2011, 14.6 milijuna linija koda;
- 3.5 — srpanj 2012, 15.5 milijuna linija koda;
- 3.10 — srpanj 2013, 15.8 milijuna linija koda;
- 3.16 — kolovoz 2014, 17.5 milijuna linija koda;
- 4.1 — lipanj 2015, 19.5 milijuna linija koda;
- 4.7 — srpanj 2016, 21.7 milijuna linija koda;
- 4.12 — srpanj 2017, 24.1 milijuna linija koda;
- 4.18 — kolovoz 2018, 25.3 milijuna linija koda;
- 5.2 — srpanj 2019, 26.55 milijuna linija koda;
- 5.8 — kolovoz 2020, 28.4 milijuna linija koda;
- 5.13 — lipanj 2021, 29.2 milijuna linija koda;
- 5.19 — kolovoz 2022, 30.5 milijuna linija koda;
- 6.4 — lipanj 2023, 32.9 milijuna linija koda.
- 6.10 — srpanj 2024, 35.1 milijuna linija koda.
Napredak razvoja jezgre:
- Linux 0.0.1 — rujan 1991, prvo javno izdanje, podržava samo CPU i386 i pokreće se s disketom;
- Linux 0.12 — siječanj 1992, kod je počeo biti distribuiran pod GPLv2 licencom;
- Linux 0.95 — ožujak 1992, omogućena podrška za pokretanje X Window System, implementirana podrška za virtualnu memoriju i swap particiju.
- Linux 0.96-0.99 — 1992-1993, počeo rad na mrežnom sloju. Predstavljeni sustav datoteka Ext2, dodana podrška za ELF format datoteka, predstavljeni upravljački programi za zvučne kartice i SCSI kontrolere, implementirano učitavanje modula jezgre i datotečnog sustava /proc.
- U 1992. godini pojavili su se prvi distribucijski sustavi SLS i Yggdrasil. Ljeti 1993. godine osnovani su projekti Slackware i Debian.
- Linux 1.0 — ožujak 1994, prvo službeno stabilno izdanje;
- Linux 1.2 — ožujak 1995, povećan broj upravljačkih programa, podržava Alpha, MIPS i SPARC platforme, proširenje mogućnosti mrežnog sloja, dolazak paketnog filtera, podrška za NFS;
- Linux 2.0 — lipanj 1996, podrška za višeprocesorske sustave;
- Ožujak 1997: osnovana LKML, mailing lista za razvijače Linux jezgre;
- 1998. godine: pokrenut prvi klaster na bazi Linuxa na listi Top500, sastavljen od 68 čvorova s CPU Alpha;
- Linux 2.2 - siječanj 1999., povećana učinkovitost sustava upravljanja memorijom, dodana podrška IPv6, implementiran novi vatrozid, predstavljena nova zvučna pod-sustava;
- Linux 2.4 — veljača 2001, osigurana podrška za 8-procesorske sustave i 64 GB RAM-a, sustav datoteka Ext3, podrška za USB, ACPI;
- Linux 2.6 — prosinac 2003, podrška za SELinux, alati za automatsko podešavanje parametara jezgre, sysfs, revidirani sustav upravljanja memorijom;
- U 2005. predstavljeno hipervizor Xen, koji je otvorio eru virtualizacije;
- U rujnu 2008. oblikovana je prva verzija Android platforme, temeljen na Linux kernelu;
- U srpnju 2011. godine, nakon 10 godina razvoja grane 2.6.x, prešlo se na numeraciju 3.x. Broj objekata u Git repozitoriju dosegao je 2 milijuna;
- Godine 2015. objavljeno je jezgro Linux 4.0. Broj git objekata u repozitoriju dosegao je 4 milijuna;
- U travnju 2018. godine pređena je granica od 6 milijuna git objekata u repozitoriju jezgra.
- U siječnju 2019. godine formirana je grana jezgre Linux 5.0. Repozitorij je dosegao razinu od 6.5 milijuna git objekata.
- Objavljeno u kolovozu 2020. godine, jezgro 5.8 postalo je najveće po broju promjena od svih jezgra u povijesti projekta.
- U jezgru 5.13 postavljen je rekord po broju programera (2150) čije su promjene ušle u sastav jezgra.
- U kolovozu 2022. godine formirana je grana jezgre Linux 6.0, budući da je u grani 5.x akumulirano dovoljno izdanja za promjenu prvog broja u oznaci verzije.
- U jezgru 6.1, objavljenom u prosincu 2022. godine, dodana je mogućnost korištenja jezika Rust kao drugog jezika za razvoj drajvera i modula jezgre.
Otprilike 65% svih promjena u jezgru unosi 20 najaktivnijih tvrtki. Na primjer, prilikom razvoja jezgre 6.10, od svih promjena, 15.3% (u jezgri 6.9 bilo je 12.9%) pripremila je tvrtka Intel, 7.4% (7.1%) - Google, 6.9% (5.6%) - Red Hat, 6.3% (6.4%) - Linaro, 4.6% (5.7%) - AMD, 3.3% (2.2%) - Oracle, 3.2% (2.9%) - Meta, 2.5% (3.2%) - SUSE, 2.4% (2.1%) - IBM, 2.3% (2.4%) - Huawei, 1.9% (2.1%) - Qualcomm, 1.5% (1.7%) - NVIDIA, 1.2% (1.2%) - ARM. 11.9% (u jezgri 6.9 - 14.2%) promjena pripremili su neovisni sudionici ili programeri, koji nisu izjavili svoju suradnju s određenim tvrtkama. Što se tiče broja redaka koda dodanih u jezgri 6.10, prednjače tvrtke Intel, Linaro i Red Hat, čiji je udio iznosio 13.6%, 13.3% i 7.2% (u jezgri 6.9 prednjačile su AMD, Red Hat i Intel s udjelima 21.7%, 11.5% i 8.9%).
Izvor: opennet.ru
