Jak se dělá Fedora?

14. 11. 2006
Doba čtení: 11 minut

Sdílet

Za čtyři roky existence se z Fedory stala jedna z nejpopulárnějších distribucí. Pro někoho samozřejmost, pro někoho věc zcela neznámá - i za vznikem linuxové distribuce jako Fedora Core stojí jen lidé a nepadá z nebe. Jak je celý kolotoč Fedora Projekt organizovaný, kdo a proč jej roztáčí, a kdo se jen veze.

Projekt Fedora má za sebou téměř čtyřletou historii (6.11. to bylo tři roky od vydání Fedora Core 1). Jeho přerody provázelo nemálo emocí (mimochodem, Fedora projekt existoval již v dobách Red Hat Linuxu, ale byl v podstatě zcela neznámý). Samotné jméno Fedora, které vzniklo jako parafráze Red Hat, nikdy příliš nezaujalo (a ještě se o ně vedl spor kvůli ochranné známce) a společně s chybějící grafickou identitou na popularitě této distribuci v počátcích nepřidalo. Rozpolcenost a jistá rezervovanost komunity k Fedoře pramenila také z oprávněné nejistoty, která kolem Fedory panovala pod vedením Red Hatu, který si zřejmě sám nebyl jistý, jak se k ní postavit. V euforii obchodů se Red Hat nejdříve pokusil komunitní vývoj Linuxu ze svého portfolia vytěsnit založením Fedora Foundation. Poté, co se ukázalo, že většina dobrovolníků nemá chuť se zabývat „papírováním“ okolo foundation a stejně by tuto práci museli vykonávat lidé z Red Hatu, rozhodl se RH vznik foundation zastavit a Fedora tak zůstala jen veřejným otevřeným projektem v rukou Red Hatu, který projekt nadále přímo podporuje infrastrukturou a prostřednictvím kamiťétu ovlivňuje směřování projektu.

Jaký je status projektu nyní

Ze současného dění kolem Fedory se dá usuzovat, že projekt se nachází v jakémsi ustáleném stavu. Vedení projektu zajišťuje deseti členná komise v čele s Maxem Spevackem. Komise je složena ze 6 zaměstnanců Red Hatu a 4 členů z komunity, vydává pravidelně zprávy o stavu projektu a koordinuje všechny části projektu. Jednotlivé části jsou web, marketing (ambassadors, artwork), dokumentace, překlady, infrastruktura, bugsquad, core, extras, legacy a kadischi.

Web

Web projektu se před časem přesunul z adresy fedora.redhat.com na fedoraproject.org a původní stránky jsou spíše jakýsi strašák z minulosti. Na fedora.redhat.com však zůstávaly i nadále poměrně zásadní služby jako download a mirror, které po vydání Fedora Core 6 zkolabovaly. Zda v důsledku onoho vydání nebo, jak někteří naznačují, vlivem koordinovaného DoS útoku, není jasné. V budoucnu se však zřejmě všechny přesunou pod fedoraproject.org.

Marketing

Pod marketing spadá několik podprojektů. Ambassadors – to je soubor lidí, kteří se snaží být ušima a prsty projektu. Je jim dána možnost propagovat projekt Fedora u široké veřenosti a přinášet nové ideje zpět do projektu. A Artwork – protože dnes už téměř každý ví, že obal je to, co prodává. Pod Artwork spadá i skupina tvořící grafickou úpravu Fedory. Společně s příchodem nového loga před vydáním Fedora Core 5 dodala tato skupina i vzhled celé distribuce, který se do Fedora Core 6 vyvinul v poměrně líbivé DNA téma (i když kdo má té modré už dost, jistě rád zvolí jiné). V současnosti se intenzivně pracuje na nových ikonách, protože ty RedHatí začínají být okoukané.

Bug triage aneb staňte se lovcem brouků

Členem bugsquad se může stát v podstatě každý. Úkolem této skupiny je být nárazníky v bugzille. Bugů se obvykle hlásí hodně, ale jen málo z nich je kandidáty na skutečný všeobecný problém, který je potřeba rychle řešit. Lovci brouků tak oddělují zrno od plev ověřováním reprodukovatelnosti problému a vyhazováním duplikátů. Nezastupitelná a nevděčná role.

Ty ostatní

Tým, který se stará o pozadí všeho a který se jistě pěkně zapotí po vydání každé nové verze, se stará o infrastrukturu. O co se snaží projekt dokumentační a překladový, je snad zřejmé. Projekty core a extras se zabývají sestavováním balíčků a jednotlivých oficiálních vydání. Co se core samotného týče, diskutovalo se, zda se core nemá výrazně ztenčit, protože 5CD už začíná být přece jen moc. K jasnému závěru se zatím nedospělo a než se k němu dospěje, bude CD mrtvý formát.

Trochu v pozadí zájmu pak stojí projekty legacy a kadischi. První vytváří kritické aktualizace starších vydání Fedora Core, práce to záslužná, ale málo viditelná a podporovaná. A Kadischi, který směřuje k vytvoření LiveCD založeného na Fedoře, což se mu již víceméně podařilo a můžete ho směle vyzkoušet stažením na fedoraunity.org.

Zcela mimo struktury Fedora projektu stojí skupina projektů FedoraUnity. Jedná se o čistě komunitní aktivity typu fedora(solved|se­arch|links|mo­bile|64|forum|new­s). Solved je poměrně dobrou sbírkou návodů, search jsem zaznamenal teprve nedávno, jeho idea je však velmi zajímavá – jedná se o prohledávací nástroj, který indexuje pouze stránky zaměřené na Fedoru. 64 sdružuje návody a postřehy pro 64bitové platformy. Forum a news jsou již poměrně dobře zavedené centrály podpory a novinek. Thomas Chunk sice před časem s vydáváním fedoranews skončil, jeho grafomanská povaha však nakonec zřejmě převážila, a tak jsou tu fedoranews.org opět. Všem, kdo chtějí zůstat aspoň trochu v obraze, je lze jen doporučit. Těm, kdo jsou nad obrazem, lze doporučit jen to, aby se do vydávání fedoranews zapojili sami.

Jeden extra

Fedora má ještě jeden podprojekt, který je dobře myšlený, ale zatím spíše vymírá po přeslici, a to Fedora women. Už název je evidentně zvolen špatně – pánský klobouk pro ženy. První výsledek ženského působení se ale dostavil – a to v podobě modré a ještě modřejší (co s tou barvou mají?), protože jestli mne mé oči nešálí, grafiku FC6 i grafiku fedoraproject.org mají na svědomí ženy jménem Diana Fong a Mola Pahnadayan. Stále je ale evidentně modré málo, nebo je to s těmi ženami skutečně špatné…

Proč je Fedora populární

Fedora svou strukturou jednoznačně vyplňuje pole Linuxových distribucí v místě mezi převážně komerčně orientovanými distribucemi jako SuSE, resp. Novell a Mandriva, a na druhé straně distribucemi především komunitními, jako je Debian nebo Slackware. Poskytuje přijatelnou míru jistoty další existence zaštítěnou Red Hatem v pozadí a návratnost vloženého úsilí. Lidem z oboru umožňuje sledovat a ovlivňovat trendy a dění, které se nezanedbatelnou měrou stávají zdrojem inspirace pro komerční řešení zvané RHEL.

Do dnešní doby pak těží Fedora z popularity Red Hat Linuxu, protože ten vychoval značnou část i české Linuxové komunity. Základem celého původního úspěchu Red Hatu se stal RPM (Red Hat Package Manager, nyní vtipně označovaný jako RPM Package Manager), který dnes jen obalený další inteligencí stojí v pozadí nejedné distribuce. A chtě nechtě, se správci balíčků je to jako s ovládáním mobilního telefonu – jak si jednou na nějaké zvyknete, měnit se vám nechce. Nutno podotknout, že většina uživatelů zná pouze špičku ledovce celého balíčkovacího systému. Install a update je skutečně spíše třešničkou na dortu sestavování a kompilování celé distribuce.

Zajímavé je také sledovat vzrůst významu distribucí orientovaných na desktopové použití, mezi něž Fedora jednoznačně míří. Zatímco pole serverů bylo v minulosti základem úspěchu Linuxu, koho dnes zajímá, zda je ve Fedoře sendmail či postfix? Právě implementace desktopových pozlátek a relativně stabilní platforma aktraktivní pro výrobce HW (resp. pro výrobce ovladačů) i pro výrobce SW dělá z Fedory jednu z nejpoužívanějších distribucí.

V neposlední řadě je Fedora zajímavá i množstvím programů, které se nacházejí v distribuci nebo v extras, vše připravené a funkční.

Hranice core, extras, livna a zbytku světa

Hlavní část poskytující balíčky tohoto operačního systému tvoří core. Core je pečlivě hlídaná sbírka základních aplikací. Úkolem týmu, který se o core stará, je udržovat jeho konzistenci a licenční čistotu. Pokud chcete zařadit aplikaci do core, musí projít schvalovacím procesem, ve kterém musí být kromě jiného prověřeno, že licence daného programu je kompatibilní se zbytkem core a jedná se o free nebo open source a že aplikace je dostatečně podporována a významně se nepřekrývá s funkcionalitou jiného, již zařazeného software. Licenční problémy vznikají právě např. s podporou mp3, různých patentovaných videoformátů nebo s proprietárním firmwarem pro HW atd.

Extras je značně objemný repozitář, který před časem vznikl anektováním fedora.us. Tento repozitář má o poznání volnější řízení a může do něj být zařazena téměř jakákoli aplikace, kterou lze ve Fedoře zkompilovat a které se někdo ujme a bude ji aktualizovat. Aplikace, které nemají svého správce, jsou z extras vyřazovány. Extras využívají přímo struktur Fedora projektu a jsou v podstatě přestupní stanicí do nebo z core.

Poslední repozitář, který je označen za kompatibilní (tzn. instalaci z něj byste měli být schopni provést bez kolizí balíků a pouze na základě komponent z core a extras) je Livna. Livna je alibistický repozitář distribuující mnohdy nedistribuovatelné komponenty. Ač se tento repozitář nachází na hranici licenční legality, je zvláště pro nové uživatele, přicházející ze světa proprietárních technologíí, jedním z nejdůležitějších. Obsahuje totiž předpřipravené moduly pro podporu NTFS, proprietární ovladače grafických karet nVidia a ATI, kodeky pro mp3 a video atd.

Vedle těchto základních repozitářů existují ještě další repozitáře, zpravidla spravované nějakým nadšencem nebo skupinou. Mezi ně patří ATrpms (Axel Thimm), FreshRPMS (Matthias Saou), Dag (Wieers), Dries (Verachtert), PlanetCCRMA (zaměřený na hudební software) a nedávno oznámený Dribble, který by se měl zaměřovat na hry.

Vývojový cyklus Fedory

Vývojový model Fedory je do značné míry stejný jako obecný vývojový model většiny software, je však trochu odlišný např. od vývojového cyklu Debianu.

Každé stabilní vydání Fedora Core, které je podporované (tzn. poslední dvě verze), má tři základní repozitáře – fedora-core, fedora-updates a fedora-updates-testing (Fedora extras nebudeme uvažovat, pro ty existují další dva samostatné repozitáře).

  • fedora-core je repozitář obsahující balíky z vydání
  • fedora-updates obsahuje vydané aktualizace
  • fedora-updates-testing obsahuje aktualizace, které se připravují k vydání

Pro poslední vydání Fedora Core (nyní FC6) se do aktualizací mohou dostávat i poměrně zásadní nové verze aplikací, pro předposlední verzi (nyní FC5) se zpravidla vydávají jen nezbytné aktualizace). Starší verze Fedora Core jsou pak již ze strany Fedora projektu nepodporované a přecházejí pod Fedora Legacy.

Po vydání nové verze Fedora Core se paralelně vyvíjejí tři větve:
  1. je současná stabilní větev. Do ní zpravidla přicházejí aktualizace aplikací a to tak, že nejdříve jsou přidány do fedora-updates-testing. Po ověření jejich funkčnosti se přesouvají do fedora-updates. Bohužel zde je nutno poznamenat, že testování před přesunem do updates je u Fedory mnohdy nedostatečné (tedy počet lidí aktualizaci testující), a tak se nejednou stane, že se aktualizace musí odstraňovat nebo rychle záplatovat znovu.
  2. je předposlední stabilní větev. Její schéma je stejné jako poslední verze, s rozdílem popsaným výše.
  3. je development větev tzv. rawhide, což je neustále vroucí repozitář, u kterého nikdo nic negarantuje a může se kdykoli rozpadnout – zato se v něm pečou největší novinky a stává se základem pro další nové vydání Fedora Core.
    Rawhide prochází během svého vývoje několika zásadními mezníky, a to podle blížícího se data nového stabilního vydání. Tyto mezníky jsou v podstatě dány jednotlivými testovacími verzemi. Do první testovací verze je vše víceméně volné. S jejím vydáním se však vývoj rawhide začíná brzdit a vývojáři se snaží dotáhnout všechno rozdělané do použitelného stavu. V okamžiku vydání druhé testovací verze by již vše mělo být pokud možno ve stabilním stavu, čeká se na překlady a opravují se nahlášené chyby. Od třetí testovací verze už by se měly opravovat pouze kritické chyby. Celý vývoj se tak dostává do stavu sopky před výbuchem. V okamžiku vydání třetí testovací verze se zakládá repozitář pro aktualizace updates-testing budoucí stabilní větve, který bobtná až do onoho vydání, kdy je již mnohdy ve značně pokročilém stádiu gravidity. Po erupci nového vydání začíná updates chrlit i zbytky aktualizací a development opět ožívá bouřlivým vývojem.

Repozitáře fedora-core a fedora-updates má každá nově nainstalovaná Fedora Core povoleny a uživatelé je vesele využívají. Oproti tomu fedora-updates-testing využívá minimum lidí. Jeho použití je však většinou v celku bezproblémové pro každého, kdo umí zacházet s RPM a bugzillou – je tedy určen pro ty, kdo chtějí aspoň nějak pomoci s vývojem Fedora Core. Rawhide je pak již skutečně spíše pro nadšence a vývojáře. Více o tom, jak se k těmto repozitářům dostanete, naleznete např. na wiki.fedora.cz.

Jak si jistě bystrý čtenář uvědomil, během vývoje (především v rawhide) se dostáváme k jednomu zásadnímu problému. Jak pracovat ve stabilním prostředí a přitom jej vyvíjet. Právě z tohoto důvodu nabývá v poslední době na významu virtualizace. Ve Fedoře je reprezentována Xenem, který je v FC6 zase o něco použitelnější po implementaci GUI správce virtualizací. Virtualizace nám umožňuje, kromě jiného pracovat na jednom počítači na vývoji, aniž bychom si nabourali pracovní prostředí.

V této souvislosti je také zajímavé zmínit mock a plague, což jsou prostředí pro vytváření balíků pro Fedoru. Jejich nastudování však již přenechám čtenáři.

Vývojová platforma RHEL

Nepochopení stále panuje ohledně vztahu RHEL a Fedora Core. Red Hat jako firma Fedoru jednoznačně sponzoruje – ať už lidmi a jejich prací, nebo infrastrukturou – dává tedy komunitním nadšencům pískoviště, na kterém si mohou hrát a bez nějž by se na Fedoře pracovalo jen těžko. Na druhou stranu si zase bere spoustu opensource a GNU/Free software věcí. Je to takový problém, co bylo dříve – slepice nebo vejce. Sice se může zdát, že první byl free software a pak Red Hat, když si ale uvědomíme, že nějaký předchůdce RH musel tomu programátorovi free software dát najíst… raději tohle téma opustíme. Někteří mají v rámci trochu věcnější disputace tendenci tvrdit, že Fedora je jen vývojová platforma, kterou Red Hat využívá pro RHEL, a že RHEL je jen snapshot Fedory. Jako vždy je potřeba vidět širší souvislosti.

bitcoin_skoleni

  1. RHEL není _jen_ snapshot Fedory. Red Hat k němu přidává další práci a to v oblasti testování (spolehlivosti), serverových technologií, technologií vzdálené a hromadné správy a v oblasti podpory. Kdo někdy přišel do styku s tzv. enterprise technologiemi, chápe, že tyto zdánlivě malé rozdíly stojí nejvíce úsilí a tedy peněz. Některé části této práce pak RH dává k dispozici jako opensource – např. GFS, Directory Server, JBoss, opravy chyb atd. Kromě toho se podílí na vývoji spousty základních systémových komponent (kernel, gcc…)
  2. Fedora Core není _jen_ vývojová verze RHEL. Fedora žije do značné míry svým vlastním životem (co by byla bez extras) a stává se jen základem toho, co tvoří RHEL. A všichni, kdo se na Fedora Core podílejí, si to považují, neboť nyní se tak Fedora stala základem např. pro Linux z Oracle Unbreakable projektu.

Jedná se tedy o jakousi symbiózu, která je výhodná pro obě strany. Plus třetí a čtvrté strany např. v podobě těch, kdo Fedoru nejdříve jen používají a bojují s ní, časem třeba začnou pomáhat bojovat ostatním, nebo začnou vývoj ovlivňovat, až nakonec odejdou do důchodu pěstovat okurky.

Hodně trpělivosti, ať jste v jakékoli fázi.

Je podle vás vztah Fedora ↔ RH stejně užitečný pro obě strany?