Portál AbcLinuxu, 23. května 2024 19:26

Těžký je život údržbáře

13.5.2006 13:59 | Přečteno: 2343×

Tento článek nebude o školnících ani instalatérech. Místo toho přinese pár kapitol z příběhu o životě (nejen) binárního balíčku v linuxové distribuci.

V diskusi pod mým posledním článkem se objevil názor, že o opravy chyb v balíčcích by se spíš než distributoři měli starat autoři. To je pěkná představa, která ale z mnoha důvodů narazí na tvrdé hrany reality: předně, neexistuje žádná páka, jak autora donutit, aby problém spravil (ve skutečnosti dá občas pořádnou fušku ho donutit, aby vydal novou verzi i s opravou, kterou jsme mu zaslali). Potom, i ochotné autory open source programů jejich balíček obvykle neživí a než si na něj mohou udělat čas, nejspíš najdete ještě dalších deset chyb. Navíc uživatele jednotlivých distribucí možná přesvědčíme, aby hlásili chyby v distribuční bugzille, ale určitě je nedonutíme, aby se ještě sháněli po autorovi. A konečně, některé problémy balíčku, které se projevují v konkrétní distribuci, autor stejně vyřešit nemůže.

Každý distributor si tak musí zajistit tým lidí, kteří se kromě jiného zabývají také péčí o jednotlivé balíčky obsažené v distribuci. Komunitní distra to mají celkem jednoduché, obvykle sdružují velké množstvín dobrovolníků starajících se jen o pár balíčků, které je zajímají. Komerční distributoři potom musí rozdělit své balíčky mezi své zaměstnance: u některých panuje anarchie a o balíky se stará ten, kdo má zrovna čas, u dalších jsou všechny rozděleny mezi jednotlivé vývojáře, kteří pak řeší veškeré problémy s nimi spjaté.

Naše distribuce je ztělesněním druhého jmenovaného modelu. Kromě toho, že většina vývojářů si mimo běžné náplně práce balí pár svých oblíbených balíčků, existují také balíkáři - specialisti. Balíky, které mají v péči, se počítají na stovky a jejich udržování věnují celou svou pracovní dobu. Jak jejich práce vypadá?

Jak říkávám, práce balíkáře znamená opravovat chyby v programech, které neznáme, a které jsou napsané v jazycích, které neumíme. K většině programů přijde balíkář jak slepý k houslím a jejich kód poprvé spatří až ve chvíli, kdy řeší nějaký problém. Občas tak dochází k nemilým překvapením: už jsem tady vyprávěla, jak jsem se učila Fortran a v nejbližší době se zřejmě dočkáte pokračování, tentokrát se bude týkat Scheme. Smůla je, že k normálnímu programování se balíkář dostane obvykle jen ve volném čase: obyčejně pár hodin kouká do kódu, a potom odevzdá patch čítající pět řádků.

Většinu času balíkář stráví v relativním klidu a pohodě (řeší jen problémy s přechodem na nové verze gcc, glibc, portováním na různé absurdní architektury a uživateli domáhajícími se nesmyslných featur), ta se ale rychle rozplyne přibližně týden před tím, než je vyhlášen freeze na nové verze balíků v nadcházející verzi distribuce. Tehdy je totiž třeba co nejrychleji aktualizovat všechny balíčky: pouštět se do toho dřív nemá valného smyslu, protože potom stejně ještě vyjdou nové verze. Dělat si strejčka se vyplatí jen u knihoven. Někdy má člověk štěstí a všechno jde jako po másle, jindy dře jako otrok na plantáži.

Výsledkem této akce je distribuce ve stavu připomínajícím dort pejska a kočičky: nastává chvíle, kdy programy padají jak zralé ovoce a je na vývojářích, aby chyby našli a opravili. Než se nadějí, uplyne čas do první bety a k chybám nalezeným vlastnoručně přibudou hromady hlášení od uživatelů. V těchto okamžicích naprosto nemá smysl spoléhat na opravy od autorů jednotlivých programů: nebylo by to dost rychle a navíc ukázat jim, jak chybu zreprodukovat, by mnohdy dalo víc práce, než ji spravit. Nepříjemnosti, které toto období přináší, jsou způsobeny jen a pouze tím, že nové verze programů obvykle přicházejí na svět nedostatečně odladěné.

V praxi tedy ráno člověk přijde k počítači, vypije si první kafe a přitom si prohlédne seznam nových bugreportů, které přibyly přes noc (uživatelé pilně testují ve všech časových zónách). Pak je probírá jeden po druhém, a když má štěstí, opraví jich tolik, že se seznam přes den neprodlouží. V noci u posledního kafe potom rozešle své patche autorům jednotlivých programů. Text mailu mnohdy najde jako komentář ke svému kódu v dalším vydání programu: občas i přesto, že jde o slova jako "tento pointer je občas NULL, nevím proč." Tolik tedy k ochotě upstream autorů zabývat se chybami ve svém kódu.

Nakonec se začne frekvence hlášení snižovat. Když se z bety stává RC, je seznam bugreportů téměř prázdný a přichází čas věnovat se běžným denním radostem: proklínání programátorů, co nikdy neslyšeli slovo bigendian, nadávání na vývojáře gcc proměňující warningy v chyby a pročítání požadavků na nové featury s úsměvem, který rychle tuhne na rtech ve chvíli, kdy se za ně postaví management. Patche už nepadají z klávesnic jako mince z kouzelného beránka, kódu použitelného pro původní autory software ale vzniká i tak dost. Za to, že se autoři nemusejí hrabat v chybách, a místo toho se věnují novým vlastnostem, tedy uživatelé vděčí svým distributorům a asi by bylo nemoudré to chtít jinak.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

13.5.2006 14:13 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Odpovědět | Sbalit | Link | Blokovat | Admin
Zas super blogpost. Díky. A kvůli čemu, že se to budeš učit Scheme?
13.5.2006 14:15 anicka | blog: ze_zivota
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
slib
^D
13.5.2006 14:23 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Komu a co? :-)
13.5.2006 14:34 anicka | blog: ze_zivota
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
uaaaa ;o) Mám na mysli tuto zlořečenou knihovnu. Ale co, vždycky jsem chtěla umět lisp...
^D
13.5.2006 14:39 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Já vím. Hned mě napadlo se na to podívat přes esearch :-) ale vtípek jsem si odpustit nemohl. :D Lisp jsem se zkoušel učit, jediná knížka v místní vědecké knihovně, která připomínala učebnici Lispu byla z roku 1976 a měla hezky žluté stránky, ale základy jsem snad pochopil :-)
.. avatar 13.5.2006 15:51 .. | skóre: 4 | blog:
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Odpovědět | Sbalit | Link | Blokovat | Admin
S par upravami by z toho byl hezky fejeton :)
13.5.2006 16:38 mivrap | blog: Mirkovo
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Odpovědět | Sbalit | Link | Blokovat | Admin
"Naše distribuce je ztělesněním druhého jmenovaného modelu"... a jaká distribuce to je?
13.5.2006 16:42 anicka | blog: ze_zivota
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Ta nejlepší, přece ;o)
^D
24.5.2006 11:44 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
To si děláš srandu, viď? Proklínám ji pokaždé co se v ní musím hrabat. Naštěstí jsem k tomu nucen jen když není po ruce nikdo z kolegů.
13.5.2006 17:09 XXX | skóre: 4 | blog: CAD | X
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Odpovědět | Sbalit | Link | Blokovat | Admin
Sice se mi suse ani trochu nelíbí, ale líbí se mi jak tohle distro přibližuješ lidem. :-)
13.5.2006 18:00 Dag | skóre: 25 | blog: bzuk
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Odpovědět | Sbalit | Link | Blokovat | Admin
Pěkně napsané a zajímavé. Fakt! :)
13.5.2006 18:09 XXX | skóre: 4 | blog: CAD | X
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Odpovědět | Sbalit | Link | Blokovat | Admin
Myslím si že by se normálně tvuj blog hodil na to aby jsi ho vydali na abíšku jako seriál. :-) Seriál s názvem Těžký život vývojáře Linuxové distribuce. Já bych si to docela rád četl, alespoň bych se dozvěděl nějaké klepy z firemního prostředí. Ale to by jsi musela psát asi pod jinou přezdívkou. :-)))
13.5.2006 18:11 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Třeba usáma?
When your hammer is C++, everything begins to look like a thumb.
13.5.2006 18:15 Kníže Ignor | skóre: 19 | blog: stoupa
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
nebo U Saláma
Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
13.5.2006 18:42 XXX | skóre: 4 | blog: CAD | X
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
nebo třebas Salám alejkum alias /bin terorist. :-))
13.5.2006 20:04 anicka | blog: ze_zivota
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Ale to by jsi musela psát asi pod jinou přezdívkou.

Heh, myslím že kterémukoliv kolegovi, co by to četl, by bylo jasno za méně než dvě vteřiny ;o)

A vůbec, nemůžu přece konkurovat Dilbertovi ;o)
^D
14.5.2006 00:58 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
no.. škoda, že bernardýnek je pořád mrtvej, nebo neni?
14.5.2006 01:18 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Anička stále tahá zálohy v batohu :D
brozkeff avatar 15.5.2006 22:36 brozkeff | skóre: 13 | blog: Zpátky po 10 letech | Žďár nad Sázavou
Rozbalit Rozbalit vše DVD
Heh, pořád na tom slavném DVD? Pokud to byla jediná záloha a ta dodnes není v novém pejskovi, zajímalo by mě, jak je ten disk po zimě čitelný :]
14.5.2006 11:46 anicka | blog: ze_zivota
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
bernardýnek už je minimálně od vánoc živý, ale nějak nevím, kam s ním ;o)
^D
19.5.2006 07:07 Krígl | skóre: 3
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Seriál? Sice to není špatný nápad, ale obnova anicka.net by byla mnohem lepší. Vždyť ty stránky nejedou tak dlouho, že už sem za tu dobu dvakrát změnil prohlížeč a nemám je ani v záložkách.
14.5.2006 15:10 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Odpovědět | Sbalit | Link | Blokovat | Admin
A víš, že mi to vůbec nechybí? :-)
Weblate - překládání přes web | Gammu SMSD - posílání SMS | Blog
14.5.2006 15:43 anicka | blog: ze_zivota
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Hehe. Mě to zatím docela dost baví, ale umím si představit, že se toho časem nabažím. Zatím mám za sebou teprve dvě distribuce ;o)

btw, bia tě pozdravuje ;o)
^D
14.5.2006 16:41 tomm | skóre: 7 | blog: tomm's software | Sokolov
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Odpovědět | Sbalit | Link | Blokovat | Admin
Moc pekny ... neni to tak daleko od zivota release inzenyra ;-)
GUI existuje jen proto, aby se veslo vice terminalu na jednu obrazovku ...
15.5.2006 15:37 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Těžký je život údržbáře
Odpovědět | Sbalit | Link | Blokovat | Admin
Hezké, jen ty nadávky bych prosil více, hlasitěji a konkrétněji.
Táto, ty de byl? V práci, já debil.
brozkeff avatar 15.5.2006 22:40 brozkeff | skóre: 13 | blog: Zpátky po 10 letech | Žďár nad Sázavou
Rozbalit Rozbalit vše Vadný kernel ve FC5
Odpovědět | Sbalit | Link | Blokovat | Admin
Jestliže se testuje tímto způsobem, jak je pak třeba možné, že se stane to, co se stalo v poslední Fedoře, kdy bugreport na problémová jádra, která odmítala nvidiácké binární ovladače, byl do poslední chvíle zamítnut (důvod - "chyba je na straně nvidie") a teprve v době, kdy se již obrazy mirrorovaly, se vývojáři vzpamatovali a začali bastlit jaderný update s odstraněnou chybou?

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.