30 Linux kernel fejlesztő 30 hét alatt: Mauro Carvalho Chehab

Épp félúton járunk Jennifer Cloer mini interjúinak sorozatában. Egyéb elfoglaltságaim és a cikk kicsit hosszabb mivolta miatt pár nap késéssel, de itt a Linuxfórumon is elérkeztünk ehhez a pillanathoz. Úgyhogy ezúttal egy hosszabb bevezetőt is írok.

Most egy olyan emberrel ismerkedhetünk meg, aki még emlékszik, amikor kicsi volt. Ráadásul nem tagadja meg a grafikus felületet sem, sőt az olyan alkalmazásokat sem, mint a Kate. És ugye megtudhatjuk, hogy a közhely itt is igaz: az “őrmesterek” fognak kötözködni az újakkal, az igazán nagyok eleve nem.
Jópofa dolog, hogy úgy kedveli a dédelgetett kódjait, mint a gyermekeit és tud örülni mások gyermekeinek is, hisz a közösségben azt tartja a legértékesebbnek, hogy segítik egymást.
Azt eddig is tudtuk, hogy a fejlesztők nem feltétlenül az angol tudásukról híresek – és ez nem is tragédia, de egyes fejlesztők szerint már-már szinte követelmény 🙂 – most viszont megtudhattuk, hogy van olyan is, aki abban is segít nekünk, hogy a munkánkban ne csak a kód, de a dokumentáció is minőségibb legyen.

  • Mi feladatod, szűkebben milyen részterületen dolgozol?
  • A media alrendszer fenntartója vagyok. Ezt tartalmazza a kontrollereket, webkamerákat, audio/video felvevő, analóg TV, digitális TV és AM/FM vevőket és adókat.
    Közreműködök az EDAC alrendszerben. Jelenleg azon rendszerek jobb integrációján dolgozom, melyek a hardver hibareportokhoz kapcsolódnak (EDAC, APEI GHES, MCE).
    Továbbá némely userspace eszközhöz kapcsolódó dolgon is tevékenykedem, mint xawtv, v4l-utils, edac-utils stb.
  •  

  • És ki állja a számlát?
  • Augusztusban ünnepeltem a 4 éves évfordulómat a Red Hatnél. Ezelőtt a media alrendszert a szabadidőmben csináltam, miközben valami teljesen máson dolgoztam. Az előző pozícióm telekomunikációs rendszerek és hálózatok tervezése és fejlesztése volt többek között néhány nagy Brazil vezetékes és vezeték nélküli híradástechnikai cégnél.
  •  

  • A világ mely részén élsz? És miért ott?
  • Brazilia délnyugati részén. Ezelőtt Brasiliában éltem. A feleségem, gyerekek szenvedtek a száraz sivatagihoz hasonló klímától Brasiliában. Szóval elköltöztünk egy jópofa városba São Paulo állam belsejébe a Paraiba folyó völgyéneben. Ez a város jó infrastruktúrával és iskolákkal rendelkezik.
    Jelenleg közel vagyunk São Paulo egy nagyvárosához, de nem olyan közel, hogy a nagyvárosok általános problémáitól szenvedjünk, viszont vannak szép helyeink a hegyekben és a tengerparton.
  •  

  • Mik a kedvenc fejlesztésben használt eszközeid? Mi fut a gépeden?
  • Általában a szokásos eszközöket futtatom: git, gcc, gmake, bash, perl, levelező és egy böngésző.
    Annyira nem foglalkozom a levelezőkkel, ugyhogy csak a Thunderbirdöt használom a általában. Habár kedvemtől függően használom a pine-t, a claws-mailt és az evolution is. Mivel az összes könyvtár a helyi imap szerveren van, az email kliens nem igazán számít.
    Bár általában a text módot kedvelem, nem vetem meg a guit ott, ahol jól jön. Szóval fájlszerkesztésre leginkább a nanot használom. Amennyiben valami komplexebb dologra van szükségem, akkor a kate-et választom.
    Írtam több bash/perl scriptet, hogy segítsen a foltok kezelésében.
    Jelenleg a Fedorát használom és mindent megtalálok benne, amire szükségem van. Általában a a legutolsó stabil verziót futtatom, mert szeretem látnni a legújabb fejlesztéseket. De nem igazán kedvelem, amikor néhány alkalmazás GUI felületét eltávolítják az új verzióban.
    A GUI-ról szólva, 3 monitort használok, hogy minél több ablakot tartsak nyitva egyidőben. Sajnálatos módon a legtöbb GUI nem támogatja valami jól a több, mint gey monitort. Szóval mindig valamelyik újjal próbálkozom, hogy melyik működik jobban (KDE3, Gnome 2, melyek nálam működnek, de egyre másra tünnek el a modern disztrókban).
    Szóval próbálkozom az xfce, az lxce, a KDE 4 és a GNOME 3 felületekkel.
    Fedora 17-ig a Gnome 3 majdnem működött több kiterjesztéssel. Szóval jelenleg próbálok békében élni a Gnome 3-mal, miközben xfce/lxce felületet is futtatok, havbár a legtöbb alkalmazás Gnome 3 maggal indul. Szóval a memória spórolásnak az xfce/lxce esetében annyi és csak néhány kisebb dolog nem ígényli a Gnome 3-at.
  •  

  • Hogyan lettél kernel fejlesztő?
  • Régi kapcsolatom van a Linuxszal. Az első Linux verzió, amit használtam az a Slackware 0.97 volt 1.0-ás kernellel, amit routerként telepítettem (mivel meg akartam osztani 9600 Kb/s-os internet linkemet a haverokkal). Először a nyílt forráskódú KA9Q TCP/IP routert próbáltam, de nálam nem volt stabil, így a barátaim a Linuxot ajánlották helyette.
    Azóta Linuxot telepítettem a desktopomra és számos helyre csatasorba állítottam régi telefonközpont irányítására. Ezalatt az idő alatt nyílt forráskódot használtam és a telekommunikációs cég belső fejlesztéseit, ahol valóságos Istenkáromlásnak számított, még akkor is, ha több 10 milliós megtakarítást jelentett évente egy Linux-bázisú megoldás. Ez fokozta azt az érzést, hogy vissza kellene mennem a nyílt forráskódot használó közösséghez.
    A kernel hackerkedésbe véletlenül kezdtem bele. 2005-ben azon gondolkoztam, hogy doktorálnom kellene. A doktorim két táméja közül az egyik egy képelemző terület volt és azt terveztem, hogy írok néhány kis video codec-et. Szóval vettem egy digitalizáló kártyát gondolván, hogy működik Linux alatt.
    Sajnálatos módon a Brazil (PAL/M) video sztandard nem volt támogatott. Akkor még úgy tűnt, hogy minden a kernelben van a PAL/M-hez és akkor még a videók fekete-fehérek voltak.
    Szóval úgy döntöttem, hogy megcsinálom magam és beküldöm. Nagjából két hétig tartott, míg a foltot működésre bírtam, elolvastam a régi analog TV könyveket a bennük lévő számos video szabvánnyal, meg adatlapokkal, hogy hogyan is lehet programozni az eszközt. A nap végén a színek nem működtek köszönhetően egy 0,1%-os késleltetésnek, ami ami a driver és a video dekóder mintavételi frekvenciája között volt. A neten talált két soros folt megoldott a problémát.;)
    Ezidő alatt Randy Dunlap és Andrew Morton nagyon sokat segített nekem e folt elfogadásában. Alapos tanácsokat adtak azzal kapcsolatban, hogy hogyan tudok egy foltot beküldeni a LKML-án. Manapság, ha a egy foltot fogadok egy új jelentkezőtől, akkor visszaemlékszem az általuk irányomba tanúsított türelmükre és megpróbálok nem zsémbes lenni az új jelentkezőkkel.
    A Pal/M fix után számos bugot találtam, melyek arra késztettek, hogy újraírjam a kereső modult és egyéb más részét a drivernek. Más fejlesztők pedig megkértek arra, hogy küldjem be a foltjukat és később hivatalosan kértek, mint fenntartót. Nem egészen voltam tisztában azzal, hogy mit jelent ez az életemben, de elég buta és bátor voltam ahhoz, hogy megtegyem. 😉
    Nemsokkal később meglepetésemre, ami egyszerű hibajavításnak indult komoly dologgá vált. Természetes következménye lett, hogy feladjam a 20 éves karrierem és teljes időben a Linuxszal és a nyílt forráskóddal foglalkozzam.
  •  

  • Mi az ami fenntartja az érdeklődésedet?
  • Minden új driver olyan nekem, mintha a saját gyermekem lenne: nézni az első lépéseit, ahogy hasznossá válik valaki számára, nagyon élvezetes dolog.
    Szintén imádok felbehegyott dizájnokat javítani, kódokat tisztítani és segíteni másoknak. A legnagyobb sikere a nyílt forráskódnak és a Linuxnak, az együttműködés, és én büszke vagyok arra, hogy részese lehetek ennek a sikernek azáltal, hogy driverhez segítettem a felhasználók Linuxos eszközeit.
  •  

  • 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)?
  • Nincs egy kiemelhető szórakoztató esemény. Általában olyankor történik ilyen, amikor egy vérfrissítés után valaki végre aktív közreműködővé válik.
    Szintén jópofa, amikor egy külső fa bekerül. Számos olyan sikertörténetünk van, mint a multimédia alrendszer: emberek dolgoznak a saját kis kedvencükön és végül azt látni, hogy van visszajelzés, az nem csak nekik jó, hanem mindenki másnak, akik használják azt a kódot. Azon kódoknak a bekerülése nem könnyű, akiknek a fejlesztői a Linux kód stílusára panaszkodnak. De a nap végére a driverük jobb lesz, mint azelőtt volt, ahogy egyre több ember bírálja és javítja a benne található hibákat.
  •  

  • Mi a tanácsod a kezdő fejlesztőknek?
  • Ne félj attól, hogy beterjeszd a foltod, ha valami nem működik, vagy jobbá tehető, kérlek írj egy foltot és küld be.
    Az nagyon valószínű, hogy egyes emberek rosszakat fognak írni az első foltodról, mondván, hogy egy szemét, és/vagy nem követi a Linux kódolási stílust. Szóval a következő tanácsom (idézet a Galaktitkos küldetésből): “Soha ne add fel! Soha ne add mag magad!”(a) Csináld úja a foltot, amíg meg nem felel. Talán néhány kört kell járni, míg befogadják, de ezalatt tanulhatsz.
    A harmadik tanácsom, hogy ne félj az angol nyelvtől. Tudom, hogy sokan azért nem küldenek foltokat, mert nem angol az anyanyelvük. A foltok a kód minősége és nem helyesírás szerint lesznek értékelve. Természetesen a jó leírás a részét képezi, de, ha a helyesírás nem 100%-ig tökéletes, szintén javítható. Néhány bírálónak, mint nekem is szokása a vacak hozzáfűzések javítása, ha a folt nem jól dokumentált, vagy a szerző nincs teljesen tisztába a nyelvvel.
    Olvass dokumentációkat a Documentation/ könyvtárbból, mielőtt beküldesz egy foltot. Ez sokat segít, hogy jobb foltot készíthess.
    Greg Kroah-Hartman Linux Driver Projektje egy jó kiinduló pont azoknak, akik csatlakozni szeretnének.
  •  

  • Mit hallgatsz, amikor kódolsz?
  • A csend hangját. Általában nem kedvelek semmilyen hangot, amikor kódolok.
    Amikor valami rutinmunkát végzek, akkor néha valamilyen jó zenét hallgatok. Nagyon ekletikus vagyok. Szeretem a klasszikusokat, a rockot, a countryt, a nemzetközi zenét, operát, rockoperát és természetesen a brazil stílusokat (samba, bossa nova, chorinho, old guard, new guard, tropicalia, sertaneja, brasiliai és brazil rock, Brazilian rock, stb.) És szintén szeretem az olyan új hangokat, mint Adele.
    Egy tipikus munkanap végén, amikor túl sok stressz ér, vagy sokat kell várni valami fordításra, fogok egy gitárt (vagy egy basszusgitárt) és próbálok jászani valamit. Ez alkalmas módja a napi stressz levezetésének, valamint arra, hogy az agyam friss levegőhöz jusson egy komplex probléma megoldásához.
  •  

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?