A Linux világa
A Linux története
2008. március 14.
Sorozatunk előző, a
szabad szoftver születését bemutató részében már szóba került a Linux korai történelme - mégis úgy éreztük, hogy ez a téma van annyira fontos és érdekes, hogy megérje vele egy külön írásban is foglalkozni. Cikksorozatunk ezen részében a Linux születését és fejlődését szeretnénk kicsit részletesebben bemutatni.
A Linux kernelen 1991-ben kezdett dolgozni egy finn egyetemista, Linus Torvalds. Linus 1969. december 28-án született Helsinkiben. Finnországban nőtt fel, azonban a helyi 5% körüli svéd kisebbséghez tartozik, és az anyanyelve is a svéd (bár finnül szintén anyanyelvi szinten beszél). Szülei újságírók, nagyapja pedig neves költő volt - valószínűleg ennek az örökségnek köszönhető, hogy Linust nem csak egyszerűen mint nagy tudású hackert tartják számon, de legendássá vált leveleit, írásait, híres mondásait is
gyakran idézik. Nevét állítólag Linus Pauling, az amerikai Nobel díjas kémikus után kapta - azonban Linus ragaszkodik hozzá, hogy legalább ennyire fontos szerepet játszott a névválasztásban
Linus van Pelt a
Snoopy-ból ismerős
Peanuts karakter, aki sehova sem megy kedvenc törölközője nélkül.
Linus Torvalds 1988 és 1996 között a Helsinki Egyetem hallgatója volt, ahol informatikai diplomát szerzett. Linus 1990-ben vett egy 386-os PC-t, és néhány hét
Prince of Persia-zás után elkezdett ismerkedni a
Minix operációs rendszerrel. A Minixet
Andrew S. Tanenbaum, az amsterdami Vrije Universiteit egyetem professzora készítette kifejezetten oktatási céllal - az operációs rendszer forráskódja pedig éppen ezért szabadon hozzáférhető volt.
Torvalds hamar rájött, hogy a Minix nem felel meg mindenben az igényeinek - ezért nem sokkal később egy saját operációs rendszer fejlesztésébe fogott. A fejlesztést Minixen kezdte, és a forráskódot a
GNU C fordító segítségével fordította le. A munkával rendkívül gyorsan haladt, és 1991 nyarára már kezdett körvonalazódni az új operációs rendszer, amit ekkoriban még Freax-nek hívtak. A Freax egy összevonás a freak (csodabogár), free (szabad) szavakból és az Unix-ra utaló X-karakterből. Már ekkoriban felmerült benne, hogy esetleg Linuxnak kellene nevezni, azonban ezt először elvetette, mert túlságosan egoistának tartotta. Linus így emlékszik erre vissza:
Eredetileg nem akartam a Linux nevet adni neki, mert az túl egoistán hangzott számomra. Szóval milyen nevet is szántam eredetileg a rendszernek, ha majd megjelenik valamikor? Freax. (Értitek? Csodabogár a szükséges X-szel). Néhány korábbi make fájl - azok a fájlok, amik leírják hogyan kell lefordítani a forráskódot - vagy fél évig tartalmazta a Freax nevet. De igazából soha nem számított. Akkoriban nem volt szükségem névre, mert nem mutattam meg senkinek.
Ari Lemke, aki meggyőzött arról, hogy érdemes kitenni ftp-re, utálta ezt a nevet. Ő inkább a másik nevet (Linux) preferálta, én pedig könnyen megadtam magam. De ő tehet róla. Szóval (többé-kevésbé) őszintén mondhatom, hogy nem voltam egoista. Úgy gondoltam, oké, ez egy jó név, és bármikor másra tudom kenni a dolgot, mint ahogy most is teszem.
(forrás:
freax.org, eredetileg megjelent: Linus Torvalds: Just for fun - 84. és 88. oldal).
Linus először 1991. augusztus 25-én jelentette be a Linux kernelt, a Minix levelezőlistáján. Ezt a levelet idéztük sorozatunk
előző részében. A Linux legelső,
0.01-es kiadása 1991. szeptember közepe tájékán került fel az ftp szerverekre. Ez 386-os processzort, EGA vagy VGA monitort és AT merevlemez vezérlőt igényelt a futáshoz - és kizárólag finn billentyűzetkiosztást támogatott. A kódot sokan letöltötték, tesztelték és hamarosan megérkeztek az első külső fejlesztések is - a Linux ekkor kezdett egyszemélyes munkából közösségi projektté válni. A 0.02-es kiadás október 5-én jelent meg, és ekkor küldte Linus a később legendássá vált levelét a Minix levelezési listájára:
Vágyakozol a minix-1.1 kora után, amikor a férfiak még férfiak voltak, és saját eszközmeghajtókat írtak? Nincs semmilyen izgalmas projekted, és szívesen rávetnéd magad egy olyan operációs rendszerre, amit igényeidnek megfelelően módosíthatsz? Frusztrálónak találod, ha minden működik minixen? Már nem kell egész éjszaka hegesztened, hogy egy rohadt programot működésre bírj? Akkor ezt a levelet mintha egyenesen neked írták volna :-)
Ahogy már említettem egy hónappal(?) ezelőtt, épp egy AT-386-os gépekre írt minix-szerű szabad operációs rendszeren dolgozom. Lassan kezdi elérni a használható szintet (persze ez attól is függ, hogy mik az elvárásaid), és szeretném a forráskódot szélesebb körben is terjeszteni. Épp most érte el a 0.02-es verziószámot (plusz egy ici pici patch-csel már több is), de már fut rajta a bash, gcc, gnu-make, gnu-sed, compress, stb. A projekt forráskódjai a nic.funet.fi (128.214.6.100) url alatt érhető el a /pub/OS/Linux könyvtárban. Ott találsz egy README (Olvass el) fájlt, és néhány binárist is, amelyek már működnek Linux alatt (bash, update, gcc, mi kellhet még :-). A teljes kernel forrás elérhető, mivel egyetlen sor minix kódot sem tartalmaz. A library források csak részben szabadok, szóval egyelőre még nem terjeszthetők. A rendszer úgy ahogy van, lefordítható, és kipróbáltan működik. A binárisokhoz tartozó források (bash és gcc) ugyanitt elérhetők a /pub/gnu könyvtárban.
forrás:
comp.os.minix
Pár hónappal később megjelent a 0.03-as kiadás. Decemberre már elérte 0.10-es verziószámot. Ekkoriban azonban még mindig csak az alapok léteztek, kizárólag AT merevlemezeket támogatott, és nem volt bejelentkezés, közvetlenül indította a bash-t. A 0.11-es kiadás már támogatta a nemzetközi billentyűzeteket, a hajlékonylemezes meghajtókat, a VGA, EGA és Hercules monitorokat. A 0.12-es kiadás után egy nagy ugrás következett, és jött a 0.95-ös, majd nem sokkal később a 0.96-os kiadás. A forráskódok pedig, köszönhetően az ftp szervereknek, bejárták a világot.
Hamarosan a Minix fejlesztőjének, Andrew S. Tanenbaum professzornak is felkeltette érdeklődését a Linux, és több levelet is váltott Linusszal. A levelezés kisebb szakmai vitává fajult, amikoris 1992. január 30-án egyik levelében ezt írta Tanenbaum:
Továbbra is fenntartom a véleményem, hogy 1991-ben monolitikus kernelt tervezni alapvető hiba. Örülj neki, hogy nem vagy a diákom. Valószínűleg nem kapnál túl jó jegyet ezért :-)
Linus később bevallotta, hogy ez volt a legrosszabb pillanata a Linux fejlesztésének történetében. Tanenbaum neves professzor volt, akinek természetesen számított a véleménye. Linus azonban nem adta ilyen könnyen magát, és a tőle megszokott lazasággal válaszolt:
Ön professzor és kutató: Ez egy pokolian jó magyarázat a minix némely agysérülésére.
forrás:
comp.os.minix
A Linux fejlesztését a fenti kis közjáték azonban egyáltalán nem befolyásolta, és a rendszer töretlenül fejlődött tovább. Ekkoriban azonban még a rendszer egy saját licenc alatt állt, ami például korlátozta az üzleti felhasználást. Linus azonban hamarosan úgy döntött, hogy megváltoztatja a licencet. Ezt először a 0.12-es verzió kiadásának jegyzeteiben jelentette be. Az első teljes egészében GPL licenc alatt álló Linux kernel 1992. decemberében jelent meg: ez volt a 0.99-es kiadás. Később Linus elismerte, hogy ez volt a legjobb döntés életében.
A cikksorozatunk előző részében bemutatott
GNU projekt és a Linux fejlesztők is ekkoriban kezdtek együttműködni, és az első Linux disztribúciók is ekkoriban kezdték bontogatni szárnyaikat: 1992 közepén elindult az SLS, az egyik első Linux disztribúció fejlesztése, majd 1993-ban megjelentek a mai napig is létező disztribúciók, mint például a Slackware és a Debian (ez utóbbi történetéről részletesen írtunk a sorozat
harmadik részében).
Az 1990-es évek második felében a szárnyait bontogató internetes ipar hamar felfedezte magának a Linuxot: ez pedig jelentős részben az Apache webkiszolgáló alkalmazásnak köszönhető. Az Apache első publikus kiadása 1995. áprilisában jelent meg, és egy év sem kellett ahhoz, hogy piacvezető szerepet szerezzen, amelyet azóta is őriz. Szintén 1995-ben indult el a MySQL fejlesztése, amely a legkedveltebb adatbáziskezelő alkalmazás a webes felhasználás területén. A Linux, Apache és MySQL alkotta kombináció (LAMP) pedig hamarosan fogalommá vált (az Ubuntu.hu, a weboldalak nagy részéhez hasonlóan, szintén ilyen LAMP szerveren működik).
A kilencvenes évek végére a Linux egyértelműen bebizonyította a szabad szoftverek létjogosultságát a kiszolgálók világában. Mivel ebben a kategóriában korábban a Unix alapú rendszerek domináltak, és a Linux is ezek leszármazottjának tekinthető, ezért ez nem is igazán nagy meglepetés. A kérdés azonban ekkoriban már az volt: Van-e létjogosultsága a Linuxnak a hétköznapi felhasználók számítógépén? Korábban soha egyetlen Unix változat sem tudott labdába rúgni ezen a piacon - és nem is igazán volt szándékukban.
Az egyszerű felhasználóknak szánt operációs rendszerek piaca ekkorra gyakorlatilag egyszereplőssé vált: A Commodore 1994-ben csődött jelentett, az Atari az 1992-ben megjelent Falcon után nem adott ki új asztali számítógépet, az Apple ekkoriban gyengélkedett, az OS/2 Warp felhasználói bázisa soha nem volt igazán nagy, és folyamatosan zsugorodott, így a Microsoft szinte egyeduralkodóvá vált a piacon. Ez a monopolhelyzet sokakat nyomasztott, így elkezdték keresni az alternatívát: ezt pedig a Linuxban találták meg.
Ekkoriban indult el talán a két legfontosabb projekt, ami közelebb hozta ezt a célt: A Gnome és KDE fejlesztése. Ezekről bővebben a cikksorozatunk
negyedik részében írtunk. A fejlesztés gőzerővel folyt, és hamarosan más, a felhasználók számára fontos alkalmazások is elérhetővé váltak Linuxon: 1996. februárjában megjelent a Gnome-hoz sok szálon kötődő Gimp grafikai program első kiadása, 1998 januárjában megnyitották a Netscape forráskódját (ami a mai Firefox alapjául szolgált), 2000-ben kiadták a StarOffice forráskódját (amiből később az OpenOffice.org lett), a korábban vezető szerepet betöltő, magyar gyökerekkel rendelkező MPlayer multimédia lejátszó fejlesztése szintén 2000-ben kezdődött meg.
A Linux az új évezred első éveiben kezdett a mindennapokban is használható alternatívává válni, és sokan, akik ma már régi motorosnak számítanak, ekkoriban ismerkedtek meg ezzel az új, izgalmas világgal. Magyarországon is ekkoriban kezdtek alakulni az első szabad szoftveres közösségek. A legfontosabb hazai szakportálon, a HUP-on (Hungarian Unix Portal) 2001. augusztus 11-én jelent meg az
első ma is olvasható bejegyzés, az oldal pedig ezt megelőzően indult pár hónappal. A
Linuxportál című televíziós műsort 2001 őszén kezdte sugározni a Fix.TV, ahol azóta is látható szerda esténként. A legfontosabb hazai szabad szoftverekkel foglalkozó szervezetet, az FSF.hu alapítványt 2003. február 8-án jegyezte be a fővárosi bíróság.
A Linux ekkoriban a kísérletező kedvű, lelkes felhasználók operációs rendszere volt. Már nem igényelt különösebb előképzettséget, az azonban elkerülhetetlen volt, hogy a felhasználó időnként elmerüljön a konzol rejtelmeiben. Így menet közben rengeteg lehetett tanulni - aki azonban nem volt erre hajlandó, az nem igazán boldogult a rendszerrel. Ebből az időszakból származik az a mai napig erősen élő tévhit, hogy a Linux bonyolult és átlagfelhasználók számára megtanulhatatlan. Ennek a hibás tévképzetnek a kialakulásában valószínűleg szerepet játszik az is, hogy ekkoriban indultak az első Linux terjesztését célzó kampányok - és sokszor átgondolatlanul vágtak bele a migrációba, amelynek csalódás lett a vége.
Ez az első hullám nagyjából az évtized közepére csengett le. Ekkoriban, 2004. októberében jelent meg az Ubuntu első kiadása (erről bővebben a cikksorozat
ötödik részében írtunk). Az Ubuntu így fogalmazta meg célját: "Linux emberi lények számára". Vagyis a cél az volt, hogy egy olyan operációs rendszert alkossanak, amivel azok is boldogulnak, akik egyszerűen csak használni szeretnék a számítógépet, de egyáltalán nem áll szándékukban különösebben elmélyedni a működésének rejtelmeiben. Bár felhasználóbarát disztribúciók korábban is voltak, azonban olyan, amelyik ennyire tökéletesen integrálná a felhasználóbarátságot, a barátságosságot, és a GNU szabadságeszményét nem létezett korábban. Az Ubuntunak köszönhetően a Linux végre felnőtt - és készen áll arra, hogy meghódítsa a felhasználók számítógépeit.
Forrás és háttéranyagok:
Ragib Hasan: The History of Linux
Wikipedia: The History of the Linux kernel
Wikipedia: Linus Torvalds
Wikipedia: Minix
Wikipedia: Andrew S. Tanenbaum
freax.org
oldlinux.org
Linux kernel 0.01 release notes
hup.hu - Retro: Próbáld ki a Linux 0.01-et!
comp.os.minix
Wikipedia: Commodore International
Gimp.org - history
Wikipedia: OpenOffice.org
Wikipedia: Netscape
hup.hu - Hat éves a(z új) HUP
Linuxportal.hu - történet
FSF.hu