30 Linux kernel fejlesztő 30 hét alatt: Jiří Kosina

Egy idő hiány miatt hosszabb kihagyást kővetően egy olyan feljesztőről lesz szó, akinek a neve saját érzéke szerint kimondhatatlan majdnem mindenki számára, aki nem Cseh, ezért egyszerűség kedvéért el is egyszerűsíti az amúgy is “leírhatatlan” betűt és csak Jirinek nevezi magát.

    • Mi feladatod, szűkebben milyen részterületen dolgozol?
    • Több alrendszer, vagy kernel terület, csökkenő sorrendben az érdekesség szerint:
      En felügyelem a HID alrendszert. Ez nagyon széles hardverválaszték kezelését jelenti, kezdve a USB/Bluetooth mikrofonok/billentyűzetek/botkormányok-tól, de ide tartoznak a multitouch eszközök (melxnek az oroszlánrészét Benjamin Tissoires végzi). Másik érdekes dolog, mely most tűnt fel a horizonton, azok a HID érzékelők I2C-n keresztül.
      Az address space réteg randomizációját, userspace programok számára. A kód nagy része ExecShieldből származik, de többször átdolgoztam, beolvasztottam a Linux fába és javítottam az évek során keletkező összes bugot. És volt néhány elég ismeretlen darab, melyek leginkább a lib5c binárisokhoz kapcsolódtak (igen, még mindig van olyan, aki azokat a 3.x-es kerneleket futtatja), történelem előtti amecs verziók, melyeknek az utolsó globálisan delarált változója jelentette a brk() heap kezdetét. Páratlan élményt jelentettek.
      APM támogatás (azok számára, akik nem elég idősek, hogy emlékezzenek – igen, ez az a dolog, amit az ACPI előtt használtunk). Ezt azért vettem át, mert mert még van olyan “APM-only” hardverem, amin a jelenlegi kernelt tesztelem. Ez eléggé el lett hanyagolva, senki nem törődik vele (kivéve a CPU idle támogatást, ami hol elavult, hol meg nem).
      Floppy drájver. Ezt nemrégiben szereztem. Halálos csatát folytattam a fenntartóval a Thunderdomeban, és… nos történetesen a driver leginkább nem igazán van karbantarva és kiderült, hogy borzasztóan kikapós. Vicces dolog, hogy mindig is használták, de senkit nem érdekelt, hogy a valóságos floppy hardver túl lassú, hogy versenyt indítson a kódban. De azok számára, akik elég bátrak ahhoz, hogy floppy meghajtót virtualizáljanak váratlanul összeütközésbe kerülnek velük, merthogy a virtuális floppy eszköz meg pokolian gyors. Amint ez a probléma megoldósott nálam landolt a driver. És igen, nem ez az a karrier, amiről mindig is álmodtam.
      Jelentéktelen fa. Alapvető gyűjteménye azoknak a jelentéktelen foltoknak, ami senkit nem érdekel és egy merge windowsban egyszer kerül elküldésre Linusnak.

    • És ki állja a számlát?
    • SuSE. A SuSE “Core kernel” csapat vezetőjeként dolgoztam és a SuSE Linux Enterprice termékek kernel felelős fentartójaként.
    • A világ mely részén élsz? És miért ott?
    • Prágában, a Cseh köztársaságban. Itt születtem, és egy rövid közjátéktól eltekintve a CERN-nél dolgoztam és soha nem láttam okot arra, hogy máshol éljek.
    • Mik a kedvenc fejlesztésben használt eszközeid? Mi fut a gépeden?
    • KDE-t használtam a kezdetektől. De a KDE4-nek van egy alapvetően kritikus pontja: nem tudok ellenállni, hogy valami könnyebb súlycsoportra váltsak. Szóval most icewm-et futtatok, számos sterm-mel, , vim, gcc, git, quilt, (al)pine programokkal, böngészővel, néhány random im cliensel, twinkle for voip-vel, mplayerrel… ez épp elég.
    • Hogyan lettél kernel fejlesztő?
    • Egy internetes routert állítottunk be (9k6bps-os modem vonalat használva – természetesen), amikor gimibe jártunk, valamikor 1996-ban, és valami meghibásodott. Úgy vélem, hogy valami összeütközés blokkolt minket a hálózati kártya driverében. Úgy vettem észre, hogy képes lennék megszerezni a forráskódot valahonnan és megpróbálnám kitalálni, hogy mi történik. Eltöltöttem jónéhány álmatlan éjszakát, mielőtt megértettem mindent, de végül képes voltam megjavítani… csak akkor fedeztem fel, hogy már javították a 2.0.17-ben, vagy valamelyikben. De attól még remek tapasztalat volt.
    • Mi az ami fenntartja az érdeklődésedet?
    • A technikai és szociális szemlélet kivételes kombinációja.
    • Mi volt a legszórakoztatóbb esemény a fejlesztői munkád során (flame war, idióta kódok, csodálatos teljesítmény)?
    • Szeretem az emailen keresztüli debuggolást. Megpróbálni kitalálni, hogy a reportált bug miért is viselkedik, úgy, ahogy azt teszi, az információ minden darabját összerakni, megpróbálni kitalálni egy ravasz módot a kód hangszerelésére, hogy kicsit jobban tudjuk, hogy mi is történik. Ez olyan, mint egy detektívregényt olvasni, azzal a bónusszal, hogy még szrepelhetsz is benne.
    • Mi a tanácsod a kezdő fejlesztőknek?
    • Ha olyan kérdéseket kell feltenned, hogy – “Ha azért akarok kernel fejlesztő lenni, mert az szerintem menő dolog, akkor min is kellene dolgoznom?” – akkor a hozzáállásodon kell először változtatni.
      Egészen biztos vagyok, hogy számos dolog létezik, ami miatt utálhatod a Linuxot, akkor miért is nem javítanál ezeken? Nem lassú a saját fájlszervered? Nem akad az audiód, amikor valami I/O igényes dolgot csinálsz? Nem utálod, amikor egy OOM ölő mindig úgy dönt, hogy kinyírja az editorodat pont akkor, amikor egy fontos szerelmes levelet írsz?
      Van egy alap tanácsom: hagyd abba az olyan apró dolgok mellőzését, melyek bosszantanak egy kicsikét és kezdj el javítani rajtuk. És a nyugalom pillanata el fog jönni.
    • Mit hallgatsz, amikor kódolsz?
    • Amikor valamin dolhozom, az agyamnak szüksége van a teljes figyelemre, szükségem van a csendre. Máskülönben elég sokféle zenét kedvelek a klasszikustól (főleg Mozart), a rockon keresztül a punkig.

Az eredeti cikk itt a linux.com-on olvasható.

A sorozat előzményei a linuxforum.hu-n:

Vélemény, hozzászólás?