Petr Mládek o své práci

Na [?:http://news.opensuse.org/ news.opensuse.org] vychází pravidelně rozhovory s lidmi, kteří patří mezi výrazné postavy projektu openSUSE. Bohužel se zatím nedostává na velmi aktivní a početný tým českých vývojářů. Rozhodli jsme se proto sami příblížit práci těchto lidí. Prvním člověkem, který se krásně rozepsal o své práci, je Petr Mládek. Jeho hlavní náplní je vývoj kancelářského balíku OpenOffice.org.

Nejprve něco z historie. Do SUSE jsme nastupoval jako balíkář na jaře roku 2001. Nejprve jsem měl na starostí velké množství méně důležitých balíků, včetně mnoha malý editorů. Pak jsem asi jeden a půl roku zpravoval všechny balíky související s Javou. Nakonec se ke mě dostal balík OOo. Že prý to je taky editor a že prý tam je plno javy :-) Původně jsem na něm pracoval sám a stále měl ještě plno balíku vedle. Potom jsme přijali jednoho vývojáře pro integraci do KDE. Potom došlo k integraci s Novelem, původním týmem z Ximianu a práce na OOo se hodně rozšířila. Nakonec jsem se tedy jiných balíků zbavil.

Patřím k nejstarším balíkářům. Pokud zbývá čas, tak se podílím na zaučování nových členů balíkařského týmu. Také jsem se podílel na tvorbě a zpravoval poměrně rozsáhlý interní dokument "Balíkařský manuál" a jeho veřejnou část "SUSE package conventions". Nyní již na to nemám čas.

V společnosti SUSE/Novell pracuji na balíku OpenOffice.org, jeho lokalizacích, slovnících a galerii obrázků. Nejsem na tento balík sám. Společnost Novell se velice aktivně podílí na vývoji. Nedávno se náš tým zdvojnásobil, takže nyní u nás pracuje na OOo více než 15 lidí. Jsou rozmístěni po celém světě. Máme 3 lidi v Kanadě, 3 v Americe, 3 v České Republice, po jednom v Irsku, Británii, Švédsku, Švýcarsku, Německu. A máme také malý tým v Číně (tady si přesně nejsem jistý počtem).

Hlavní činnost našeho týmu lze rozdělit asi na dvě části. Jednak se snažíme řešit problémy našich zákazníků v téměř všech oblastech. Dále se zabýváme aktivním vývojem v několika vybraných oblastech. Již před mnoha lety jsme pracovali na lepší integraci OOo do GNOME and KDE (ovládací prvky, barvy, ikony, dialogy pro otevírání a zavírání souborů. Již dlouho pracujeme na podpoře VBA (Visual Basicu), který nebyl původně OOo podporován. Jeden člověk (poměrně známý Michael Meeks) pracuje na zrychlování OOo. Dosud se zabýval především startem OOo. Provedl mnohé změny jak na straně OOo, tak i v systému. Druhý typ změn pomohl urychlit i ostatní aplikace a viditelně se projevil například i v KDE. Další člověk pracuje na zlepšování modulu pro prezentace. Například integroval zobrazování pomocí knihovny cairo, takže výstup je nyní kvalitnější a je možné použít HW acceleraci. Také integroval knihovnu gstreamer, takže je možné během prezentace přehrávat videa a hudbu. Další člověk pracoval na portování OOo pro 64-bitovou architekturu x86_64 systémy. Určitě jsem plno těch drobnějších věcí vynechal. Také máme člověka, který buildí naši verzi OOo pro Windows. Ta je vhodná pro uživatele, kteří se k přechodu na Linux teprve chystají. Mnoho nově přijatých lidí nyní pracuje na integrovaných (čistých, efektivních) importních a exportních filtrech pro nové formáty MS Office 2007. Zároveň opravují chyby ve filtrech pro starší MS formáty, implementují některé nové funkce vyžadované novým formátem, ... Také máme dva pracovníky kteří naše OOo testují, před tím než se dostane k zákazníkům.

Mojí hlavní starostí je kompilace a vytváření vlastních balíků. Strávím tím poměrně velkou část pracovní doby.

I nejjednodušší operace, jakou je kopírování zdrojů balíků, vytvořených balíků, nebo jejich instalace trvá mnoho vteřin. Čistý testovací build trvá zhruba 1.5 hodiny, na silném stroji, pokud využiji silnou paralelizaci, vypnu všechny lokalizace a nějaké další volitelné funkce. Celý build se všemi jazyky a funkcemi trvá víc než 5 hodin i na nejsilnějších strojích.

Při kompilaci se často objevují nové problémy. Například se stává, že nějaký kolega zařadí do distribuce novou verzi některé knihovny, na které je OOo závislé, a já pak musím přizpůsobit OOo pro tuto novou verzi. Mnoho problémů vzniká s kompilátorem. Nové verze gcc často přidávají nové kontroly chyb kódu, takže najednou nelze přeložit to co bylo možné se starou verzí. Další chyby se samozřejmě objevují při samotném vývoji OOo. Vývojáři sami někdy udělají chybu a odevzdají ne zcela odladěný kód. Někdy jej odladí na svém systému a chyba se projeví až když vytvářím balíky pro nějaký starší nebo naopak novější systém... A nejedná se jenom o těch 15 vývojářů v Novelu. My pravidelně přecházíme na vývojové verze OOo od Sunu. Naše úpravy sdílíme s dalšími distribucemi (Debian, Ubuntu, Mandriva, ...), které přidávají vlastní úpravy.

Balíků je potřeba poměrně velké množství. Jednak se snažím alespoň každé dva týdny dát naši aktuální vývojovou verzi do právě vyvíjeného produktu (openSUSE nebo SLED nebo oboje). Před vydáním produktu to bývá i častěji. Z těchto zdrojů jsem nepravidelně vytvářel balíky i pro starší distribuce, které pak byly k dispozici na ftp.suse.com/pub/projects. Podařilo se dořešit i "automatické" buildení poslední verze OOo pro starší produkty v openSUSE Build Service, takže nové verze by měli být dostupné zhruba v těch dvou-týdenních intervalech. Další buildy jsou třeba pro zákazníky, kteří si zaplatí okamžitou opravu. Také je občas třeba udělat oficiální update pro starší produkty, kvůli nějaké kritické nebo security opravě...

Pro balíky dělám i základní testování. Minulý rok jsme na nějaký čas přišli o testery, takže jsem několik měsíců dělal vlastně kompletní testování. Také řeším drobnější chyby v konfiguraci nebo funkci OOo.

Nějaký čas strávím i komunikací s lidmi, dotazy. Zde mám určitě co zlepšovat. Na osobní dopisy ještě většinou odpovídám. Určitě bych si měl udělat více času na dotazy ohledně OOo na openSUSE konferencích.

Do budoucna se chystám zapracovat na zmenšení a rozdělení OOo, aby to nebyl takový moloch.

Pokud byste rádi věděli další podrobnosti, neváhejte je napsat do komentářů. Zašleme je Petrovi a jeho odpovědi zveřejníme.

Komentáře

ra100 odpověděl -

Vyborny pocin:-)

No mna by este zaujimalo:
Co ho motivuje na praci, alebo cim je zaujimava prenho praca v openSUSE/SLES/SLED projektoch?
Preco sa pripojil k openSUSE projektu?
Akym sposobom by podla neho bolo dobre rozsirit openSUSE viac do povedomia ludi?

omzul odpověděl -

No páni! Tomu říkám pořadný RPM práce :-) Díky za něj, byť zatím si na OOo zvykám jen ztěžka (roky pod MS jsou prostě roky pod MS). Zaujala mne zmínka o imprtních/exportních filtrech. Prý se chystá důstojná alternativa k Outlooku, tak bych mne zajímalo, zda se pracuje na filtru, který bude zvládat data z *.pst (nejen e-maily, ale i kontakty, úkoly, poznámky..). Osobně jsem dosud nenašel cestu, jak to udělat bezeztrátově, o jednoduchosti ani nemluvě :-( Tento stav mi přijde tristní, neb pro obchodníky a management to jsou klíčová data a rozhodně nepůjdou do migrace, která "smrdí" problémy s PIM ;?) Předpokládám, že se půjde do standardů => mohlo by to být použitelné i pro Kontact či Evolution ;?D

artemio odpověděl -

Dobrý den,
po aktualizaci z OOo 2.0.4 na vyší verzi (teď to píše 2.3.0.1.3) se objevilo označení nezlomitelných mezer šedým čtverečkem které nelze vypnout. Ve widlows to nedělá pouze SUSE 10.2 a 10.3 co jsem zkoušel. Bude se tento problém řešit? Pokud vím tak na fórech se rozumná rada neobjevila a nejsem si úplně jistý jestli se označení zobrazuje i v jiných distribucích nebo je to jenom specialitka SUSE. Doufám jenom že to nebude jako s vycentrováním stránky na střed které trvalo několik let. Sice mám papír v prostředku, ale zase plný šedých čtverečků.
Ale i přes to Ať se práce daří :-)

vladano odpověděl -

No práce hromady. Jen doufám, že se na gramatice českého slovníku podílí i někdo jiný, tento článek je samá chyba (gramatika, sloh, interpunkce)... ;-(. Věřím, že je to jen tou spoustou práce a tedy v rychlém napsání tohoto článku z nedostatku času :).

--
Let's talk about s.x - Suse linuX ;o)