Tomáš „Sleep_walker“Čech je jedním z nejaktivnějších českých vývojářů mezinárodní skupiny Hack&Dev. Ta už několik let portuje Linux na různá embedded zařízení – především od společnosti Palm.
Jak jsem vyrozuměl od tvých kolegů, jsi hlavním vývojářem v Hack&Dev, je to tak?
Jsem asi nejaktivnější v tom směru, že se snažím, aby to celé jako projekt vydrželo a fungovalo. Projekt prochází jistou krizí, která vychází z toho, že se lidé začínají zajímat o jiná zařízení než Palm. A těmi se právě zabýváme my.
Skupina Hack&Dev je volné uskupení vývojářů, nebo má nějaký oficiální statut?
Je to otevřená komunita lidí, kteří se pohybují okolo jednoho serveru a jednoho IRC kanálu, kde jeden člověk vystavil první funkční kódy týkající se Palmu. Viděli to další, přidali svoje kódy a nápady, a tak dál.
Mohli bychom říci, že je to tedy klasická open-source komunita?
Naprosto.
Kolik vás tedy v současné době je?
Přesně to nevím, ale bude to asi deset lidí.
Část týmu Hack&Dev na LinuxExpo 2008.
Zaměřujete se tedy na zařízení, která standardně používají Palm OS. Co je vašim cílem?
My jsme vlastně naprosto volní a zcela neorganizovaní. Je to tedy tak, že každý z nás dělá to, co chce a co ho baví. Pokud se nám pak něco vzájemně hodí, tak to následně sdílíme. Pak se mírně koordinujeme vůči konkrétním milníkům, jako je zprovoznění konkrétního zařízení nebo vytvoření systému pro běžného uživatele.
Cílem je tedy nahradit umírající Palm OS Linuxem?
Dalo by se to tak říct. Cílem je portovat kernel na zařízení firmy Palm, která obsahují procesory XScale.
Tedy obecně na novější Palmy?
Ano, novější typy. Ty starší jsou výkonově a technicky nedostačující, aby bylo možno je takto využít.
Jak daleko se svým vývojem jste?
U velké řady modelů je stav takový, že k úplnému zprovoznění chybí už jen podpora WiFi. WiFi ovladače jsou problémem nejen na PDA, ale na nich je to ještě horší, pokud se například snažíme připojit WiFi kartu přes SDIO. Postupně jsme ale od takových snah upustili.
Proč tedy WiFi nefunguje? Používá Palm ve svých zařízeních nějaké komplikované proprietární řešení?
To bohužel netuším, já jsem majitelem Palmů bez integrované WiFi. Podporu bezdrátů řeší intenzivně jiní vývojáři.
Co ještě kromě WiFi tedy nechodí?
Často jsou to především periferie, které jsou u Palmů velmi neobvyklé, jako například USB 2.0. Dále záleží na konkrétním modelu. Tungsten T3, který mám já, má například řadu problémů. Je to totiž jakýsi předěl mezi novou a starou architekturou a Palm to ještě tehdy s XScale tolik neuměl. Je tam starší procesor, máme problémy s uspáváním, je tam speciální řešení čtečky SD karet a tak dále.
Co se naopak povedlo? Co už funguje?
Běžnému uživateli Linux na Palmu nabídne především plně multitaskingové prostředí, dynamicky nastavitelnou frekvenci procesoru, možnost použití vyspělejších aplikací, vývoj software jako na každém jiném unixu a podobně. Pro nás je to samozřejmě především zábava.
Některá zařízení Palm s nabootovaným Linuxem.
Zábava je to jistě pro člověka, pro kterého je to koníček. Ale co běžný uživatel, který by rád „upgradoval“ Palm OS na moderní systém a užil si moderních aplikací? Je to pro něj v tuto chvíli použitelné?
V tento okamžik ještě ne. Ten náš projekt se zatím týká převážně jádra, takže další práce se budou týkat grafického prostředí a systému vůbec. Teď je to tak, že k vydání nového jádra přibalujeme i obraz systému, který si sami vytváříme z OpenEmbedded. Zatím jsme se nedostali k tvorbě vlastní distribuce. Plánujeme zařadit podporu našich zařízení přímo do OpenEmbedded. Pak už bude tvorba distribuce jen rutina.
Cílem je tedy, abyste se stali součástí projektu OpenEmbedded a sloučili se tedy v jednu společnou distribuci pro Palmy?
Ano, to je ta část, která se týká systému. Zároveň ale chceme naše úpravy jádra dostat do HandHelds.org nebo přímo do vanilly. K tomu směřují naše aktuální snahy.
Chcete tedy do hlavní jaderné větve dostat ovladače pro zařízení Palm?
To je samozřejmě další logický krok. Jak jsem řekl, většina věcí už funguje. A pokud se nám podaří dostat to do plně funkčního stavu včetně WiFi, pak je tu šance, že někdo bude chtít Linux portovat i na jiná zařízení a my se k němu pak připojíme.
Probíhá už nějaká konkrétní komunikace s vývojáři jádra, nebo je to jen výhledový plán?
V současné době se dva nebo tři naši vývojáři snaží rozchodit Palm proti vanilla jádru. Postupně se ty úpravy vývojářům jádra posílají a pracujeme tedy na tom, aby se naše práce zařadila do jádra. Marexovi se nedávno podařilo přesunout celý kód pro T5 do HandHelds.org, od čehož si slibuje zvýšení kvality kódu.
Tady je ale právě vidět ta naše „anarchie“, kdy jsme naprosto nejednotní v tom, co bude dál a na čem budeme pracovat.
Není to trochu škoda? Nepřináší to zbytečné problémy? U Linuxu se hodně hovoří o roztříštěnosti, což je zjevně i váš případ.
Roztříštěnost určitě pociťujeme, každý z nás si hraje na svém písečku. Vnímám to jako problém a snažíme se to minimalizovat. Ale na druhou stranu pro nás je ta svoboda podstatná. Pro nás to je především zábava a tím, že nás to nijak neomezuje a nesvazuje, je to pro nás zároveň zábavnější. Nic mě nehoní a nenutí.
Takže vedení naopak nechcete a nepotřebujete? Ta svoboda vám vyhovuje a klape vám to.
Obvykle ano. Ale na druhou stranu, kdybychom mohli mít vedení někoho, kdo na to má, pravděpodobně by to většina z nás uvítala. Nicméně z těch aktivních lidí, kteří se právě našim projektem zabývají, si na vedoucí pozici nedokážu představit nikoho.
Co vaše budoucí plány? Jak vypadají aktuální priority?
Já můžu hovořit především za sebe, a mou prioritou je dostat už existující ovladače do stavu, kdy budou zařaditelné do HandHelds.org nebo vanilly. Vyvíjíme také snahu, aby byl systém použitelný pro běžného uživatele, aby měl k dispozici aktuální obraz a především balíčky a mohl si prostředí jednoduše upravovat.
Jaký typ balíčku používáte?
Používáme to, co je v OpenEmbedded – ten využívá ipkg balíčky, které jsou nejvíce podobné debianímu dpkg.
Plánujete tedy vytvořit distribuci, kterou si bude moci běžný uživatel PDA vylepšit svého Palma. V jakém časovém horizontu by se to mohlo podařit? Kdy vyjde Hack&Dev Linux 1.0?
Zní to krásně, ale nejdříve se budeme muset naučit komunikovat s OpenEmbedded vývojáři, kteří nejsou vždy úplně vstřícní. Už několikrát jsme kvůli tomu chtěli komunikaci s nimi vzdát. Musíme se také naučit vytvářet plně funkční systém, což se nám zatím tak úplně nedaří.
Konkrétní datum nám tedy nejsi schopen říci?
Nejsem a ani nechci. Takhle volně nám to vyhovuje, pracujeme na tom, a až se to podaří, tak to bude hotové. Vzhledem k tomu, že všichni vývojáři jsou studenti či zaměstnanci, někteří už mají rodinu, tak času není vždy nazbyt.
Jak k vaší práci přistupuje společnost Palm? Zkoušeli jste ji kontaktovat a dohodnout se na spolupráci?
Komunikační snahy z naší strany byly, ale podle toho, co vím, se firma Palm neobtěžovala ani odpovědět. Takže nemá vůbec žádný podíl na naší práci.
To je jistě nepříjemné. Pomohla by vám třeba oficiální dokumentace?
Určitě ano, pomohly by dokumentace a specifikace. Bohužel nemáme víc než to, co dokáže zjistit kdokoliv na internetu. Většina z nás často používá i zpětné inženýrství, abychom zjistili, jak vlastně uvnitř ten hardware funguje.
Takže takové „oťukávání drátů“?
Ano, máme dokonce i jednoho člověka v Rusku, který nám odpájel Bluetooth čip a proměřil nám, jak je připojený k procesoru.
Aha, takže spolupracujete i s vývojáři ze zahraničí? Kolik jich je?
Já nevím, kdo z nich se ještě cítí být aktivním členem, ale měli jsme celkem asi dvacet vývojářů a z toho osm nebo devět z Česka.
Co když si někdo náš rozhovor přečte a rozhodne se připojit svůj vlastní kód nebo vám nějak pomoci? Jste otevřená skupina?
Samozřejmě, kdokoliv může přijít, stáhnout si z internetu naši práci a zapojit se. Na jednu stranu je naše práce už skoro hotová, na druhou stranu ale ještě není ve stavu, kdy by se dala veřejně prezentovat.
Díky moc za rozhovor.