Binární ovladače + jádro = porušení GPL

5. 10. 2006
Doba čtení: 6 minut

Sdílet

Projekt Kororaa byl před několika měsíci nařčen z porušování licence GNU GPL. Problém způsobily binární ovladače grafických karet. Nyní je znám výsledek a především také důsledky celé kauzy. Jak vše začalo? Proč porušují ovladače licence? Co z toho plyne nejen pro projekt Kororaa?

Pokud vám název Kororaa nic neříká, vzpomeňte si na Xgl live CD, které umožňovalo demonstrovat vlastnosti akcelerovaného desktopu. Toto live CD bylo vytvořeno právě nad distribucí Kororaa a spravoval jej dokonce stejný projekt.

Obvinění přišlo v květnu

První informace o porušování licencí se objevily v květnu letošního roku. Kororaa musí kvůli akcelerovanému desktopu využívat také hardwarovou akceleraci. Proto jsou součástí distribuce také originální binární ovladače ke kartám ATI a nVidia.

A tady je právě kámen úrazu. Podle informací, které obdrželi vývojáři projektu, není možno distribuovat tyto binární ovladače společně s linuxovým jádrem, protože porušují licenci GNU GPL. Vývojáři obdrželi e-mail, který je informoval o celém problému a vyzval je k nápravě. V dopise se píše:

Vypadá to, že vaše Kororaa live CD obsahuje non-GPL binární nVidia a ATI ovladače. Tímto požaduji zastavení distribuce těchto ovladačů jako součásti vašeho live CD z následujících důvodů: Tato distribuce je proti myšlence open source a porušuje licenci linuxového jádra.

Rozvedu svá tvrzení:

  • Když sestavujete tyto ovladače, zahrnete do binárního výsledku i GPL kód linuxového jádra, který pak distribuujete.
  • Druhá část GNU GPL zakazuje kombinaci GPL a non-GPL v případě, že tyto dvě části jsou přiměřeně nezávislé. (Řečeno přímo to znamená, že nesmíte na své CD umístit linuxové jádro; aby zůstalo CD funkční, bude nejjednodušší z něj odstranit binární ovladače.)
  • Třetí část GPL licence zakazuje distribuci odvozeného díla, pokud toto není licencováno pod GPL. Zkompilované ATI/nVidia ovladače jsou odvozeným dílem (přestože ovladače pravděpodobně nejsou, alespoň některé části jistě ano, a vy je distribuujete společně).

Chválím vás za vaši snahu zjednodušit použití Linuxu, ale zároveň naléhám, abyste hráli podle stejných pravidel (GPL) jako všichni ostatní.

Chris Smart, který je vedoucím projektu Kororaa, okamžitě mail zveřejnil a začal zkoumat, jak to vlastně s licencemi je. Nejdůležitější otázkou zůstává, zda ovladače skutečně obsahují kód z linuxového jádra. Přímo od lidí z nVidie se Chris dozvěděl toto:

Nemůžu vám poskytnout právní radu, ale můžu vám říci, jak vypadá technická organizace v ovladači.

Moduly se skládají ze dvou částí: uzavřené binární a rozhraní pro jádro. Binární část není nijak specifická pro Linux (stejný kód je použit na Windows, Solaris a dalších) a při kompilaci nepoužívá žádné jaderné hlavičky. Rozhraní je pak poskytováno ve formě zdrojových kódů společně se samotným ovladačem a to je ona část, která je kompilována pro vaši verzi a konfiguraci jádra. Tato mezivrstva je jedinou částí, která odkazuje na části jádra a dělá to pouze v rozsahu potřebném pro provoz moderního grafického ovladače. Poté co je tato část zkompilována, je přilinkována k binární části a společně tvoří jaderný modul nVidia.

Pozastavení projektu

Jak o sobě Chris Smart několikrát řekl, není právníkem a proto se rozhodl dále celou věc zkoumat s kompetentními osobami. Než se vše vyřeší, rozhodl se zastavit distribuci Xgl live CD. „Dokud se mi nepodaří vše vyřešit, bylo live CD pozastaveno. Pokud to nevyřeším, budu nucen práce na Xgl live CD ukončit,” napsal k problému tenkrát Chris.

Celá kauza způsobila velké ohlasy u odborné veřejnosti. Chris dostal ohromné množství pošty, která obsahovala mnoho různých rad a možností řešení. „Obdrželi jsme stovky komentářů, e-mailů a rad od linuxové komunity, za které jsme velmi vděční,” píše se na webu projektu.

Co dál?

Přestože lidé z projektu hovořili o problému s mnoha dalšími lidmi a odborníky, rozumné odpovědi se nedopátrali. „Na konci stejně nejsme schopni najít absolutní důkaz, který by nám řekl, jak ovladače poškozují licenci jádra. Možná proto, že nikdo není ochoten nést důsledky.”, řekl později vedoucí projektu Kororaa.

Bohužel se nepodařilo doopravdy vyřešit některé podstatné otázky, které se týkají odvozených děl. „Mohli bychom strávit (a také jsme strávili) mnoho času pokusy zjistit, co je a co není odvozenou prací a stále bychom neměli odpověď.”, píše se na stránkách projektu.

Bohužel neexistuje žádný precedent, protože v tomto směru ještě žádný soudní dvůr nezasedal. „Tím nechci říct, že odpověď neexistuje. Jen to, že já jsem ji nenašel.”, říká k výsledku průzkumu Chris Smart.

Problém jako takový ovšem není možno ignorovat, protože by mohl přinést v budoucnosti velmi nepříjemné důsledky. V tuto chvíli vlastně stále nikdo neví, na čem je. Proto Chris pokračoval ve svém pátrání po odpovědi a zeptal se renomovaných vývojářů jádra, kteří jsou autory kódů, o kterých se hovoří.

Co na to vývojáři jádra?

Greg Koah-Hartman k tématu na konferenci Linux Symposium 2006 řekl: „… dnes neexistuje způsob, jak by mohl někdo vytvořit modul do linuxového jádra, který by byl closed source.”

Samotný Linus Torvalds se také vyjádřil: „Jádro je GPL. Žádné jestli, ale a možná. Důsledkem je, že cokoliv, co je odvozeným dílem, musí být také GPL. Je to jednoduché.”

Linus svůj názor na věc ještě rozvedl:

  • Cokoliv bylo napsáno s Linuxem v mysli (ačkoliv to pak běží i na jiných systémech) je jednoduše odvozeným dílem.
  • Cokoliv, co používá znalosti a pochody uvnitř Linuxu, je také odvozeným dílem.
  • Pokud musíte pracovat s jadernými kódy, je to odvozenina. O tom není pochyb.

Greg také dodal několik informací na obhajobu svého názoru: „Když některá společnost tvrdí, že musí ‚chránit své intelektuální vlastnictví‘, je to v pořádku a žádný vývojář jádra proti tomu nemá námitek. Ale pak je potřeba stejným způsobem chránit intelektuální vlastnictví vývojářů jádra. My vydáváme svůj kód pod GPL, která říká, jaká máte práva při použití tohoto kódu. Když linkujete jiný kód do našeho, licence vás zavazuje k tomu, abyste svůj kód vydali pod stejnou licencí (pokud jej distribuujete).”

Konečné rozhodnutí

Pod tíhou těchto názorů se Chris definitivně rozhodl. „Rozhodl jsem se přijmout názor, že non-GPL moduly poškozují jádro a jsou neetické. To znamená, že už nadále nebudeme kompilovat non-GPL ovladače proti linuxovému jádru a jako Kororaa nebudeme distribuovat tyto moduly v našich dalších produktech.”

Znamená to, že uživatelé už se ani na live CD ani v plné distribuci nedočkají binárních ovladačů ke grafickým kartám. Pokud je budou chtít sami použít, pochopitelně jim nic nebrání v tom, aby si je sami doinstalovali. Podle informací, které Chris Smart získal, je ale nelegální distribuovat je společně s linuxovým jádrem.

Precedent?

Není rozhodně obvyklé takto distribuovat binární ovladače přímo s operačním systémem. Žádný z velkých distributorů to nedělá a nechává instalaci těchto modulů na každém uživateli. Pravděpodobně vědí proč.

Důležité je, že se máme při výkladu čeho chytit a někdo se dopátral rozumné odpovědi. Tento případ jistě pomůže prosazovat GPL v dalších případech, kdy dojde stejným způsobem k jejímu porušení.

bitcoin školení listopad 24

Co na to uživatelé?

Bohužel pro uživatele to není dobrá zpráva, protože tak přichází o pohodlí, kterou nabízela akcelerovaná grafika přímo po instalaci. Pravděpodobně tak ještě dlouho zůstaneme u ruční doinstalace binárních jaderných modulů.

Na druhé straně je ale potřeba situaci chápat také jako ochranu svobodných práv software vydávaného pod licencí GNU GPL. Běžného uživatele, který chce nainstalovat a používat, to ale určitě nepotěší.

Souhlasíte s tím, že distribuce binárních ovladačů s jádrem porušuje GPL?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.