Fabrikanten van embedded apparaten houden van Linux. Een enkeling is zich onbewust van de licenties van de software die zij leveren, met soms vervelende gevolgen.
Alternatieven voor Linux Linux is niet het enige open source platform dat geschikt is voor embedded toepassingen. Binnen de BSD-familie is er NetBSD, dat naar veel processoren vertaald is, inclusief de meestgebruikte embedded platformen. Portabiliteit staat al sinds het begin hoog in het vaandel van NetBSD. Dit heeft de code klein en schoon gehouden en maakt NetBSD makkelijk porteerbaar naar nieuwe processoren. NetBSD wordt veelvuldig gebruikt in embedded systemen, maar er wordt weinig ruchtbaarheid aan gegeven. NetBSD wordt uitgebracht onder de BSD-licentie, die bijna geen eisen oplegt in vergelijking met de GNU GPL als het gaat om het gebruik van broncode. Voor bedrijven die aanpassingen aan de code niet vrij willen geven, maar toch een stabiel Unix-achtig platform nodig hebben, is NetBSD een goed alternatief. |
Altijd openbaar
Centraal in het concept van GNU staat vrijheid. De oprichters van GNU hadden het idee om de vrijheid en openheid van hun software te garanderen. Deze ideeën zijn verwerkt in de GNU General Public License (GPL). De licentie schrijft onder meer voor dat de broncode van werken afgeleid van GPL-software ook openbaar gemaakt moet worden onder dezelfde licentie. Dit is in tegenstelling tot bijvoorbeeld de BSD- en MIT-licenties. Deze licenties stellen veel minder restricties en de code kan ook weer ‘gesloten’ gemaakt worden.
Er is veel onduidelijkheid over hoe en aan wie de broncode van GPL-software beschikbaar gemaakt moet worden. In de GPL staat dat de ontwikkelaar degene aan wie de zogeheten ‘objectcode’ geleverd wordt ook de broncode moet geven. De persoon kan daarna doen wat hij wil, zolang hij de regels van de GPL naleeft.
Het begrip ‘levering’ is erg breed. Het op een openbare ftp-site zetten van objectcode is volgens de GPL een vorm van levering. Een ander voorbeeld van levering is de verkoop van een embedded device waarin Linux gebruikt is. De broncode kan op verschillende manieren uitgeleverd worden. Zo volstaat het om de kopers van een embedded apparaat bij het product een cd met de broncode te geven. Verzoeken om de broncode door derden hoeven bij deze methode niet ingewilligd te worden.
Een andere methode is om een zogeheten ‘geschreven aanbod’ om de broncode beschikbaar te maken aan iedereen die daarom vraagt, met het product mee te leveren. Dit aanbod moet minstens drie jaar gelden. Als een product niet uitgeleverd wordt, maar alleen intern door de ontwikkelaar(s) gebruikt wordt, hoeft de broncode niet vrijgegeven te worden.
De gedachte van veel mensen dat de broncode altijd beschikbaar moet zijn als download is onterecht. Aan de andere kant vergeten fabrikanten te vaak om de (juiste) broncode mee te leveren of het ‘geschreven aanbod’ bij het product te doen. Veel fabrikanten die in Europa apparaten op de markt brengen hebben de productie uitbesteed aan derden in China of Taiwan. Het blijkt dat ze dikwijls slecht op de hoogte zijn van wat deze toeleveranciers in de producten hebben gestopt. De meest recente overtreding onthulde Computable afgelopen week; Citrix bleek de GPL-licentie niet te hebben nageleefd.
GPL-overtredingen
Harald Welte, zelfstandig ict-consultant en een van de ontwikkelaars van de firewall-code in de Linuxkernel, zag het gebruik van het open source besturingssysteem in producten zonder dat de GPL nageleefd werd met lede ogen aan. Omdat hij copyright heeft op gedeelten van de code, heeft hij de juridische mogelijkheden onderzocht en bedrijven aangeschreven om de broncode vrij te krijgen. In de meeste gevallen is er een schikking getroffen, waarbij de broncode alsnog vrijgegeven werd.
Niet alle fabrikanten laten zich makkelijk overtuigen. Fabrikant Sitecom vergiste zich lelijk in de consequenties van de GPL. In een Sitecom-product was Linux gebruikt, maar de broncode was niet op een van de door de GPL voorgeschreven manieren beschikbaar gemaakt. Het bleek onmogelijk om tot een vriendelijke schikking te komen. De zaak kwam daarom voor de rechter in Duitsland. Sitecom verloor.
Het opsporen van GPL-schendingen is een serieuze taak geworden. Speciaal hiervoor is het project GPL Violations gestart. Het doel van het project is ervoor zorgen dat fabrikanten zich aan de spelregels van de GPL houden.
Waakhond voor open source licenties
Bedrijven kunnen open source software niet zomaar toepassen. Ze moeten zich wel houden aan de licentievoorwaarden. Welte is een van de open-sourceprogrammeurs die commerciële gebruikers van open source software nazit die zich niet houden aan de GPL.
Waarom begon je het project GPL Violations?
Ik begon gpl-violations.org in 2003. Ik had gemerkt dat er een plotselinge stijging was in het aantal producten dat GPL-software gebruikte, zonder dat aan de licentie voldaan werd. Het doel van het project is om commerciële gebruikers van GPL-software (noot: fabrikanten die GPL-software gebruiken in producten) zich te laten houden aan de licentie, door middel van voorlichting, economische druk en, indien nodig, gerechtelijke stappen. Zelf word ik daar overigens niet beter van. Het project kost me uren onbetaald werk en ik moet me bezighouden met papierrompslomp en advocaten, wat een techneut zoals mij niet vrolijk stemt. Maar, ik heb nu eenmaal software gemaakt en die onder de GPL uitgebracht met een bepaald doel: ik wil de gebruikers ervan vrijheid geven.
Tot nu toe is er een aantal schikkingen geweest en één veroordeling. Sommigen hebben gezegd dat je te snel dreigt met gerechtelijke stappen. Hoe gaat dit eigenlijk in z’n werk?
Er is altijd een periode van vier weken voordat ik bij de rechter om een voorlopige veroordeling vraag. Vier weken is de uiterste limiet, omdat dat de maximale tijd is die de rechtbank hier accepteert voor ‘urgente zaken’. Alleen voor urgente zaken kun je om een voorlopige veroordeling vragen. Als ik een bedrijf dat in overtreding is meer tijd zou geven
Embedded open source op de Tine Op de beurs The Internet Networking Event, vorige maand gehouden in Amsterdam, waren minstens vijf fabrikanten van embedded apparaten aanwezig die open source software toepassen. Bij twee hiervan kon nog niet worden achterhaald of de bedrijven zich aan de GPL-licentie houden. De bedrijven StarTech en Peppercon, die beide een KVM over IP-switch tentoonstelden, gebaseerd op Linux, voldoen aan de GPL. Concurrent Avocent gebruikt voor hetzelfde apparaat NetBSD, en voldoet aan die licentie. De bedrijven Adder (eveneens leverancier van een KVM over IP-switch) en Tiptel, fabrikant van een ADSL-router annex PBX hebben tot nu toe niet gereageerd op vragen over de licentie. |
Ben je niet bang dat bedrijven hierdoor alternatieven voor Linux gaan kiezen voor embedded apparaten, waardoor je Linux meer kwaad dan goed doet?
De vraag is wat er goed is aan het feit dat bedrijven Linux gebruiken, maar zich niet aan de licentie houden. Persoonlijk denk ik niet dat het zo maar gebruiken (zonder je aan de licentie te houden) goed is, dus per definitie doe ik er geen kwaad mee. Wat voor zin heeft het als een embedded apparaat Linux draait, als ik niet de vrijheid, de broncode en tools heb om aangepaste versies van de software te draaien? Fabrikanten zouden de technologie moeten kiezen die het beste bij hun eisen past. Als ze een ‘gesloten’ (proprietary) softwareproduct willen bouwen, kunnen ze beter een licentie op gesloten software nemen of vrije software gebruiken die niet onder de zogeheten ‘copyleft’ licenties vallen, zoals de BSD-licenties. Als ze Linux of andere GPL-software willen gebruiken, om technische of andere redenen, moeten ze voldoen aan de licentie.
Nergens in de it-industrie kun je een contract opstellen, alleen rechten die het je toekent nemen, plichten niet nakomen en verwachten dat de contractpartner dit stilletjes accepteert. Waarom zou dat anders zijn met GPL-gelicenseerde software? Op gpl-violations.org wordt zeer duidelijk gemaakt dat we zeker niet tegen commercieel gebruik van vrije software zijn. Ook proberen we onze publieke statements zo te formuleren dat het geen ‘angst’ oplevert om vrije software te gebruiken.
Als iemand een persoon of een bedrijf ervan verdenkt de GPL te overtreden, wat moet diegene dan doen (en vooral niet doen)?
Hij moet er erg zeker van zijn dat de verdenking gegrond is. Het is makkelijk om een beschuldiging te uiten, maar je kan er maar beter voor zorgen dat je die hard kunt maken. De eerste stap is het informeren van de houders van het copyright. Als de Free Software Foundation de copyrighthouder is, dan is license-violations@fsf.org het adres om naar te schrijven. Als je niet weet wie het copyright heeft, of geen tijd hebt om het uit te zoeken, kun je het sturen naar license-violations@gpl-violations.org.
Ik voeg het dan toe aan de database en probeer voor de rest te zorgen.
Wat doe je als je een GPL-overtreding vindt van een stuk software met daarin jouw eigen code?
In de eerste plaats documenteer ik de overtreding. Ik schrijf op welke versie van de software geanalyseerd is, welke stappen ondernomen zijn tijdens de analyse en welke symbol-namen, strings, enzovoort tot de uiteindelijke conclusie hebben geleid. Meestal pak ik firmware van de webpagina van het bedrijf, zodat ik bewijs heb dat de software ‘publiek beschikbaar is gemaakt’ op een GPL-incompatibele manier.
Daarna doe ik vaak een testaankoop om te kijken of bij het product een kopie van de GPL-licentie en de broncode zit, of een ‘geschreven aanbod’ voor het verkrijgen van de broncode. Een testaankoop is noodzakelijk om te bewijzen dat ook de fysieke distributie van het product op een GPL-incompatibele manier is gebeurd.
De kosten van de testaankoop zijn een onkostenpost die vergoed moet worden door de verdedigende partij. Natuurlijk heeft deze dan weer recht op de hardware, maar in veel gevallen wordt deze niet teruggevraagd. De waarde is te laag, of het kan niet meer verkocht worden omdat de hardware aangepast moest worden om toegang tot de JTAG of seriële poort te verkrijgen. Andere producten worden, na vergoeding, weer teruggestuurd. Ik neem foto’s van de producten en het is de bedoeling om deze op een website met hardware met daarin GPL-software te verzamelen.