In het afgelopen jaar zijn er verscheidene berichten geweest die de juridische basis onder Android in twijfel trekken. Zo is er gezegd dat Google mogelijk stukken uit de Linux-kernel gekopieerd heeft in zijn C-bibliotheek zonder zich aan de GPL-licentie te houden. Dit bleek echter ongegrond te zijn.
Vervolgens dook de beschuldiging op dat Google GPL-misbruik actief zou bevorderen door licentie-overtreders toch toegang tot de Google Marketplace te geven. Veel van deze verhalen zijn overdreven of slechts gedeeltelijk waar. De hoogste tijd om eens wat nuance aan te brengen.
Sluiproutes
Android is zo populair dat de fabrikanen over elkaar heen buitelen om zo snel mogelijk een nieuw product op de markt te zetten. Hierbij worden er nog wel eens wat sluiproutes genomen, zeker als het gaat om kwaliteit van software en vooral wat betreft licenties. Android is zonder twijfel een van de grootste successen voor Linux en andere open source-software als je kijkt naar marktaandeel. Maar een groot marktaandeel is nietszeggend, of zelfs waardeloos, als niet aan de basisvoorwaarden van de gebruikte licenties wordt voldaan.
Om de problemen, of mogelijke problemen, met Android in te schatten, moet er eerst goed gekeken worden wát Android eigenlijk is. Dat lijkt voor velen wel duidelijk, maar daarin schuilt juist het gevaar. In wezen is Android gewoon een Linux-distributie, zoals er wel meer zijn. Déze distro is ontwikkeld door Google, voor gebruik op smartphones en tablets.
Google stelt Android gratis ter beschikking met een heel simpel doel: door mensen altijd via de diensten van Google te laten werken, kan het bedrijf beter en gerichter advertenties verkopen. Door een bijna kant-en-klaar besturingssysteem gratis op de markt te brengen, laat Google de toestelfabrikanten sneller en goedkoper hun apparaten maken. Ondertussen krijgt Android-maker Google weer meer mensen binnen via en voor zijn services.
GPL en voorwaarden
De basis van Android is de Linux-kernel. Deze software zorgt onder andere voor interactie met de hardware, voert procesbeheer en geheugenbeheer, stuurt randapparatuur aan, enzovoorts. De Linux-kernel is uitgebracht onder de open source-licentie GNU General Public License 2, kortweg GPLv2. Gebruik van software onder deze licentie is niet aan beperkingen onderhevig, mits aan een aantal voorwaarden wordt voldaan.
Zo moet de licentietekst meegeleverd worden met de software zelf. Tevens moet de volledige broncode van de GPLv2-software meegeleverd worden met die programmatuur zelf, of met het apparaat waarin die software draait. Deze verplichting tot meeleveren geldt dus niet alleen voor de aanpassingen zoals veel mensen denken.
Daarnaast moet er een zogeheten 'schriftelijk aanbod' zijn, waarin simpel gezegd de instructies staan hoe je aan de broncode kan komen. Deze uitleg is wat kort door de bocht, de licentietekst zelf omschrijft het uitgebreider.
Licentiescheiding in 'userland'
Bovenop de Linux-kernel zit een zogeheten 'userland', met de bibliotheken van het besturingssysteem en de daar bovenop draaiende applicaties. Google heeft ervoor gekozen om de GPL-licentie buiten zijn userland in Android te houden. In plaats daarvan gebruikt het software vallend onder licenties die minder eisen stellen. Deze staan het bijvoorbeeld wel toe om software (gedeeltelijk) gesloten te maken, zoals de open source-licenties Apache 2.0, BSD en MIT.
Deze belangrijke keuze is ongetwijfeld ingegeven door de vele rechtszaken rondom de GPL die zijn gevoerd in de Verenigde Staten en Duitsland. Daarnaast zijn veel fabrikanten van telefoons, tablets en andere apparaten zoals settop boxes (nog steeds) huiverig om software onder de GPL te gebruiken. Zij vrezen dat ze hun intellectueel eigendom dan moeten vrijgeven doordat de GPL openheid van broncode vereist.
Doordat Google voor Android een systeem gebruikt met relatief weinig GPL-software (alleen de kernel), zijn deze voornoemde risico's lager. Android zoals gedistribueerd door Google zelf is daarom 'GPL kernel, permissively licensed userland'. Daarbij voldoet Google zelf aan alle vereisten van de gebruikte licenties.
Android is niet Android
Nu de belangrijke 'maar'. Android zoals uitgebracht door Google is namelijk niet wat er in Android-apparaten zit. Nadat Google een nieuwe versie van zijn mobiele besturingssysteem heeft uitgebracht, gaat dat eerst door een heleboel handen voordat het in een apparaat zit.
Die handen zijn van uiteenlopende partijen, zoals chipsetfabrikanten, ontwikkelaars van ontwikkelkits (sdk's) en apparaatproducenten (zogeheten odm's) die fabriceren voor derden. In deze hele aanvoerlijn ('supply chain') kan er van alles misgaan qua licenties en in de praktijk gaat het ook veelvuldig mis.
Het blijkt dat Android zoals uitgebracht door Google simpelweg niet voldoet aan de wensen van de fabrikanten. Bedrijven in de aanvoerlijn voegen daarom allerlei software toe zodat het wél naar hun wens werkt. Veel van de software die ze nodig hebben, die ze al kennen en die goed op Linux werkt, is echter uitgebracht onder andere licenties. Zoals, juist, de GPLv2 of de opvolger GPLv3.
Deze software wordt dan aan het Android-systeem toegevoegd en dat wordt in een apparaat gestopt en vervolgens gedistribueerd. Dit hoeft geen probleem te zijn voor de bedrijven, zolang ze zich maar aan de bewuste licenties houden.
Fatale misvatting
En daar gaat het fout. Omdat de boodschap 'GPL kernel, permissively licensed userland' zo sterk is, hebben veel bedrijven het idee dat ze alleen de broncode van de kernel vrij hoeven te geven. Tenminste, áls ze al weten dat ze iets moeten vrijgeven. Veel bedrijven kopen gewoon een product in, zonder dat ze zich bekommeren over auteursrechten, omdat ze (te goeder trouw) aannemen dat hun leveranciers dat al hebben afgedekt. Google kan hier niets aan doen: het distribueert deze apparaten immers niet.
Toch is het zo dat hierdoor het merk Android bij sommige mensen in open source-kringen een nare bijsmaak heeft gekregen. Zij sporen Google aan meer te doen om licentieschendingen tegen te gaan. Bijvoorbeeld door overtreders van licentievoorwaarden de toegang te weigeren tot de officiële Android Marketplace. Zo'n ingrijpende maatregel gaat Google echter niet nemen, om een paar redenen:
- Google zou dan alle apparaten met toegang tot de Marketplace moeten controleren, net zoals alle firmware-updates voor deze apparaten. Zelfs met geautomatiseerde tools is dit een enorme investering gezien de hoeveelheid apparaten en firmwares die uitkomen. Bovendien is die inspanning dan puur en alleen om een probleem aan te pakken dat niet eens door Google is veroorzaakt.
- Deze maatregel verlegt de verantwoordelijkheid voor licentieschendingen naar Google. Als Google een fout maakt door een bedrijf toe te laten dat niet zou mogen, of een bedrijf te weigeren dat wel voldoet aan de licentie, dan schept dat een precedent, met alle gevolgen vandien.
- De toegang tot de Marketplace is al wel verbonden aan voorwaarden, maar deze hebben betrekking op het merkenrecht. Licenties daarentegen hebben te maken met auteursrecht.
Weinig te verwachten
Oftewel: van Google hoeft op dit vlak weinig verwacht te worden. Maar dat wil niet zeggen dat Google weinig doet: op de achtergrond helpt het bedrijf wel degelijk waar het kan.
De enige fundamentele oplossing voor licentieschending in Android-apparaten ligt elders. Auteursrechthouders moeten zélf actie ondernemen. In zowel Duitsland als de VS is dit al gebeurd, of gaat dat gebeuren, door bedrijven aan te klagen die zich niet aan de licentie houden. Die partijen en hun toeleveranciers worden zo gedwongen om de juiste code vrij te geven. Daarnaast wordt er door verschillende organisaties, zoals gpl-violations.org, veelvuldig gepraat met odm's en chipsetleveranciers om aan de andere kant van de aanvoerlijn problemen te voorkomen.
In deze analyse van Android 'versus' de GPL is alleen - en dan nog kort - gekeken naar software voor apparaten zelf. Dat is natuurlijk niet de enige plek waar het mis kan gaan met licenties. De verschillende app stores voor Android staan ook boordevol software waarbij niet is voldaan aan de licentieovereenkomsten. Maar dat is weer een heel ander verhaal.
Armijn Hemel is eigenaar van Tjaldur Software Governance Solutions, een bedrijf dat zich specialiseert in het opsporen van licentieovertredingen en het oplossen ervan. Daarnaast is Hemel actief in het kernteam van gpl-violations.org, een organisatie die zich inzet voor het correct naleven van de GPL-licentie.