Opensource na čínský způsob

Dub
15
2010

Diskusní fóra stránek XDA Developers jsou, nebo dnes už možná spíše bývala, středem dění v komunitě kolem Androidu. Vyšla odtud spousta nových ROM (včetně slavného CyanogenModu), portů, úprav a všeho možného. Mezi návštěvníky těchto fór je nezvykle vysoké procento lidí, kteří o Androidu vědí opravdu hodně a teprve v poslední době se tam začínají stahovat mračna uživatelů s dotazy typu „jak mám telefon zapnout?“. Ze stejných důvodů mají tamní návštěvníci také vysoký respekt k principům open source software a obecně platí, že pokud někdo na něco nového přijde, dá to samozřejmě ihned k dispozici všem ostatním. Ostatně, sám Android je až na proprietární aplikace a služby Google (bez kterých může systém zcela normálně fungovat) open source v rámci Apache licence, zdrojový kód kernelu pak podléhá standardní GPL licenci, což znamená, že každá společnost, která začne prodávat zařízení s Androidem, je povinna veřejnosti zpřístupnit zdrojové kódy kernelu pro dané zařízení. Některé firmy to dodržují lépe, některé hůře (např. HTC se ke zveřejňování zdrojových kódů kernelů svých zařízení příliš nemá a ostatně už kvůli tomu byla nahlášena na GPL Violations). Čas od času se ale na XDA bohužel objeví nějaká „aféra“ stran „kradení“ cizí práce či porušování komunitních zvyklostí nebo dokonce GPL, která tamní komunitu tříští. Nejeden vývojář už v minulosti na základě podobných událostí z XDA znechuceně odešel někam jinam, takže v současné době je androidí komunita, zejména v případě našich starších G1 a Magiců, roztahána po množství různých serverů a fór, což jí samozřejmě nesvědčí. Jedna taková aféra s nerespektováním komunity a GPL tam probíhá v poslední době a je opravdu smutnou ukázkou toho, jak se v open source komunitě nechovat.

Koncem loňského roku začala společnost HTC vydávat aktualizované ROM pro svůj Magic, které se vyznačovaly tím, že aktualizovaly některé systémové rutiny (de facto z tohoto telefonu dělaly z pohledu systému spíše HTC Hero). Protože ale současně neuvolnila zdrojové kódy nového jádra (viz výše – do této chvíle tak neučinila), stanula komunita před velkým problémem – staré zdrojové kódy nebylo možné použít, protože takto zkompilovaný kernel na upgradovaném telefonu nefungoval. To v principu znamenalo nutnost používat binární soubor s poměrně zastaralým a pomalým kernelem verze 2.6.27, který byl součástí oněch aktualizovaných ROM, a zapomenout tímpádem na jakékoliv změny a vylepšení, na které je většina uživatelů alternativních ROM zvyklá. Druhou možností pak bylo prostřednictvím reverzního inženýrství či metodou pokus/omyl zjistit, jaké změny je třeba v kódu udělat, aby bylo možné získat stabilní kernel pro nový Magic.

Komunita se samozřejmě do takových experimentů pustila, ale výsledky nebyly z pochopitelných důvodů nejlepší – i když se kernel povedlo alespoň zhruba zprovoznit, byl stále velice nestabilní (reverzní inženýrství zkrátka není v podobných situacích zrovna ideálním způsobem, jak něco zprovoznit). Zhruba na přelomu roku se na XDA fórech nicméně objevil čínský uživatel s nickem sanpei, který začal vydávat vlastní ROM pro tento „nový“ Magic s poměrně stabilním (byť ne bezproblémovým) kernelem verze 2.6.29, tedy verze, kterou se komunita pokoušela zprovoznit. Něco takového samozřejmě způsobilo poměrně velký rozruch a řada lidí se začala z pochopitelných důvodů zajímat o zdrojový kód sanpeiova kernelu. Odpovědí jim bylo konstatování „počkejte, až kernel trochu stabilizuji, pak vám je dám“.

Když se ani po několika týdnech nic nedělo (a sanpeiem vydávané ROM nejevily známky toho, že by na nich někdo jakkoliv pracoval, přinejmenším co se kernelu týče), zvedla se druhá vlna žádostí o zdrojový kód. Tentokrát se dočkali odpovědi zpětně poněkud bizarní, ale přece jen reálné: „Bohužel, spadl mi disk a o všechny zdrojové kódy jsem přišel, budete muset počkat, než to dám znovu dohromady.“ A opět přišla odmlka vyplňovaná jen dalšími vydanými ROM s kernelem, který nejevil známky jakékoliv postupující práce.

Po zhruba dvou měsících ticha, během kterého se komunita stále neúspěšně pokoušela upravit zdrojové kódy a získat stabilní kernel (byť k postupu rozhodně docházelo), se opět zvedla vlna zájmu o sanpeiovu práci, jelikož byl stále jediným člověkem, který měl k dispozici stabilní nový kernel. V tuhle chvíli už se ale našlo dost lidí, kterým jeho počínání přišlo podezřelé, a proto se na jeho „dílo“ podívali trochu podrobněji. A zjistili například, že od chvíle, kdy se s ním poprvé objevil, se na binárním souboru s kernelem, který sanpei používá, nezměnil jediný bajt, což nenaznačuje, že by na něm vůbec kdy nějak pracoval. Stejně tak si ale všimli i dalších věcí – například že konfigurace jeho kernelu nedává valný smysl, že v ní jsou nesmyslné věci, které vůbec nejsou na Android telefonu potřeba, nebo i to, že na to, jak odborně se tváří, jsou jeho ROM prolezlé relativně triviálními chybami a problémy, které ale nikdy nejsou odstraněny.

Současně s tím se nicméně rozjela nová vlna protestů, že sedí na zdrojovém kódu kernelu, místo aby ho dal k dispozici ostatním, jak je v komunitě zvykem a jak mu koneckonců ukládá GPL licence v případě, že své dílo někde distribuuje. A dotyčný se začal „bránit“ neuvěřitelně bizarními argumenty, které komunitu z pochopitelných důvodů ještě více iritovaly. Posléze dokonce začal nejaktivnější členy komunity obviňovat z toho, že nemyslí na komunitu, ale na svůj osobní prospěch a slávu, protože jimi upravené verze kernelů označují svým jménem. Pár ukázek jeho výroků, které během těchto dohadů padly (v překladu nezachovávám jeho lámanou čínskou angličtinu, která občas činí jeho věty velmi nesrozumitelnými).

„Neudělal jsem nic, co byste nemohli udělat sami. Podívejte se na oficiální zdrojové kódy, určitě na to přijdete. Vlastně jsem si skoro jistý, že jste schopni na to za den, dva přijít, když se trochu zamyslíte.“

„Kromě mě na těchhle úpravách nikdo nepracuje. Nevěřím těm, co po sobě pojmenovali všechno, co pojmenovat mohli. Nikdy s nimi spolupracovat nebudu. Je to pro mě taková hra – zajímá mě, jestli, pokud své úpravy nezveřejním, na to tihle lidé dokáží přijít sami.“

„Dokonce ani Ubuntu nepojmenovali kernel podle svojí distribuce, ale v naší komunitě se to děje. Ano, není to v rozporu s GPL, ale já nedovolím, aby tyhle pojmenované kernely obsahovaly moji práci!“

„Vážně čekáte, že s takovými lidmi budu spolupracovat? Vůbec je nezajímá, jak co funguje, jenom se snaží splácat věci dohromady a pojmenovat je po sobě. Ale hlavně že se svým ‚produktem‘ vyšli vstříc GPL. Možná si o nich myslíte, že jsou dobří. Já ale jejich chování podporovat nebudu a jediný způsob, jakým to mohu udělat je, že neuvolním své zdrojové kódy. „

„Žádám jediné – vytvořte skutečný komunitní projekt, ne nějaké pojmenované kernely. Podle mého názoru žádný Cyanogen kernel nebo WG kernel neexistují, všechno je to jen obyčejný linuxový kernel s pár úpravami. Pokud slíbíte, že už po sobě žádný kernel nepojmenujete, pokud v něm nezměníte víc jak 1/10 kódu, aby se opravdu zásadně odlišoval od obyčejného generického kernelu, pak s vámi spolupracovat budu.“

„Vy argumentujete svými zákony, ale já mám svoje morální zásady. Ty mi brání v tom, abych zdrojové kódy uvolnil.“

„Pokud dotyční přestanou pojmenovávat kernely po sobě, budu s nimi spolupracovat. Pokud ne a uživatelé nedostanou kernel od HTC, pak budu dál svoje kernely vydávat jenom v binární podobě, bez zdrojových kódů. Pokud se někdo zajímá jen o svoje jméno, pak je mi jeho názor lhostejný, Free Software Organization se o někoho jako já nikdy zajímat nebude.“

„Tahle komunita není komunitou skutečných programátorů. Žádný skutečný programátor by nepojmenoval kernel po sobě.“

„Skutečnost je taková, že tady žádné OPRAVDOVÉ vývojáře nemáme. Vždyť se na to podívejte – jak to, že stále nedokázali nový kernel zprovoznit, přestože já to dokázal už před několika měsíci? Samozřejmě, dřív nebo později to jistě dokáží. Ale podívejte na lidi od Windows Mobile – baví se běžně o věcech, které naši „vývojáři“ ani nejsou schopni pochopit. Ano, nějaký náš „vývojář“ klidně může nahlásit HTC za porušení GPL licence a možná nám tentokrát HTC zdrojový kód i vydá. Ale tak tomu nebude navěky.“

„A co se GPL týče, GPL existuje pro skutečnou vývojářskou komunitu, ne pro to, co tu máme my.“

„Zdá se mi, že tihle vývojáři nemají ponětí, co to je Linux, nevědí, co Linus se svými kolegy dokázal, takže se nikdy nenaučili tyhle osobnosti respektovat. Proto tu nemáme žádné skutečné vývojáře. A proto jim nebudu ani v nejmenším napovídat, jak mají postupovat, ani jim neposkytnu zdrojový kód svých úprav, dokud nepřestanou pojmenovávat kernel po sobě a už to nikdy nebudou dělat. Měli by se především naučit, jak se dělají věci správně. Přestaňte mě už unavovat s tou vaší GPL, já svoje zdrojové kódy uvolním, ale ne hned.“

„Nikdy jsem se na práci těch „vývojářů“ ani nepodíval, nepotřeboval jsem to a navíc by mě mohli splést.“

Do toho je samozřejmě třeba přičíst celou řadu naprosto mimoňských řadových uživatelů jeho ROM, kteří samozřejmě nemají nejmenší tušení, proč na jejich „spasitele“ těch několik cvoků „útočí“, když jim přece nic neudělal a ještě každou chvíli vydává nějakou ROM. Prostě – DRAMA.
Po těchhle výrocích se zase na pár dní odmlčel, aby se včera vrátil s plnou parádou znovu. Tentokrát svou ROM doplnil – patrně na základě předchozích debat – bizarními upozorněními a přihodil k tomu v diskusi opět pár podobně mašíblovských výroků.

„Upozornění: tuhle ROM si můžete stáhnout tehdy a jedině tehdy, pokud se stanete testerem následujících produktů: binárních souborů kernelu a binárních knihoven, které jsem vytvořil já. Jako tester nemáte vůči těmto souborům žádná práva či vlastnictví. Samozřejmě tuhle ROM můžete používat jako kteroukoliv jinou moji ROM. Pokud kliknete na některý z download linků, souhlasíte s tím, že se automaticky stáváte dobrovolným testerem s cílem uspíšit vývoj finální verze. Pokud nechcete být testerem, ale chcete být řadovým uživatelem: v současné době si nesmíte z žádného mého odkazu nic stáhnout. Neměli byste nic z toho stahovat, protože se jedná pouze o interní test. Počkejte na oficiální verzi.“

„Ani Qualcomm, ani HTC, ani Google a ani já vám v současné době nemusíme dávat k dispozici žádné zdrojové kódy, protože jsme nic z toho ještě oficiálně neuvolnili. Všechno tohle je jenom pro interní testy. Ano, uveřejňuji tu odkazy, ale i kdybych je dával na soukromé stránky, stejně by se k těm souborům každý dostal. Z HTC přece taky unikají data. Spousta produktů je založena na GPL kódu. Ne ke všem je ale v průběhu jejich vývoje dostupný zdrojový kód. Neměním licenci ani nikoho v ničem neomezuji. Zopakuji to ještě jednou: pokud se nechcete stát testerem, nic si ode mne nestahujte. Jinak jste to vy, kdo porušuje zákon. Nejsem žádná velká firma a víte, co udělat, pokud chcete, abych změnil názor. Už na vás nebudu reagovat.“

Osobně se na základě více náznaků přikláním stále více k teorii, že dotyčný zmíněné zdrojové kódy vůbec nemá a že má jen čas od času přístup k souborům, které „odpadnou“ někomu, kdo pracuje na vývoji přímo v HTC, a současně se ze sebe snaží dělat zajímavého. Svědčí pro to celá řada věcí, z nichž některé už jsem zmiňoval, ale nejvíc mě asi nahlodalo to, že není dotyčný ani po několika měsících schopen odstranit ve svých ROM problémy, které by někdo s jeho úrovní znalostí, jak ji prezentuje, měl být schopen odstranit bez větších problémů (např. proto, že se je povedlo při interních testech alespoň zčásti odstranit i mně, který toho o programování kernelů opravdu mnoho neví – pro skutečného vývojáře by mělo jejich vyladění být záležitostí několika hodin, ne-li minut).

Nemůžu se ale ubránit ještě jednomu dojmu. Totiž tomu, že je dotyčný zcela totálně poznamenaný tím, z jaké země pochází – ze země, která má v mnoha ohledech, přímo souvisejících s podobnými tématy, naprosto pokřivené vnímání skutečností. Ze země, v níž je většina produktů založena na tom, že jsou zcela ignorována práva druhých nebo je k nim přistupováno velmi tvůrčím způsobem, protože na její obyvatele nikdo na světě moc nemůže. Rád bych se mýlil. Ale obávám se, že na tom zkrátka skutečně něco bude, protože se zdráhám uvěřit tomu, že by takhle pokřiveným viděním vnímal komunitní spolupráci někdo „z našeho světa“.

Tak nebo onak, skutečností zůstává to, že jde o naprosto ukázkový příklad, jak se v opensource komunitě rozhodně NECHOVAT. Velmi absurdně pak současně působí sanpeiovi šťastní uživatelé, kteří pronášejí věci jako „já jsem mu vděčný, máme štěstí, že komunita kolem Magicu ještě vůbec nějaké vývojáře má, takže mě vážně tak moc netrápí, jestli zdrojové kódy uvolní nebo ne.“ Absurdně jednak proto, že ty jeho ROM vážně nejsou zrovna zázračné a nedotažeností je na nich na můj vkus až příliš (například se po celých těch několik měsíců potýkají s mizernou výdrží baterie – a tím myslím mizernou i na poměry Magicu). Ale také a především proto, že pokud se všichni vývojáři v komunitě budou chovat jako jimi opěvovaným sanpei a budou „sedět“ na veškerých zdrojových kódech svých úprav a vylepšení, tak záhy zjistíme, že komunita kolem Magicu už zkrátka žádné vývojáře nemá a ti dva, tři aktivní, co zbyli, se v zásadě nikam neposouvají, stejně jako se takřka nikam neposouvá sanpei, místo aby své zdrojové kódy uvolnil a profitovala z toho jak komunita (která by konečně měla použitelný kernel), tak i on sám a jeho ROM (protože by jistě někdo záhy opravil věci, na které sanpei evidentně nestačí nebo kašle). Hnacím motorem takovéto opensource komunity totiž samozřejmě není úzkostlivé škudlení vlastní práce pro sebe, ale její sdílení a zpřístupnění ostatním. Lidé z komunity sice jsou totiž zvyklí brát si od druhých cokoliv, co se jim zalíbí, ale současně jsou zvyklí se stejným způsobem dělit o vlastní úpravy a především (což lidé jako sanpei vůbec nechápou) vždy kolegiálně uvést, kdo je autorem té či oné části, kterou pro svůj produkt využili.

http://forum.xda-developers.com/showthread.php?t=655910

http://forum.xda-developers.com/showthread.php?t=642125

6 lidem se článek líbí.

Napsal(a) dne 15. 4. 2010 v 02:42
Kategorie: Absurdistán,Android,HW, SW a podobná verbež

Žádné komentáře »

RSS komentářů k tomuto příspěvku. Zpětné URL


Napište komentář

Používá systém WordPress | Styl: Aeros 2.0 z TheBuckmaker.com