Distribuce Unity Linux zatím není moc známá, jak bys ji představil našim čtenářům?
Unity Linux má dva kořeny: Mandrivu a PCLinuxOS. Není žádným tajemstvím, že většina vývojářů Unity Linuxu se dříve podílela na vytváření PCLinuxOSu. PCLinuxOS je inspirací především pro svou nekompromisní orientaci na běžného uživatele desktopu (někdy jde opravdu přes mrtvoly, resp. přes licence a patenty) a snadností vytváření tzv. remasterů. Mandriva je zase nenahraditelná svojí širokou nabídkou kvalitních balíčků a filozofií centralizované správy systému. V současné době už v Unity nezbývá mnoho stop po PCLinuxOSu (nevím o balíčku, který by odsud pocházel), protože bývá lepší sáhnout přímo ke zdroji, tj. do repozitáře Cooker od Mandrivy.
Dřívější rozhovor: Rozhovor: David Šmíd, PCLinuxOS.cz
Unity nemá být systém pro koncového uživatele, jeho účelem je vytvořit solidní základ pro konkrétní odvozené distribuce šité na míru různým desktopovým prostředím resp. různým zaměřením. Může se zdát, že jde o zbytečný mezičlánek mezi Mandrivou a těmito speciálními distribucemi, ale Mandriva nebyla nikdy zamýšlena jako metadistribuce, a tak není její přímé využití k tomuto účelu příliš jednoduché, nemluvě o minimálním vlivu odvozených distribucí na podobě balíčkové základny. Ačkoli Unity Linux těží ze zdrojových balíčků Mandrivy, všechny balíčky jsou přeloženy speciálně pro Unity (na rozdíl od Mandrivy používáme RPM5) a často i dále opatchovány. Chceme zachovat to nejlepší z Mandrivy, tj. v první řadě její unikátní Ovládací centrum a zároveň přidat přizpůsobitelnost a mnohotvárnost.
Která z odvozených distribucí je dnes nejdále? Z původního PClinuxOS jich byla odvozena celá řada (Granular, SAM, Gnome edition, ale třeba i distribuce pro konstruktéry CAE Linux).
Nejdále je asi TinyMe, minimalistická distribuce s Openboxem. Granular je taky celkem daleko, v rámci Unity jsme vydali i alfa verzi live CD s Gnome. Nově vznikla větev Synergy Linux - distribuce pro netbooky. Ostatní distribuce zřejmě vyčkávají, až se Unity Linux stane dostatečně zralým a stabilním základem. Nebo prostě skončily, často šlo o hobby projekty několika málo lidí.
Jakým způsobem probíhá spolupráce s vývojáři TinyMe? Jsou to nezávislé týmy? Má možnost odvozená distribuce ovlivnit vývoj Unity Linuxu?
Hlavní postava TinyMe, Kaleb Marshall, je součástí týmu Unity a díky tomu má velký vliv na směřování vývoje.
Snažíme se o transparentní a otevřený vývoj, takže by nemělo být složité pro kohokoli vybaveného dostatkem znalostí naskočit do vlaku a stát se členem týmu, což se ostatně pro zástupce odvozených distribucí doporučuje. Na potřeby odvozených distribucí je kladen velký důraz, balíčky, u kterých se počítá s nahrazením a přizpůsobením pro potřeby konkrétní distribuce, jsou pro jednoduchost umísťovány do kanálu "branded". Ostatní kanály mohou distribuce použít tak, jak jsou. Kanál je termín Smartu pro samostatnou část repozitáře. Shrnu-li to, ovlivnit vývoj Unity zevnitř není nijak složité a stejně tak není složité stát se součástí Unity Linuxu.
Při vývoji PCLinuxOS jste naráželi na problémy v řízení vývoje. Jak tedy probíhá rozhodování nyní? Každá odvozená distribuce bude mít jiné protichůdné priority. Jak zabráníte tomu, aby se z distribuce nestal 'dort od pejska a kočičky', kde jsou samé skvělé, ale neslučitelné věci?
Tam, kde vznikne spor, se po diskusi a prozkoumání všech pro i proti rozhoduje hlasováním. To se však děje zřídkakdy (jako příklad uvedu rozhodování RPM.org vs RPM5), ve většině případů existuje konsensus.
Jak již jsem uvedl, všechny potenciálně problematické balíčky, které by se mohly stát zdrojem konfliktu mezi Unity a odvozenými distribucemi, jsou soustředěny v jednom kanálu, který je z definice určen k nahrazení balíčky šitými na míru jednotlivým distribucím.
Některé principy jsou samozřejmě dané a měnit je není žádoucí (i když ne nemožné): balíčkovacím systémem je RPM5, správcem softwaru je Smart, správcem systému je Ovládací centrum od Mandrivy, cílovou skupinou je domácí uživatel a jádrem Linux. Z toho vycházíme a tomu přizpůsobujeme podobu systému a distribuce, které chtějí použít jako svůj základ Unity, by to měly akceptovat.
Bude Unity vydávat verze v pravidelném cyklu nebo podobně jako PCLinuxOS aktualizovat průběžně?
Budeme se snažit aktualizovat průběžně, žádné pravidelné cykly neplánujeme. Někdy je ovšem potřeba udělat tzv. "rebase" - tj. přejít na novější gcc popř. novější glibc a binutils, což v podstatě znamená znovupřeložení všech balíčků v novém prostředí. Potom bývá velmi složité zaručit bezproblémovou aktualizaci systému a vydání nové verze live CD a přerušení kontinuity může být tím menším zlem.
Jak se stavíte k verzím aplikací? Volíte spíše ověřené (a tedy starší) verze, nebo se snažíte do distribuce dostat technologické novinky? Má odvozená distribuce možnost si případně vybrat verzi?
Zatím se snažíme použít to nejnovější, protože jsme stále ještě ve fázi beta a musíme zacílit na určitý časový úsek dopředu - nemá tedy smysl zaobírat se ničím jiným než nejnovější verzí X.org, protože v okamžiku vydání stabilní verze už žádná jiná nebude aktuální. To samé platí pro KDE - KDE 3 je z našeho pohledu nenávratně pryč (ačkoliv já sám ho stále používám).
V budoucnu budeme chtít zvolit nějaký rozumný kompromis mezi stabilním a nejnovějším softwarem - máme kanály "test" a "unstable" (ve výchozím stavu nepovolené), kterými by měly balíčky projít, než budou zařazeny do stabilních kanálů. Pokud bude chtít odvozená distribuce použít jiné verze balíčků, bude je muset nabízet ve vlastní režii. Na udržování několika variant Unity nemáme v současné době kapacity (verze n balíčku X může vynucovat verzi m balíčku Y, nejde jen o jednotlivé balíčky, ale o celou pavučinu vztahů).
Podle toho, jak distribuci popisuješ, to zatím zní skvěle. Kde vidíš největší rizika ty? A jak je to s financováním distribuce?
Největší riziko spočívá asi v tom, že z projektu vycouvá tak velký počet lidí, že pro zbytek nebude možné práci zvládnout. Dosavadní zkušenosti za uplynulých deset měsíců ukazují, že ačkoliv občas někdo odpadne (ať už nastálo nebo jen dočasně), nejaktivnější jádro vývojářů zůstává a přibývají i noví členové týmu. A pak tu samozřejmě je ještě riziko, že o plody naší práce nebude zájem.
O financování se vede v současné době debata na konferenci, rádi bychom měli možnost přijímat dary od našich příznivců. Preferujeme transparentní financování přes účet neziskové organizace, problémem však je, že tato cesta vyžaduje spoustu papírování a znalost příslušných předpisů, jenže většina týmu je jako na potvoru spíše technického zaměření a podobnými schopnostmi neoplývá :). Dobrovolníci jsou vítáni.
'Možnost přijímat dary' zní jako budoucnost, všichni vývojáři tedy dnes pracují ve svém volném čase a zdarma?
Ano, v současné době si všechny náklady hradíme sami ze svých prostředků a pracujeme ve svém volném čase. Žádného bohatého sponzora naneštěstí nemáme. I proto musíme v takové míře využívat skvělou práci lidí okolo Mandrivy. Co i v těchto podmínkách zvládají někteří členové týmu jako Matt Dawkins a Gettinther, je neuvěřitelné. Pokud bychom měli dost prostředků na zaměstnání alespoň několika lidí na plný úvazek, vývoj distribuce by to urychlilo nevídaným způsobem.
Držíme palce, ať se vám povede prostředky sehnat. Jaká je tvoje role v týmu?
Je rozhodně méně přínosná, než bych si představoval. Moje pracovní i mimopracovní vytížení mi neumožňuje věnovat Unity tolik času, kolik bych si přál. V současné době se věnuji hlavně RPM5 a Smartu. Hledám příčiny problémů a ve spolupráci s upstreamem se je snažím odstraňovat. Také jsem si dal předsevzetí dohlédnout na důslednou internacionalizaci (případně i lokalizaci) Unity, což je oblast, které jsem se trochu sisyfovsky věnoval už v PCLOSu.
Toto český uživatel ocení, lokalizace PCLinuxOS byla výborná. Jsou to drobnosti jako nastavená česká a i anglická klávesnice hned po instalaci, které neměla ani česká Mandriva. Jak se ti daří skloubit zaměstnání, rodinu a práci na Unity?
Velice nesnadno :) Vždycky mám pocit, že něco z toho zanedbávám. Ale je fakt, že mě nikdo do práce na Unity vyloženě netlačí, všichni chápou (i z vlastní zkušenosti), že rodina a obživa je na prvním místě a i když se občas něco nepovede udělat tak rychle, jak by bylo potřeba, projekt samotný to nijak neohrožuje.
Je to koneckonců hlavně hobby a člověka by to mělo především bavit, jinak to nemá smysl - vyhořelý a vystresovaný vývojář je snad to nejhorší, co může takový projekt potkat.
Díky za rozhovor a přeji, ať se ti práce na Unity Linuxu i v osobním životě daří.