Michael Meeks je hacker (v původním slova smyslu), který dříve pracoval pro firmu Ximian a vyvíjel infrastrukturu Gnome 2.0. V současné době pracuje pro Novell a jeho hlavní pracovní náplní je vývoj balíku OpenOffice.org. Je znám především úpravami, které zvyšují výkon OOo a vylepšují spolupráci s konkurenčními balíky (interoperabilitu). Michael Meeks získal magisterský titul na Cambridge University.
Jste v Praze poprvé?
Ano, ano a je opravdu nádherná.
Jak dlouho se zdržíte?
Vlastně asi týden a půl. Proběhne tu setkání vývojářů OpenOffice. Vývojářský tým Novellu pro OpenOffice roste velmi rychle a v tuto chvíli máme 17 lidí. Takže tu v České republice budeme mít setkání, protože velká část týmu je z Evropy, takže to je ideální místo k setkání.
Co konkrétně český tým? Je důležitý pro vývoj OpenOffice?
Ano, rozhodně! V České republice máme Petra Mládka, který se stará o balíčky, a také je tu Jan Holešovský, který dělá především na jádře OOo. A pak je tu Radek Doulík – ten dělá na multimédiích a integraci desktopu. Takže ano, jsou to klíčoví lidé v našem týmu.
Líbí se vám pracovat pro Novell?
Ano, je to vynikající. Dříve jsem pracoval pro malou firmu Ximian a tam byla malá skupinka lidí a taková volná kultura. Novell je sice více strukturovaný, ale je tam mnohem větší tým. Líbí se mi tam.
Jakou volnost vám Novell dává? Kolik času můžete věnovat na své projekty?
Co je dobré pro mě, je dobré i pro Novell. OpenOffice tým se snaží řešit mnoho věcí a to přináší Novellu zisk. Zabýváme se různými problémy, řešíme potíže v jádře a linkeru a snažíme se vylepšit výkon. Většina z toho co dělám podporuje právě tohle. Takže ano, pracuji na OpenOffice a práce je opravdu hodně.
Pracujete raději na Gnome nebo na OpenOffice?
Obojí má své odlišnosti. Je velmi jednoduché pracovat na Gnome, zařadit do něj vlastní kód a stát se členem vývojového týmu. Má totiž mnohem menší a jednodušší kód, velmi dobře dokumentované API a podobně. Pracovat na Gnome je opravdu snadné a baví mě to.
Práce na velkém projektu je ale výzvou. Je to mnohem více kódu, větší komplexnost a složitější problémy. Každý z těch projektů má něco do sebe.
Pojďme tedy na OpenOffice. Co si myslíte o zkráceném vývojovém cyklu? Řada lidí se obává, že tři a šest měsíců je na vývoj příliš krátká doba, během které se nestihne vše doladit. Neobjeví se problémy s kvalitou?
Musíme si připomenout, proč vlastně k té změně došlo. Když Sun distribuoval své StarOffice, prodával jejich krabicovou verzi. To znamená, že si zákazník musel zajít do obchodu a koupit si ji. Ale lidé nechtějí kupovat krabici častěji než asi jednou za 18 měsíců, protože je to jednoduše drahé. Takže firma skládala dohromady části kódů celou tu dobu.
Novell například velmi intenzivně přispíval vlastními funkcemi a vylepšeními. Ale trvalo třeba i rok, než se dostaly do hlavní větve. To je dost nepříjemné, protože to fungovalo a bylo to připraveno k použití, ale bylo potřeba čekat na další vydání. Postupně se doba mezi jednotlivými verzemi prodloužila až na 22 měsíců, což jsou skoro dva roky.
To samozřejmě štvalo řadu vývojářů, protože když vytvoříte novou funkci, nechcete čekat dva roky, než tu změnu uvidíte. Když jste třeba student, během té doby už můžete dávno dokončit školu. Takže vlastně nikdy svou práci neuvidíte v praxi, neuvidíte nikoho, jak to používá. Nemůžete se pochlubit přátelům „Hele, tohle jsem dělal já!” Takže to je vážný problém.
My jsme proto zapracovali na tom, aby se vývojový cyklus zkrátil na tři měsíce. Máme velmi pečlivý systém kontroly kvality a stále jej vylepšujeme. Za tři měsíce se toho stane skutečně hodně, přijde velká řada oprav a dokážeme nabídnout i nějaké drobné nové funkce.
Takže výsledkem je to, že každé tři měsíce vydáme opravnou verzi, ve které opravíme bugy a přidáme jen minimum nových funkcí a jednou za půl roku pak velké vydání, které bude obsahovat novinky.
Takže 2.2 obsahuje nové vlastnosti a 2.2.1 bude jen opravným vydáním. Stejně tak 2.3 a tak dále.
Mnoho lidí tvrdí, že OpenOffice.org je v porovnání s MS Office velmi pomalý. A to je velký problém, protože oni nechtějí čekat pět sekund, kdyby mohli čekat jen dvě sekundy. Pak se ptají: „Kde je ten problém? Dá se to urychlit? Proč to Microsoft dokáže dělat rychleji?”
Problém je, že Microsoft vlastně podvádí. On už předem nahrává do paměti spoustu dat, takže start je pak mnohem rychlejší. Další potíž je v tom, že řada formátů, jako například WMF, je ve Windows integrovaná, ale chybí v Linuxu, takže my je musíme doimplementovat sami a pak samozřejmě načíst také.
Nabízíme ale QuickStarter, takže je možné také OpenOffice na pozadí načíst do paměti a pak se otevírá opravdu rychle.
Takže MS Office obsahují také svůj QuickStarter, který ale není vidět?
Ano, oni také provádějí předběžné načítání knihoven do paměti. My ovšem můžeme i v Linuxu použít některé postupy pro urychlení startu. Například systém linkování je v Linuxu mnohem horší než ve Windows. Když sledujete start OpenOffice v Linuxu, zjistíte, že velkou část tvoří právě linkování – zhruba polovinu všech operací. Velmi intenzivně se věnuji právě řešení tohoto problému a jeho výzkum tvoří významnou část mé pracovní náplně.
Čili můžeme očekávat zlepšení v příštích verzích? Bude to rychlejší a rychlejší?
Ano, pracujeme na tom. Dalším faktorem jsou IO operace, na kterých je rychlost velmi závislá.
Když se OpenOffice natahuje z disku do paměti?
Ano, přesně tak. Jan Kara ze Suse se zabývá také přeskupením bloků na souborovém systému Ext3. I když se totiž domníváte, že je váš disk defragmentován, přesto tu existuje jistá fragmentace vzhledem ke kódu, který je potřeba najednou načíst. Takže on pracuje na tom, aby byla potřebná data blízko u sebe a dala se načíst rychleji. Existují i další možnosti zrychlení a pracujeme na nich.
Jak se OpenOffice.org postaví k novým formátům jako OpenXML nebo SVG pro vektorovou grafiku?
Co se týče SVG, máme v Google Summer of Code projekt pro podporu SVG, jehož kód bychom měli integrovat. Máme už základní implementací SVG 1.1 napsanou v C++, ale chceme vytvořit novou, kterou zařadíme do OpenOffice. Na podpoře OpenXML pracujeme také, už bylo uděláno poměrně hodně a teď pracujeme na novém filtru, který bychom mohli také zařadit.
Bohužel na interoperabilitě je ještě jeden problém, který je podle mě větší než jen samotná reprezentace formátu. Potíž je v chybějících nebo rozdílných funkcích v jádře OpenOffice. Bez nich bude ukládání a načítání dokumentů velmi problematické a nepřesné. Takže se snažíme tyto funkce doimplementovat, aby bylo možno plnohodnotně pracovat s .docx soubory.
Kdy můžeme podporu těchto nových formátů očekávat?
Nooo, až budou připraveny (smích).
A to tedy bude…
Zřejmě na konci letošního roku nebo na počátku toho následujícího. Budeme to potřebovat ve chvíli, kdy začnou lidé masivně přecházet na nový MS Office a řekněme i Windows Vista, což by mělo být právě koncem roku. Takže my budeme připraveni.
Mnoho lidí tvrdí, že jim na OpenOffice vadí použití Javy. Co si o tom myslíte?
Lidem dříve vadilo, že Java není svobodný software. V tuto chvíli už je pod GPL, takže ji můžeme klidně integrovat. Spousta lidí si i přes to myslí, že Java je zlo. Ale když vaše společnost vyvíjí například software pro přehrávání videa, nemá příliš smysl přepisovat kód pro každou platformu. Jedním z řešení je použití multiplatformního rozhraní, takže to pak běží kdekoliv. Řešení Sunu pro přehrávání multimedií právě proto používá Javu.
Hovořil jste o integraci Javy, znamená to, že OpenOffice.org budou obsahovat Javu v instalačním balíku? Je přece GPL.
Ne, nebudeme ji integrovat. OpenOffice sice využívají Javu, ale nechceme je slučovat do jednoho balíku. Mnoho operačních systémů Javu obsahuje, takže pro to vlastně ani není důvod.
Co si myslíte o dohodě Novellu a Microsoftu?
Podle mě je v ní mnoho dobrých věcí. Pro nás je důležitá hlavně podpora integrace OpenXML do OpenOffice a vůbec podpora interoperability. Z tohoto hlediska má na nás dohoda opravdu velký dopad.
Pozitivní dopad?
Rozhodně. Ano. Máme hodně dobrých lidí po celém světě, kteří na tom pracovali a myslím, že výsledek je velmi dobrý.
Ne všichni ovšem mají stejný názor. Richard Stallman se například domnívá, že ta dohoda je velmi špatná.
Ano, to je pravda. Problém je samozřejmě v intelektuálním vlastnictví. Novell se na to dívá tak, že Linux neporušuje žádné patenty, což je velmi důležité pro lidi, kteří mají strach. Především jsou to velké společnosti, které nechtějí riskovat. Přístup Microsoftu je samozřejmě špatný, protože šíří lži. Je to hlavně o marketingu. Microsoft stále šíří zprávy o tom, že Linux porušuje hromadu patentů, ale nikdy vám neřekne, které to jsou.
OpenOffice od Novellu obsahuje podporu pro VBA, ale ta je jen ve speciální edici Novellu. Změní se to?
Ano, v tomto ohledu mám dobré zprávy. Sun má velmi podobný produkt, který dělá totéž. Naštěstí se rozhodli ho opensourcovat a my nyní pracujeme na tom, abychom oba projekty spojili.
Takže Sun už něco takového má?
Ano, Sun má funkční verzi, která tento problém řeší, už mnoho let. Je to plugin pro StarOffice, který dodávají jako nástroj pro migraci, a tak s tím můžete jednoduše migrovat své dokumenty do StarOffice. My teď pracujeme na spojení jejich a našeho VBA řešení, abychom výsledek velmi brzy dostali do OpenOffice. Měl by to být příběh se šťastným koncem.
Takže ten nový kód můžeme očekávat v OpenOffice…
… 2.3
Aha, to je dobrá zpráva. Takže nejen v Novell edition?
Ano, ale Novell edition je v tuto chvíli používán například Debianem, Ubuntu a Mandrivou. Je to proto, že ti lidé doopravdy na OpenOffice nedělají, takže používají naši verzi. Problém je, že všichni tvrdí, že podporují Linux, ale nic pro to nedělají. Když se podíváte na to, kdo dělá OpenOffice, je to šedesát lidí od Sunu, dvacet lidí od Novellu a jeden z Red Hatu. Nikdo další už není.
Ubuntu stále tvrdí, jak podporuje Linux, ale je to jen žvást. Naprosto směšné je, že vám vlastně s ničím nepomůžou. Zajímavé také je, že celý Red Hat desktop tým je menší než můj OpenOffice tým, který dělá jen část našeho desktopu. Takže Novell investuje mnoho úsilí do desktopu jako celku – výměnná zařízení, notebooky, Compiz, Beagle, OpenOffice a podobně. Novell je v tomto ohledu velmi aktivní.
Chystá se integrace OpenGL do OpenOffice. Co nám vlastně nabídne?
OpenGL se týká programu Impress, implementace by měla proběhnout v rámci Google Summer of Code a neměla by být příliš složitá. Nabídne zejména různé transformační efekty, plynulé přechody mezi slajdy jako rotace na krychli, exploze a podobně.
Takže jen pro prezentace?
Ano, ještě to není napsáno, ale bude.
Děkuji za rozhovor, je ještě něco, co byste chtěl vzkázat našim čtenářům?
Ano, čtěte Roota! A je fajn být v České republice, je to skvělé místo.