Linux E X P R E S

Facebook

Vzpomínka na zimu: FOSDEM 2012

fosdem.png

Když už je za okny konečně léto, pojďme zavzpomínat na zimu. Konkrétně na FOSDEM, jednu z nejvýznamnějších, ne-li vůbec nejvýznamnějších open-source konferencí na světě.


Letos FOSDEM padl na třetího až pátého února a já tedy v pátek třetího v brzkých ranních hodinách a v třeskuté zimě vyrazil na letiště a odtud do Belgie. Pokud jste na FOSDEMu nikdy nebyli, nebo vám ten letošní zrovna utekl, můžete si alespoň přečíst, jak probíhal můj FOSDEM a co mě osobně na tom letošním zaujalo.

Začněme tedy pěkně popořádku. FOSDEM pro mne začíná už na letišti, ne-li cestou na něj. I když do Bruselu lítá nejedno letadlo, šance, že z Prahy poletí na stejnou konferenci někdo s vámi, jsou docela dobré. I bez nějaké předchozí dohody se tak na letišti potkáte s lidmi, které znáte z jiných open-source akcí. Navíc i o některých, které neznáte, se lze úspěšně domnívat, kam cestují (logo firmy Red Hat na čepici u spolucestujícího do Bruselu asi náhoda úplně nebude). Letos jsem s několika kolegy ze SUSE (a nejen s nimi) letěl už v sedm ráno. Přistáli jsme něco před devátou a následovala procházka po bruselském letišti. Pro ty, kdo v Bruselu ještě nebyli: z letiště na vlak se jde dlouhou chodbou, po schodech dolů, dlouhou chodbou, po schodech nahoru, po schodech dolů a tak pořád dokola, dokud člověk nezabloudí nebo nedobloudí k vlaku. Vlak nás dopravil skoro až k hotelu, a abychom zabili čas, než budou k dispozici pokoje, tak jsme si v mrazu (v nějakých –10°, čili pořád tepleji než v Praze tou dobou, ale oproti současnému počasí celkem zima) udělali malou procházku po městě. Podívali jsme se na čurajícího chlapečka a čurající dívku, známé to místní památky, a za světla obhlídli místo, kde se večer odehrává Beer Event.

Beer Event je velká událost v předvečer FOSDEMu. Je to vlastně jeho první oficiální součást. Všichni účastníci konference jsou zváni do místní hospody na pivo. A není to hospoda ledajaká. Jmenuje se Delirium Café, je to několikapatrová budova a navzdory svému názvu je slavná ne kvůli kávě, ale kvůli pivu. Honosí se množstvím čepovaných i lahvových piv a díky nim se dostala i do Guinnessovy knihy rekordů.

Pivo teče proudem Pivo teče proudem

Ač má budova tři patra, nikdy se tam všichni zájemci nevejdou. Místo je brzy narvané k prasknutí, dav se tísní na ulici a probojovat se k pípě pro pivo dá hodně zabrat. Podotýkám, že ani extrémní mráz provázející letos akci hloučky na ulici neodradil a i tak byla hospoda opět plná. Ale na druhou stranu, kam se podíváte, samý open-source nadšenec. A tak nevadí, že lidi, se kterými jste přišli, za celý večer skoro nevidíte. O dobrou společnost není na Beer Eventu nouze. Já jsem například potkal dva Rusy, co vyrábějí síťové prvky postavené na architektuře PowerPC a používající microkernel. Když se dozvěděli, že jsem z Prahy, už už jásali, ale musel jsem je zklamat a přiznat, že s HelenOSem mám pramálo společného. Ale i tak jsme si příjemně popovídali.

HelenOS je operační systém postavený právě na architektuře mikrojádra, který je vyvíjen na pražské Matematicko-fyzikální fakultě Univerzity Karlovy.

Po Beer Eventu, jak asi tušíte, nebývá druhý den vstávání žádná sranda. Ale vstávat se musí, lidi už se nemůžou dočkat stánků, přednášek a zajímavých diskuzí. Samotný FOSDEM se odehrává na půdě univerzity, která pro tyto účely zapůjčuje několik budov. Co to v praxi znamená? Moře souběžně probíhajících přednášek a ohromné množství stánků reprezentujících open-source projekty. Některé místnosti s přednáškami jsou tematicky zaměřené, něco je spíše taková všehochuť. Pár oficiálních čísel pro zajímavost: Podle organizátorů se FOSDEMu účastní asi šest tisíc lidí a během dvou dní proběhne čtyři sta různých přednášek. Jak asi tušíte, není v lidských silách stihnout vše zajímavé.

Lidi stojí před hospodou, dovnitř se nevejdou Lidi stojí před hospodou, dovnitř se nevejdou

A to jsme jen u přednášek. FOSDEM je ale hlavně příležitost potkat zajímavé lidi. Zkušení návštěvníci stíhají sotva své vlastní přednášky. Zbytek je o setkávání se s jinými vývojáři a diskuzi s nimi. Takže na chodbách potkáváte malé hloučky vývojářů plánující další velké revoluce v open-source světě. I já jsem se zakecal se starými i novými známými na chodbách a nějaký čas jsem strávil i jako obsluha openSUSE stánku, kde jsem předváděl, proč je openSUSE skvělé, jak nám krásně funguje na ARMu, a prodával openSUSE pivo a trika. Výtěžek z prodeje reklamních openSUSE předmětů byl v závěru konference věnován organizátorům jako příspěvek na další ročník. Ačkoliv toho bylo všude hodně, i přesto jsem si našel čas i na pár zajímavých přednášek. Nyní tedy pár slov o přednáškách, které mě na letošním FOSDEMu nejvíce zaujaly.

Stánek openSUSE Stánek openSUSE

TCP Multipath

Internet a počítačové sítě používá dnes každý. Mnoho z nás má notebooky, smartphony, tablety a kdovíco všechno. A není zas tak neobvyklé, že je člověk připojen na internet zároveň po WiFi, kabelem a třeba i přes mobil. No a teď trochu o TCP/IP. Jedná se o jeden ze dvou základních protokolů používaných na internetu. Jednou z vlastností TCP spojení je, že je identifikováno IP adresou a portem na obou stranách spojení. To ale začíná být problém v dnešní době. Mám-li jinou IP adresu na ethernetu, WiFi a 3G, pak mám sice tři internety (skoro jako v reklamě), ale pokud mi vypadne ta konektivita, po které jsem spojení navázal, mám smůlu a spojení se přeruší. TCP Multipath má za cíl řešit právě tento problém. Řešení prezentované na konferenci mělo několik zajímavých prvků. Nemění socket API, takže pro aplikace se nic nemění a není třeba je nijak přizpůsobovat. A používá pro komunikaci se světem klasické TCP, takže ani routery s touto novinkou nebudou mít žádný problém.

Kde je tedy schováno celé to kouzlo? Odehrává se v jádře na klientovi i na serveru. Spojení začne jedním TCP spojením, kdy se protistrany dohodnou, že oba Multipath umí. Pokud ne, pokračuje se klasicky. To není nic zajímavého. Co se stane, když obě strany Multipath podporují? Tehdy se navážou spojení po všech možných rozhraních. Zapnou se plánovače a data se posílají, kudy to jde, a v cíli se zase spojují. Co se stane, když jedno z TCP spojení vypadne? Plánovač přeplánuje packety přes jiné. Když vypadne WiFi a máte ještě jiné připojení na internet, aplikace nic nepozná. Možná jen na rychlosti. Ale spojení nespadne a vše pokračuje dál. Při poslouchání internetového rádia si tak ani nevšimnete výpadku.

OpenMoko OpenMoko

Výhodou ale není jen předcházení výpadků. Představte si, že máte server, který má z důvodu spolehlivosti dvě připojení na internet. Dejme tomu dvě gigabitové přípojky. A teď je potřeba udělat zálohu na server v druhém datacentru, který má také dvě přípojky. Jak rychle to půjde? V klasickém TCP rychlostí jednoho gigabitu. Použijete-li Multipath, složí se oba gigabity dohromady a dostanete najednou dvougigabit. Dobře, zrovna u vlastních serverů by to šlo vyřešit i jinak, ale obecně, pokud se Multipath dostane do vanilla kernelu, tak toho budou moci využít i uživatelé.

Jak přimět vývojáře, aby se z něj stal designér?

Tato přednáška byla spíše takové vyprávění příběhu z GNOME týmu. Bylo nebylo, žili byli, vývojář a designér. Designér pořád vymýšlel šílenosti a chtěl po programátorovi, aby je psal. Programátorovi se ty myšlenky nelíbily. Designér pořád chtěl něco předělávat, pět pixelů mu bylo málo, sedm zase moc a strašně mu záleželo na prkotinách, které programátora vůbec nezajímaly. A navíc čas od času přišel s něčím „převratným“, co znamenalo překopání celého rozhraní. Tyto změny programátora děsily nejvíc. Dovedl si je živě představit a věděl, že něco takového přeci nemůže nikdy fungovat. Bude to naprosto nepoužitelné. I rozhodl se programátor, že toho namyšleného designéra uzemní jednou pro vždy. Rozhodl se, že mu jeho přání splní a napíše software přesně, jak designér chtěl. Aby konečně musel uznat, že jeho nápady nestojí za nic.

Jak přimět vývojáře, aby se z něj stal designér? Jak přimět vývojáře, aby se z něj stal designér?

Programátor začal tedy pracovat. Co se nestalo? Po čase najednou jednotlivé kousky začaly zapadávat do sebe. Najednou to začínalo vypadat použitelně. Jak práce pokračovaly, dávaly designérovy návrhy čím dál tím větší smysl. A nakonec se ukázalo, že, světe div se, designér opravdu věděl, co dělá! Že nové rozhraní je nejen použitelné, ale i mnohem lepší než to původní. I nedalo to programátorovi a začal se s designérem více radit. Začal psát programy tak, aby drobné úpravy uživatelského rozhraní zvládl i designér. JavaScript a CSS, které se nyní hojně používají v GNOME, značně pomohly. A tak si designér mohl doladit počty pixelů podle svého gusta. A nejen to, mohl se aktivněji podílet. Programátor a designér začali lépe spolupracovat, programátor designérovi ukazoval první návrhy rozhraní, aniž by ještě cokoliv dělaly, a designér s ním diskutoval vhodné změny. A tak se od sebe navzájem něco naučili, začali si rozumět a spolupracovat pro blaho všech. A pokud neumřeli, tak na GNOME pracují dodnes.

Proč by komunita měla uvítat i obyčejného Johna a Jane?

John a Jane Doeovi jsou ve světě známé a slavné postavy. Symbolizují víceméně kohokoliv. A o tom byla i přednáška. Proč bychom v našich komunitách měli vítat i obyčejné lidi? Proč vítat lidi, kteří jsou rádi, že ví, jak zapnout počítač, a v tom lepším případě, že to oranžovomodré kolečko na ploše je internet? A jak to udělat, aby mezi nás vůbec chtěli? A proč mezi nás vlastně nechtějí?

Poznatky přednášející byly následující… Geekové běžné lidi děsí. Máme podivná trička, často stejná, a jsme na svá trička patřičně hrdí. Oblékáme se zvláštně, nosíme s sebou polepené notebooky, telefony, máme zvláštní zájmy, provozujeme podivné aktivity a občas se mezi sebou bavíme tak, že nám obyčejní smrtelníci nerozumí. Věci, za které by se obyčejný John Doe propadl na veřejnosti studem, na ty je každý geek patřičně hrdý. To lidi trochu děsí. Navíc jsou geekové tak trochu samotáři v reálném životě. Takže už z dálky běžné lidi odrazujeme od toho, aby se s námi vůbec chtěli bavit, a když už seberou tu odvahu, buď nám nerozumí, nebo uslyší něco jako „RTFM!“.

Takže co s tím? Základem je získat pár negeeků do komunity do začátku. Ti pak mohou překládat při rozhovorech mezi lidmi a geeky. Navíc jsou živoucím důkazem toho, že nejsme zlí. Pokud tito lidé budou komunikovat jako první s nově příchozími, značně to zjemní úvodní šok.

A proč vlastně potřebujeme obyčejné lidi? I běžní uživatelé mohou být cenným přínosem. Mohou psát dokumentaci, dělat překlady a co víc – lákat další uživatele a přesvědčovat lidi, že nejsme jen banda cvoků, co si hraje s počítači a výsledky své práce dává k dispozici zadarmo. Pokud chceme prosadit open source globálně, potřebujeme infiltrovat i masy. Pak nebudou státní zakázky za miliony na uzavřený software, pak se to bude zdát podezřelé i masám. Pak firmy nebudou dodávat jen DVD s uzavřenými ovladači. Ale nejtěžší je prý získat první negeeky. Ti už pak snadno/snadněji dotáhnou další a ti další a další… Až bude celý svět používat open source :)

ARM

Přednáška, kterou jsem na FOSDEMu měl já, byla o tom, jak se nám daří portovat openSUSE na ARM. Při té příležitosti jsem se zúčastnil i dalších ARM přednášek. Začal bych stručným úvodem do toho, co to vlastně ARM je, a pak řekl něco málo o tom, co jsem se dozvěděl.

ARM je architektura procesoru. Aktuálně se jedná o 32bitové RISC procesory, které navrhuje a specifikuje firma ARM, a jednotliví výrobci procesorů si pak už jen koupí licenci pro výrobu. Čím jsou tyto procesory zajímavé? Především svojí energetickou nenáročností. Plně vytížený dvoujádrový ARM spotřebuje pětkrát méně elektřiny než nic nedělající procesor Atom. Díky tomu se ARM prosadil na poli mobilních telefonů, tabletů a PDA. Máte-li smartphone, PDA nebo tablet, je skoro jisté, že se uvnitř skrývá ARM. A kvůli neustále narůstajícím požadavkům zákazníků i výkon začal stoupat. Dnes už velké firmy přemýšlí i o nasazení ARMů do serverů, kde se dá díky malým rozměrům a pasivnímu chlazení nacpat do 4U lehce pod tři sta procesorů. Tolik tedy lehký motivační úvod do architektury ARM. Teď k tomu, co jsem se dozvěděl na FOSDEMu.

Přednáška o Mali Přednáška o Mali

Ve zkratce, jak to vypadá s Linuxem na ARMu? Většina distribucí pracuje na nějakém ARM portu. Aktuálně frčí armv7l s podporou hardwaru FPU a to mají snad všichni. Pro starší zařízení má Debian armv4 soft-float, openSUSE a Fedora armv5 soft-float. Starší procesory totiž neměly FPU. Všichni se ale těšíme na 64bit armv8 a na Cortex A-15 s hardwarovou podporou virtualizace. Xen a kvm už A-15 podporují, čekají jen, až procesor začne někdo doopravdy vyrábět.

Ve světě ARM existuje několik problémů. Jedním z nich je roztříštěnost vhledem k distribucím. Každá distribuce si port pojmenuje po svém, zvolí si vlastní sadu rozšíření a binárka pro jednu distribuci tak nemusí na druhé běžet. Vypadá to ale, že na armv7l se jakožto na architektuře a sadě rozšíření celkem shodujeme a zbývá jen doladit nějaké drobnosti.

Dalším problémem, kterým ARM trpí, je velká roztříštěnost architektury. Aktuálně je v jádře mnoho ovladačů, které se liší jen drobnostmi, a udělat kernel, který bude použitelný na více strojích, je takřka nemožné. To znepříjemňuje distribucím práci v tom, že pro každé podporované zařízení je potřeba vyrobit extra kernel. O tomto problému se obecně ví a pracuje se na jeho řešení, ale bude to ještě dlouho trvat.

A v neposlední řadě nás trápí uzavřené ovladače. Díky rozmanitosti architektury a minimálně dvěma relevantním ABI není úplně snadné sehnat ovladače pro akcelerované grafické karty. I tam se snažíme na výrobce tlačit, ať nám poskytnou aspoň binární ovladače pro něco aktuálního. Někde se daří, někde ne. Z tohoto důvodu mě zaujala přednáška o Mali, kdy přednášející vyprávěl, jak se z uzavřeného ovladače snaží dostat všechny informace potřebné pro vytvoření open-source driveru. Zjistil, že originální binární blob se skládá z více částí, našel, do které části by neměl koukat (kde to zavání žalobami), a začal pracovat na wrapperu kolem této černé skříňky. Na FOSDEMu ukazoval, co už umí. První krok je zjistit, jak to funguje, dále udělat open-source wrappery kolem oné černé skříňky, ať si můžeme modifikovat alespoň část API, a poslední část bude nahrazení černé skříňky bez nahlížení dovnitř. Zní to složitě a jako spousta práce, ale výsledky už jsou na světě. Tak snad to časem dopadne dobře i pro jiné grafické chipy.

Jeďte taky, stojí to za to

Zajímavých přednášek bylo samozřejmě mnohem více a i já jsem stihl ještě o pár přednášek víc, než o kolika jsem tu psal. A několik jich ještě stihnu. Jedna z výhod FOSDEMu je, že část přednášek je nahrávána a je dodatečně zveřejněna na webu. Z letošku tam už přednášky jsou. Pokud vás tedy zajímají přednášky, můžete si některé z nich stáhnout dodatečně a pustit alespoň ze záznamu. Určitě ale doporučuji udělat si příští rok výlet do Bruselu a zažít FOSDEM na vlastní kůži. A pokud je pro vás Brusel daleko, navštivte na podzim alespoň LinuxDays v Praze a/nebo LinuxAlt v Brně.

Diskuze (4) Nahoru