Az opensource elfeledett hősei: Donald Becker
Na, ő tényleg egy megkerülhetetlen figura, ha Linuxról vagy csak úgy az Internetről van szó. Mit is csinált ő? Hát a NASAnál dolgozott. Még a ’90-es években. Az volt a feladata, hogy a kettős pulzárokból, azaz neutroncsillagokból érkező gamma sugárzást találja meg végtelen (=kurváranagyonsok) rádióteleszkóp adatból. Ilyesmi feladatokra akkoriban a Cray ‘szuperszámítógépeket’ használták. Ki ne emlékezne arra a vicces mondásra az 1mhz-es c64-es, és a még csírább spektrumos időkből, hogy “A cray az annyira gyors, hogy még a végtelen ciklus is lefut rajta!“. :-> Ennek megfelelően pont ennyibe is került, és sajna a NASA költségvetését már akkorra is jelentősen megcsapkodták. Holdraszállt űrhajósokkal lehet fotózkodni politikusoknak, másodpercenként 30-szor villanó kis pöttyökkel meg nem annyira. Pedig ezek az objektumok a legnagyobb atomok a mai ismert univerzumunkban, dehát ez ugye meg kit érdekel?… Így nem kaptak cray-t, csak a feladatot.

Donald hamar felismerte, hogy erre a feladatra egy számítógép kevés lesz, az ilyen technikához márpedig unix kell. (cray is unixot használ, of course) Mai szemmel nagyon bátor lépésre szánta el magát: egy szó szerint újszülött unix-klónra bízta az egészet, egy finn egyetemista által alkotott Linux-ra. A bsd-t is választhatta volna, ami akkoriban már kiforrott os-nek számított, de neki mégis jobban tetszett a pingvin. Vagy a finlandia vodka tetszett neki – ezt már nem fogjuk megtudni. Elkezdte farigcsálni az azóta már méltán híressé vált Beowulf nevű clustersoftware-ét, ami többé-kevésbé egy homemade ingyenes megoldással próbálja kiváltani a cray cluster-eket. Naigen, ő sem az a hátulgombolós fajta programozó, így nem a guglin kezdett el elsőként keresgélni (már csak azért sem, mert a google-t ’98-ban alapították), hanem egy társával, Thomas Sterlinggel megírta a nullából.

A gond ott kezdett kezelhetetlen méreteket ölteni, hogy össze-vissza szakadt a hálózat, képtelenség volt megbízható munkára használni az így alkotott beowulfot. A probléma az igen gyatrán teljesítő driver-ekből adódott. (ez talán ismerős jelenség lehet sokaknál….) Akkoriban a pc-kben a novell által is preferált NSC 8390 chip ketyegett a hálókártyákon. Ilyen volt az ősi rtl8019 és a ne2x. Donaldéknak a realtek jutott, így nekiállt egy működőképes ethernet drivert kalapálni hozzá. Hamar arra jutott, hogy kukázza az egész kódot, és rájött, hogy a linux kernel is ‘bénán’ kezeli az ethernet interface-t. Nem volt mit tenni: linux kernelfejlesztővé avanzsált, és a finn Torvalds-szal az interneten keresztül tartva a kapcsolatot szépen megtervezte, majd implementálta az ethernet kódot, ami az etalon NSC 8390-es chipet hajtotta meg. Ha nem ilyen chipet talált, akkor a driver-t úgy alakította, hogy az NSC 8390-et emulálja le a kernel felé. (Ez egyébként a mai napig pontosan így történik.)

Hogy miért van ennek egyáltalán jelentősége? Mert megírta az ultimate driver skeletont, és innen már sokkal könnyebb volt tetszőleges chipre először megírni az nsc8390 emut, aztán ezt odatolni a kernelnek. Így lehetett az, hogy zsákszámra vásároltuk a hálókártyákat a bolhapiacon 100 forintét (100ért 10 teszteletlent, vagy 100ért 1 teszteltet). A tesztelt azt jelentette, hogy az eladó felklikkelgette a drivert windowsra, és tesztelgette. Mi pedig csak bedugtunk ebből 4-et egy pécébe (vagy amennyi belefért), boot-ol a linux, és máris láttuk, hogy mennyi működőképes belőle. Véleményem szerint ez törte meg a bsd-k uralkodását, amikhez akkoriban nem volt ilyen penge univerzális driver; így hiába volt kiforrottabb és stabilabb a bsd, egyszerűen a hardware támogatás miatt ‘mindenki’ a linux felé kezdett fordulni. Ez volt az a pont, ahol a linux kitört a ‘yet another unix clone’ címkéből, és egy ready-to-use pc-s operációs rendszerré válhatott hálózati környezetben. Ekkor még nem sejtette ‘senki’, hogy az internet ennyire terjedni fog, a modemeknek bealkonyul, és az ethernet szabvány kvázi egyeduralkodóvá válik, ezzel a linuxot is felfele tolva a trónra, amiben lássuk be: a mai napig a legjobb a hálózat kezelése. Annyira a kernel része, hogy nem is lehet kernelt fordítani hálózat nélkül. Sokmindent ki lehet hagyni forgatáskor, de a hálózat szervesen bele van drótozva, egyszerűen megkerülhetetlen. (meghát manapság mi a fasz értelme is lenne egy os-nek hálózat nélkül?)
Az ethernetből nőtt ki aztán a wifi, aztán…aztán már meg is érkeztünk 2018-ba. Így ha sikeresen felépül egy wifi/ethernet kapcsolat, akkor érdemes egy imát elmormolni Donald Becker bácsinak, aki mindezt lehetővé tette. (Természetesen akkor nem kell imádkozni, ha bluetooth-on csatlakozol, ha soros porton csatlakozol, ha párhuzamos porton, ha usb-n, vagy ha rfc 1149-cel.) Bár ez ugye csak a linuxra vonatkozik, és windows-ra meg bsd-re (ios, osx) nem, de azért tegyük hozzá, hogy a mai router-ek 99%-a linux alapú. Így a túloldal úgyis linux, amire csatlakozol; de ha az nem, akkor az internetszolgáltatóknál kb. minden router ugyancsak linuxon fut, ahogy a google.com, facebook.com, amazon.com vagy bármi nagy oldal, amit mondani tudsz.
Mellesleg itt van ő: https://www.facebook.com/pages/Donald-Becker/110662875650785 – egy like-ot csak megér! És ahogy a rovat címében benne van az “elfeledett”, így ebből következik, hogy Becker soha nem lett gazdag, jólmenő vállakozó, egyszerűen csak a munkájához kellettek a driverek, ő meg odaajándékozta az opensource közösségnek. Hiába használja már millió android a kódját, ő csak elégedetten mosolyoghat, hogy tett valamit a világért. Mi azért ne felejtsük el a nevét!
Amikor egyszer megkérdezték, hogy nem zavarja-e, hogy nem látott semmi pénzt egy ma már milliárdok által használt kódból, ezt válaszolta:
“Nah. What most folks don’t realize is that I own their box(es) thanks to some backdoor code in the drivers. I’ve got the worlds most powerful beowulf cluster at my fingertips, so money means very little to me. Believe me, if I wanted money I could take whatever I wanted.“



