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.

Szoftvertesztelés: ütött az óra

A tesztelői szakmát rengeteg friss hatás éri, kifejezetten nehezített pálya ez mostanság.

Szoftvertesztelés: ütött az óra A tesztelői szakmát rengeteg friss hatás éri, kifejezetten nehezített pálya ez mostanság.

"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.

Csatlakozz partnerprogramunkhoz, mi pedig ajánlunk ügyfeleinknek, ezenkívül egyedi kedvezményeket is adunk webhosting csomagjainkra. Próbáld ki ingyenesen az Aruba Cloud-ot, most 40 ezer forint értékű vouchert adunk!

a címlapról