přejít na obsah přejít na navigaci

Linux E X P R E S, Rozhovor: David Šmíd a Unity Linux

Rozhovor: David Šmíd a Unity Linux

Unity Linux

S Davidem Šmídem jsme si nedávno povídali o PCLinuxOS, dnes se podílí na vývoji metadistribuce Unity Linux. Co nám o nové distribuci prozradí?


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.

David Šmíd

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.

Tinyme 2010 betaTinyme 2010 beta

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.

David Šmíd

Díky za rozhovor a přeji, ať se ti práce na Unity Linuxu i v osobním životě daří.

Nahoru

Příspěvky

Rozhovor: David Šmíd a Unity Linux
Milhouse 28. 01. 2010, 13:04:53
Odpovědět  Odkaz 
Díky za rozhovor.
Zajímalo by mě, v jaké knihovně je napsáno "ovládací centrum".
Různé distribuce budou používat různá prostředí (KDE4, Gnome, Lxde, atd.),což v některých případech nebude úplně optimální...
Je to nějak lišácky ošetřené? :)
Jirka Vrba Re:Rozhovor: David Šmíd a Unity Linux
baf 28. 01. 2010, 13:34:16
Odpovědět  Odkaz 
To řešení je stejné jako u mandrivy. Funguje to i v gnome i v KDE či jiném prostředí, do žádného to není integrováno. Takový svět sám pro sebe, ale na druhou stranu nabízí funkcionalitu, která např. v ubuntu nemá obdobu.

Osobně by se mi více líbilo konzistentní ovládání, tedy např. konfigurovat KDE pomocí ovládacího centra a do tohoto prostředí integrovat i konfiguraci systému. V Gnome mít konfiguraci tak jak to má ubuntu, ale s více možnostmi nastavení.
Re:Re:Rozhovor: David Šmíd a Unity Linux
David 28. 01. 2010, 20:38:06
Odpovědět  Odkaz 
Je to Perl + GTK. Tím jsou dané závislosti. Nevidím v tom problém - IaOra popř. Oxygen-Molecule nebo QtCurve zajistí, aby to dobře zapadlo i do KDE.
S MCC jsem si trochu hrál a celkem snadno se dají přidávat nové moduly, aniž by ty moduly byly na začlenění nějak připraveny. V praxi to znamená, že po drobné úpravě kódu je díky promyšlenosti X11 možné mít v MCC moduly z KDE SystemSettings.
Jirka Vrba Re:Re:Re:Rozhovor: David Šmíd a Unity Linux
baf 28. 01. 2010, 21:26:59
Odpovědět  Odkaz 
no tak nějak bych si to v KDE představoval, všechny nastavení dostat do jednoho centra. Pojmy jako Ovládací centrum, které spustí jinou aplikaci a Nastavení počítače, které spustí něco jiného se mi zdají nepřehledné. Chápu proč to tak je udělané, ale z pohledu konzistence ovládání je to blbost.
Ivan Bíbr Re:Re:Re:Re:Rozhovor: David Šmíd a Unity Linux
bibri 1. 02. 2010, 10:34:07
Odpovědět  Odkaz 
Tohle Mandriva kdysi dělala, byl na to balíček pro pro KDE v3, pak od toho upustila. Bylo by to sice hezké a rozumím, oč tady jde, ale jinak je to celkem k ničemu, protože:

* Mandriva oficiálně podporuje KDE, GNOME a nyní LXDE. Neoficiálně XFCE a já nevím co ještě všechno... Preferováno je sice KDE, ale při instalaci máš na výběr. Podpora všech prostředí je nyní více než slušná a mají své uživatele (dělal jsem anketu).

* Pro každé s nich by musel tyto moduly (nebo alespoň spojovací články) vyvinout. Je to spousta práce navíc (raději ať pracují na zlepšení funkci MCC a odstraňování chyb).

* Jednodušší prostředí žádné ovládací centrum obvykle nemá, tzn. MCC ve stávající podobě bys tam stejně musel mít. Dvakrát udělaná práce - zbytečně.

* Nemohl bys používat jednotné návody, protože přesně pro ty lamy, které by to ocenily, by muselo vzniknout X postupů typu "klikněte sem a pak sem", přičemž tyto postupy by se lišily právě podle použitého prostředí (a jeho ovládacího centra).
Jirka Vrba Re:Re:Re:Re:Re:Rozhovor: David Šmíd a Unity Linux
baf 1. 02. 2010, 12:07:01
Odpovědět  Odkaz 
Ivane rozuzumím tomu proč to tak je, psal jsem "Osobně by se mi více líbilo ...", tedy taková třešnička na dortu.

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Jirka Vrba

Jirka Vrba

Někdy v minulém století vystudoval stavební fakultu, kde i posléze působil a oblíbil si UNIX. Dále se několit let živil jako programátor, posléze vedoucí vývoje webových aplikací a dnes scrum master v Seznam a.s.


  • Distribuce: Ubuntu, Centos, OpenWRT
  • Grafické prostředí: GNOME KDE

| proč linux | blog