A Kerneltrap egy interjút készített a Linux guru Alan Cox-szal. Alan Cox talán a második legismertebb Linux kernel hacker Linus Torvalds után. Az interjúban beszél magáról, kapcsolatáról a számítógépekkel, a Red Hat-ról mint munkaadóról, Marcelo Tosatti-ról, a 2.4-es kernelről, a DMCA-ról, a Linux jövőjéről és még sok más dologról.
Alan Cox, mint ahogy más is megszületett, iskola, bárányhimlő, kanyaró, mumpsz következett. A számítógépekkel akkor kötött közelebbi ismeretséget, amikor volt egy-két olyan tanára, aki képes volt ebédidejét feláldozni néhány érdeklődő diák kedvéért. Ekkortájt az iskolának volt 3 számítógépe, amelyen 15-20 perces órákat lehetett venni. Körülbelül ekkor lehetett, hogy Cox egy ZX81-es gazdájává vált (akkoriban ez volt az első tömegcikknek számító computer a UK-ben), és lassan már ő tanította a tanárokat.
Az iskola végén a 3 órás vizsgát 30 perc alatt oldotta meg, és szembesült saját "tudásának fényességével" (ezt nem én találtam ki, saját maga állította magáról).Mielőtt az egyetemre ment volna, egy rövid ideig dolgozott a számítógépes játékfejlesztés iparágában is. Egy ideig játékokat portolt, majd nekilátott egy saját játék fejlesztésének is. Ahogy mondja, a játékfejlesztői ipar megtanította arra, hogy a milyen a való világ. A számítógépes játék üzletet akkoriban egy olyan ember irányította, aki csődöt mondott a zeneiparban, és bármelyik pillanatban az öreganyját is eladta volna. Ebben a világban voltak olyan emberek, akik sokkal jobban voltak Cox-nál, és voltak olyanok, akik meg voltak győződve saját ragyogó képességükről, de mentálisan instabilak voltak.
Természetesen, mint a zeneiparban, itt senki sem keresett jól, de érdekes módon a játékfejlesztő cégek tulajdonosai egyre nagyobb autókkal jártak, és egyre drágább házakban laktak. Ki érti ezt?
Az egyetemen változó volt az előmenetele, de visszatekintve az egyetemi éveire, akkor boldog volt. Az akkor tanult vezetési szakértelem, szoftver mérnök-tudomány, matematika, adatbázis tudás mind-mind segítségére vannak most is, amikor a Linux-szal foglalkozik.
Az iskola után több dologgal is foglalkozott: dolgozott egy nagyobb C++ hálózati projecten, írt ISDN kódot a Sonixnak később dolgozott a 3COM-nak is. Ezután az NTL-nél volt rendszeradminisztrátor, dolgozott egy kisebb internetszolgáltatónál (Cymru.Net), amelyet az NTL vásárolt meg. Amikor innen megszabadult, akkor került a Red Hat-hoz, és kezdett el főállásban a Linux-szal foglalkozni.
Sokan kérdezhetnék tőle, hogy: "miért nem ment mindjárt a Red Hat-hoz dolgozni, biztos szívesen foglalkoztatták volna?"
Erre Cox azt mondja, nehéz döntés volt az, hogy a Red Hat-hoz ment dolgozni. Biztos akkor is tudták volna foglalkoztatni, de ha egy embernek a hobbyja főállássá változik, akkor nagy áldozattal kell számolni. Ugyanis az egészből elveszhet a "fun factor", és lehet, hogy elmegy a kedve az egésztől.
Tehát 2000. január. 1-én csatlakozott a Red Hat-hoz, ekkor jelent meg a Red Hat mint cég Európában. Coxnak megfelelt a Red Hat világképe, mert a Red Hat managementje egyszerre hisz az open source-ben, és abban hogy emellett lehet egy céget sikeresen profitot termelve vezetni. Cox szerint a Red Hat nem csinál mindent a legjobban, de törekszenek erre.
Cox annak idején fejlesztett egy játékot Blizzard Pass néven. A játék ZX81-re készült, a Tynesoft adta ki anno egy Spectrum 128K launch pack keretében. A játék jogai valahol a Adventuresoft UK-nál és/vagy a Tynesoft-nál vannak.
Cox elmondja, hogy szívesen játszik a mai napig is különböző játékokkal. Főként a MUD stílusú játékokkal múlatja az idejét, viszont megjegyzi, hogy ezek a játékok sajnos semmit nem változtak az elmúlt 10 évben.
Sokan meglepődtek amikor bejelentette, hogy nem folytatja a 2.4-es kernel karbantartását. Mi miatt hozta ezt a döntést?
A 2.4-es kernelről Cox a következőket mondja: Abban a döntésében, hogy a továbbiakban nem ő tartja karban a 2.4-es kernelfát, több dolog is szerepet játszott. Most, hogy nem kell a 2.4-es kernelsorozattal foglalkoznia, egy csomó szabad ideje maradt más dologra. Például több időt fordít régi SCSI driverek kódjának javítására, és több ideje maradt arra, hogy kielégítse a Red Hat felhasználók által támasztott igényeket is.
Másrészről Cox vallja, hogy jót tesz a kernel fejlesztésének az, hogyha nem egy szűk elit tartja kézben a munkát. Jó ötlet fiatal fejlesztőket bevenni a komoly munkába, mert a friss gondolkodás segít előre mozdítani a fejlesztést. Cox azt mondja, hogy biztos akar lenni abban, hogy jó munkát végez, és nem csak azért mennek utána az emberek mert ismert. Nem akar abba a hibába esni, hogy a háta mögött összesúgjanak az emberek, hogy milyen hülyeséget csinál.
Sok embernek furcsa nézetei vannak Brazíliáról. Nem úgy kéne tekinteni Brazíliára, mint egy harmadik világra. Brazília egyike a tíz legnagyobb gazdaságú országnak, és egészében véve a bűnözés is sokkal kisebb mint a UK-ben, vagy a USA-ben. Rengeteg jó project indul Brazíliából, olyanok mint a Window Maker vagy az APT for RPM. (itt gondolom azért beszél Brazíliáról mert Marcelo Tosatti brazil származású - trey)
Ha már a Window Makerről esett szó... Milyen felhasználói környezetet használ?
Teljesen változó. Általában xfce-t futtat, de gyakran használ Gnome+Nautilus párost is. Emellett bele-bele tekint a KDE fejlesztésébe is, például elég sok időt töltött a KDE beta tesztelésével.
Miért ajánlotta Marcelo Tosatti-t a 2.4-es kernel karbantarójának? Hogy érez vele kapcsolatban?
Cox nyomon követi Tosatti munkáját. A 2.4.17-es kernelben Tosatti egy rakás dolgot Cox patch kollekciójából emelt át. A különbségek Tosatti és Cox kernele között elenyésző, és érthető. Cox kimondhatatlanul elégedett Marcelo munkájával, azzal ahogy a kerneleket kiadja, és ahogy az emberekkel bánik. Voltak emberek, akik el akarták nyomni Tosattit akkor ,amikor a kernelfa karbantartónak kinevezték, de Tosatti le tudta kezelni ezeket az embereket, és túlélte az újságirók áradatát is.
Mi a véleménye a 2.4-es kernelsorozatról? Mennyire stabil összehasonlítva a 2.2-es sorozattal?
A kernel releasek során kiadott 2.4-es kernelek egyre stabilabbak. Viszont sok ember a mai napig is 2.2-es kernelt futtat a kritikus szervereken, mert az azt csinálja amit szeretnének, és bizonyított már az évek során. Mivel a hardvereik nem kívánják meg a frissítést, ez érthető is. Ez egy jó döntés a legtöbb project számára.
A 2.4.9-ac és a 2.4.9-RH (a Red Hat által kiadott kernel) Cox szerint nagyon jó. Meg van velük elégedve. A 2.4.17-es kernel a jelenlegi stabil kernel, amely a legújabb fixekkel és egy kis tuningal (finomhangolással) nagyon jó lehet. Cox elmondja, hogy akkor elégedett egy kernellel igazán, ha az stabilan fut a gépein, és csak nagyobb frissítés miatt kell csak a gépeit reboot-olni.
Milyen finomhangolásokra gondol?
Ez a kérdés mindig problémát szokott okozni. Mindig akkor gondolja az ember, hogy valamit hangolni kell, amikor a munkát már befejezte. Az alacsonyabb diszk áteresztőképességet (bottleneck effektus - amikor egy rendszer többre lenne képes, de a legszűkebb keresztmetszet határozza meg, és korlátozza le egy gép vagy OS teljesítményét, mindig a legszűkebb keresztmetszetet veszik figyelembe egy adott rendszer méretezésénél - trey) úgy látszik a VM réteg okozza. Cox elmondja, hogy nem elégedett a jelenlegi Linux kernel VM-el. Amikor Linus a stabil kernelbe Andrea Arcangeli VM- kódát tette, az alábbi kijelentés hangzott el:
"Úgy gondolom, hogy Alan is meglátja a fényt hamarosan."
Cox úgy látja, hogy a jelenlegi VM körülbelül 20%-al lassaban, gyengébben teljesít általánosan. Cox azt mondja, hogy nem hinné, hogy Andrea VM-je valami technikai csoda lenne. Szerinte egyszer Linus rosszul döntött, és nem akar visszavonulót fújni. Többen tesztelik Rik van Riel -rmap VM implementációját, és egyetértenek abban, hogy a 2.5-ben ezzel kellene folytatni a fejlesztést (közben a 2.5-ben megjelent az -rmap VM implementáció, és Linus részéről is elhangzott olyan kijelentés, hogy a 2.6-os kernelben akár már az -rmap kerülhet - trey).
Cox tartja karban még mindig a 2.2-es kernelfát. Mikor hagyja abba a 2.2-es kernel karbantartásást?
Cox azt mondja, hogy addig folytatja a 2.2-es kernelfa munkálatait, amíg úgy érzi, hogy az emberek használják. Abban a pillanatban, amikor úgy látja, hogy senki nem használja, be fogja fejezni a vele való munkát. Akkor már csak kisebb erőfeszítéseket tesz, hogy mindig stabil maradjon ez a kernelfa.
Kicsit előretekintve, lesz-e 2.4.6-ac sorozat?
Cox erre a kérdésre azt mondja, hogy nem gondolkodik ennyire előre.
A 2.5-ös kernel fejlesztését mennyire tartja szem előtt?
Jelenleg semennyire. Mást nem nagyon tesz, mint összegyűjt egy adag drivert és más stuffokat, amelyeket eljuttat Linusnak, aki a bio-n dolgozik (block IO réteg - trey), úgy gondolja, hogy Dave Jones jelenelg nagyon jó munkát végez a 2.5-ös sorozattal.
A kernelhackerek nagyon tisztelik Cox erőfeszítéseit és munkásságát a Linux kernel körül. Nagy tapasztalata van abban, hogy összegyűjtse a foltokat és stabil kerneleket kreáljon. Például a 2.4-es kernel "unstable" állapotának idején az -ac kernelek rettentően stabilan működtek. Mire a legbüszkébb a munkájába?
A 2.4-ac sorozat tényleg jól sikerült. Nem ezt tartja nagy dolognak, hanem azt, hogy sok gyártó/forgalmazó az ő kerneleire épít, ez a nagy dolog. Nem csak a kód minősége a fontos, hanem az is, hogy megmutatja a Linux közösség hogy milyen hatékonyan lehet együtt dolgozni. A 2.4-ac kernel úgy épült fel, hogy számos helyről érkező patcheket fogott egybe, és kovácsolt működő egésszé. A legnagyobb dolog szerinte a Linuxban az, hogy "van egy másolatom, készítek róla annyit amennyit akarok, megváltoztatom, a helyi viszonyokra adaptálom, stb.". A fejlesztés során rengeteg jó dolog születik, például a LTSP (Linux Terminal Server Project), amelynek segítségével a Linux eljuthat az iskolákba, ahol olcsó megoldásként használható.
Erre mondja Cox: "_Em_powered by Linux".
Nemrégiben megjelent a 2.4.18pre3-ac1 (és még kettő release közben - trey). Ez az első kiadás a novemberi 2.4.13-ac8 óta. Mit tartalmaz ez a release? Lesz folytatása a dolognak?
Az emberek folyamatosan küldték a bugreportokat. Ebbe az -ac kiadásba azok az anyagok kerültek, amelyet Cox jelenleg futtat, és amelyeket továbbít majd Tosattinak.
A 2.2-es kernel nagyon stabil, az -ac patchek nem fognak nagyobb véltozásokat tartalmazni. Mit fog csinálni a megmaradt idejével?
Aludni fog.
Driverek kódjának tisztításával, egy kicsit új dolgokkal, és többnyire a Red Hat felhasználók problémáival fog foglalkozni.
Csak a Linux OS-t futtatja kizárólag, vagy más operációs rendszereket is használ?
Linuxot futtat minden eszközön, kivéve a mikrohullámú sütőt és a mosógépet =).
Vannak jóslatai a Linuxal kapcsolatban a jövőre nézve?
Az elkövetkező öt évben (de tényleg csak találgat):
- Linux fokozottan megjelenik a TV boxokon
- Jobban konszolidálódik
- Több munka fog a klaszterezésre és a hibatűrésre koncentrálni
- Limitált desktop elterjedés
- Az emberek kitalálják, hogy melyik szoftvermodell a leghasználhatóbb
- Csökkenő szoftverfejlesztés az EU-ban, az USA-ban és Kelet-Európában, folyamatosan tevődik át a fejlesztés Brazíliába és hasonló országokba, a Linux cégek is hasonlóan átteszik székhelyeiket ezen országok valamelyikébe
- IBM mint lehetséges Linux disztribútor, mert egy nagy részt vásárolt a SuSE-ban
- Lehetséges, hogy Linus közvetlenül a Linux munkájáért fog fizetést kapni -> a Transmeta meg fog halni
Hogy értékeli a Linushoz fűződő kapcsolatát? Linus a barátja?
Üzleti szembontból esetleg. Ők nagyon különböző emberek. Linus nagyon elfoglalt ember. Cox kevésbé. Cox mottója: "Élj gyorsan, halj meg öregen, és közben legyél biztos abban, hogy mindenki tudja, itt jártál".
Mit csinál, amikor nem a Linuxszal foglalkozik?
Új dolgokat. Főz, és kertészkedik. Legjobban a kínai ételeket szereti. Azért felesége Telsa jobban főz. Telsával az egyetemi évek alatt ismerkedett meg, egy házban laktak Aberystwyth-ben (The University of Wales, Aberystwyth - trey).
Mit tud mondani azoknak a lelkes újoncoknak, akik a kernelfejlesztés felé kacsintgatnak?
Ne foglalkozzanak azokkal, akik azt mondják, hogy a kernelfejlesztés nehéz dolog. Valóban egy nagy program, de a bugok fixálása, a driverek írása jó kiinduló pont lehet. Ez az egész nem varázslat, nem íródott titkos nyelven.
Játszani kell a kóddal, kipróbálni dolgokat, és élvezni az egészet. Cox a hálózati kóddal kezdte annak idején. Nem működött jól, Cox nekiállt javítani rajta. Mindent amit tudott a TCP/IP-ről azt az internetről töltötte le. Az első próbálkozásai nem voltak valami jók, csak a mulatság miatt csinálta.
Az eredeti interjút elolvashatod itt.