Szerző: Bodnár Ádám

2011. március 18. 09:12

Illegálisan használ GPL kódot az Androidban a Google?

Az Android több száz GPL licencelésű állományából eltávolította a licencelésre vonatkozó információkat a Google. A vállalatnak vagy le kellene cserélnie a kódokat, vagy az Androidra fejlesztőknek GPL alatt ki kellene adniuk programjaik forráskódját.

A Google illegálisan használhatott fel GPL licenc alatt álló kódot az Androidban, állítja Raymond Nimmer, a Houston Egyetem szabadalmi jogra specializálódott professzora. Úgy tűnik, a szoftvercég több száz kernel header fájlt épített be az operációs rendszerbe, miután egyszerűen eltávolított belőlük mindenféle kommentet és a licencelésre vonatkozó információt, ami minden bizonnyal jogsértő.

Szabadosan kezeli a GPL-t a Google

Az Android licencelési szempontból többféle kódot tartalmaz: az alapjául szolgáló Linux kernel GPLv2 licencelésű, számos komponens valamilyen más licenc (pl. BSD, Apache) alatt áll, valamint vannak a Google által kontrollált, zárt részek. A szabad szoftverek világában széles körben elterjedt GPL licenc megengedi egy szoftver szabad módosítását és terjesztését, azonban kiköti, hogy a módosított kódot is csak GPL licenc alatt lehet közzétenni, így biztosítja azt, hogy a közösség által létrehozott és gondozott kód a közösségé is marad, azt senki sem tudja "kisajátítani".

A Google egészen "sajátos" módszerrel hozta létre az Android egyik egyedi, megkülönböztető részének számító Bionic könyvtárat - ez egy C könyvtár, amelynek felhasználásával az Androidra natív alkalmazásokat fejlesztő programozók el tudják érni a Linux kernelt. Az operációs rendszer szabadon elérhető kódjának vizsgálata során kiderült, a Google több mint 700 GPLv2 licencelésű kernel header fájlt (amelyek típusok deklarását és makrók definícióját tartalmazzák) másolt át az Androidba, eltávolítva belőlük a licencelésre vonatkozó információkat.

A kernel headerek "GPL-mentesítése" tette lehetővé a Google számára, hogy működő ökosziztémát építsen az Android köré, vonzóvá téve azt a fejlesztők számára. A vállalatnak kifejezett célja volt, hogy a felhasználói rétegben ne legyenek GPL licencelésű komponensek, mivel csak így tudja biztosítani, hogy megmaradjon az Android felett a kereskedelmi kontrollja, működő alkalmazás-piactér jöjjön létre és az Androidra fejlesztett szoftverek kódját a készítőknek ne kelljen minden esetben GPL alatt kiadni.

Az Android Apache licenc alatt érhető el, ahol nincs a GPL-hez hasonló kötelezettség, a derivatívákat akár zárt fejlesztésekhez is fel lehet használni. A telefongyártók számára ez teszi lehetővé, hogy a készülékeikhez egyedi programokat adjanak és végső soron ezzel tudják magukat megkülönböztetni a versenytársaktól, amelyek jobbára ugyanazokból az alkatrészekből építik a telefonjaikat és ugyanúgy az Androidot telepítenek rájuk.

Toxikus vezetők szivárványa

Az IT munkakörülményeket, a munkahelyi kultúrát alapjaiban határozzák meg a vezetők, főleg ha még toxikusak is.

Toxikus vezetők szivárványa Az IT munkakörülményeket, a munkahelyi kultúrát alapjaiban határozzák meg a vezetők, főleg ha még toxikusak is.

"Ezeket a tiszta headereket a bionic/kernel/tools könyvtárban található scriptek automatikusan generálták az eredeti, változatlan kernel headerekből azért, hogy megszabaduljanak néhány bosszantó deklarációtól [...] amelyek általában fordítási hibát okoznak" - írja a Bionic readme.txt állományában a Google.

Ez azonban a GPL licencelés értelmében szigorúan tilos. Linus Torvalds 2003-ban, a hivatalos Linux levelezőlistára küldött e-mailjében is kifejezetten leírta, hogy "senki NEM jogosult egy kernel header fájlt (vagy a kernel forrásának más részét) felhasználni, hacsak nem egy GPL-es program az eredménye [...] Futtathatod a kernelt és csinálhatsz nem GPL-es programokat, de nem használhatod a kernel header fájlokat nem GPL-es binárisok létrehozására. Érthető?"

A Google szerint a headerek nem lehetnek jogvédettek

"Ez a header automatikusan generálódott az azonos nevű Linux kernel headerből, hogy a userspace-ben a kernel libc-n keresztüli hívásához szükséges információkat elérhetővé tegye. Csak konstansokat, struktúrákat és makrókat tartalmaz az eredeti headerből, vagyis nem tartalmaz szerzői jogvédett információt" - áll a Google által kiadott minden header fájlok elején.

Edward J. Naughton szabadalmi jogász szerint a hatályos amerikai jogszabályokba ütközhet a Google gyakorlata, a kernel headerek is szerzői jogvédelem alá esnek, mivel eredeti ötleteket és kifejezéseket (pl. makrókat) tartalmaznak. Naughton szerint a Google által "megtisztított" 750 fájl közül jó néhány lehet szerzői jogvédett, ezeknek a fájloknak a komplex rendszere pedig szinte biztosan jogvédelem alá esik - ugyanúgy, ahogy egy könyv szavai egyenként nem védettek, de a "sorrendjük", vagyis a teljes mű már igen.

Az eset természetesen számos kérdést vet fel. Vajon a Google jogszerűen "tisztította" meg a GPLv2 licencelésű kódot és használta? Ha igen, akkor a vállalat a jövőben a Linux kernel többi részét vagy akár más GPL licencelésű kódokat is "magáévá tehet". Ha a gyakorlat nem volt jogszerű, akkor az érintett fájlok szerzői jogsértés miatt perelhetik a Google-t. Akár így, akár úgy van, a vállalat aligha lesz a Linux-közösség és a szabad szoftverek híveinek kedvence.

Mit tehet a Google?

A Google számára két választás lehetséges: vagy GPL licenc alatt adja ki a Bionicot, teljesen elveszti felette a kontrollt és megöli a virágzó ökoszisztémát, vagy lecseréli a MeeGóban és a WebOS-ben is megtalálható glibc-re (GNU C Library), amely a GPL-nél kevesebb kötöttséggel járó Lesser General Public License (LGPL) licenc alatt is elérhető. Utóbbi sem lesz kis feladat, ugyanis a csere miatt minden valószínűség szerint az Android egyes részeit is újra kellene írni, ráadásul a változás valószínűleg az Androidra már megírt szoftverek módosítását vagy legalábbis újrafordítását is megkövetelheti, zavart okozva a piacon. Androidra jelenleg több mint 150 ezer (más forrás szerint 280 ezer) alkalmazás érhető el.

Az ügyről további részletek Florian Müller szabadszoftveres aktivista blogjában olvashatók.

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról