Discussie over GPL versie voor Busybox

Een voorbeeldje van de praktische problemen die we kunnen verwachten met GPL versie 3: heftige discussie over de licentie van Busybox in LWN: Busy busy busybox. Busybox is een veelgebruikt stuk software in embedded systemen, dat zo ongeveer alle veelgebruikte Linux-tools vervangt maar vele malen kleiner is.

Busybox was altijd onder “de GPL”, en de huidige maintainer wilde dit omzetten in “GPL versie 2 of 3”. Dual licensing dus, zodat bedrijven konden kiezen of ze liever versie 2 of versie 3 wilden gebruiken. Dat gaf veel discussie, want de oorspronkelijke auteur claimde dat het project begonnen was met “de GPL” en nu dus naar GPL versie 3 zou moeten gaan.

What followed was a long discussion on whether DRM differs from simply putting the code into ROM, whether the FSF is more worthy of trust than IBM, whether a move to a GPLv2-only license was possible, how much of Bruce’s original contribution remains, and so on. Interested parties are encouraged to go into the BusyBox list archives and spend considerable time plowing through the postings; they do not always show the free software community at its best. The real outcomes, however, are this:

BusyBox will be GPLv2 only starting with the next release. It is generally accepted that stripping out the “or any later version” is legally defensible, and that the merging of other GPLv2-only code will force that issue in any case.

Bruce Perens wants his contributions to keep the “any later version” language, and has requested (“and required”) that the copyright notices reflect this wish. Accommodating a contributor’s wishes in this regard is normally done, but Rob Landley has refused to go along; his reason, in the end, boils down to “I’m mad at Bruce and don’t want to.”

Zie ook de uitgebreide kritiek uit the Jem Report waarover ik eerder blogde. Mijn eigen commentaar komt na mijn vakantie trouwens.

Arnoud

The Jem Report uitgesproken kritisch over GPL versie 3

Jem Matzan, een bekende auteur over open source in o.a. Linux Today, is uitgesproken kritisch over GPL versie 3. Onder de kop “GPLv3 license marks GNU’s decline” schrijft hij:

We will look back on this and say that June 29, 2007 was the day when the Free Software Foundation jumped the shark, creating an impassable chasm where there was already an uncomfortable rift between the Free Software Foundation and GNU Project, and the larger free software and open source worlds. The GPLv3 adds restrictions galore for developers and users alike, none of which are designed to be understood by the people who matter most — programmers and users. The FSF tells us that the new restrictions in the GPLv3, on patents, patent licensing, and hardware capabilities, are there to make us more free. That’s right — more restrictions are being forced on us so that we can be “more free.” If that sounds like a big steaming pile of nonsense to you, then I’m with you, brother.

Zo ver ga ik niet, maar de insteek bij GPLv3 vind ik wel degelijk erg negatief. Zoals ik al schreef, men is “tegen” van alles en niet zozeer “voor” iets. Als je niet uitkijkt, kan dat een sfeer oproepen van wij-hebben-gelijk en voor-afwijkende-meningen-is-geen-plaats en dat komt de samenwerking niet ten goede.

Een ander punt van kritiek is de begrijpelijkheid. Waar een programmeur met een beetje goede wil nog wel door GPL versie 2 heenkomt, zal dat met versie 3 niet meevallen. Hij is twee keer zo lang en drie keer zo moeilijk te begrijpen. Die nieuwe verboden vereisen de nodige moeizame juridische constructies.

UPDATE: (27 juli) vandaag publiceerde Livre mijn artikel GPL versie 3 is in feite tegen open source.

Arnoud

Dat zal tijd worden: GNU General Public License versie 3

Hehe, eindelijk. Versie 3 van de GNU General Public License is na dik anderhalf jaar discussie dan toch nu in definitieve vorm verkrijgbaar: GNU General Public License version 3.0.

Zo op het eerste gezicht zie ik geen hele grote wijzigingen ten opzichte van de vorige draft. De meest opvallende wijziging is het toch weer automatisch laten vervallen van de GPL bij schending van de voorwaarden. Vorige drafts kenden een periode van 60 dagen waarin de schender de kans had om zich weer netjes aan de licentie te houden.

Nu eens goed bestuderen wat ons allemaal te wachten staat.

Arnoud

Drie stromingen in open source

Open source bestaat in drie hoofdstromingen: de “vrijheid, blijheid” BSD gemeenschap waar alles mag zonder beperking, de “houd mijn code open” LGPL/Mozilla gemeenschap en de “eerlijk zullen we alles delen” GPL gemeenschap. Deze gemeenschappen onderscheiden zich dus door de mate van vrijheid bij het al dan niet open of gesloten houden van de code. Waar de BSD gemeenschap niets eist, vraagt de LGPL/Mozilla gemeenschap om het delen van verbeteringen en de GPL gemeenschap ook om het delen van uitbreidingen.

Binnenkort komt er een nieuwe versie van GPL versie 3. Deze is sterk politiek gemotiveerd en kan daarmee een nieuwe stroming creëren. Dat zou er dan wel eens zo uit te kunnen zien:

BSD – vrijheid, blijheid voor iedereen, doe maar met de code wat je wilt. Wil iemand zijn verbeteringen niet bijdragen, jammer voor hem. In extreme gevallen laten we Theo de Raadt er wat van zeggen.

GPLv2 – gezellig samen goede code ontwikkelen, maar als je er wat mee doet, word je wel geacht je bijdragen met iedereen te delen. En natuurlijk de broncode publiceren als je de code verspreidt, anders laten we Harald Welte of Armijn Hemel op je los.

GPLv3 – op de barricaden voor de vrijheid van de gebruiker, en wie de verkeerde dingen doet, is een vijand van het volkde gemeenschap en gaat naast Tivo, Novell en Microsoft in het kolenhok – tenzij hij een debat met RMS wint.

De al pragmatische LGPL/Mozilla stroming gaat dan meer samen met de pragmatische GPLv2 stroming, en de meer principiële stroom splitst zich af tot de GPLv3 beweging. Maar de insteek bij GPLv3 vind ik erg negatief, men is “tegen” van alles en niet zozeer “voor” iets. Als je niet uitkijkt, kan dat een sfeer oproepen van wij-hebben-gelijk en voor-afwijkende-meningen-is-geen-plaats en dat komt de samenwerking niet ten goede.

UPDATE: (27 juli) vandaag publiceerde Livre mijn artikel GPL versie 3 is in feite tegen open source.

Arnoud

Ik ben 2 NOVA punten waard

In oktober ga ik een lezing over GPL versie 3 houden bij het Centrum voor Intellectuele Eigendom in Utrecht. Leuk natuurlijk, en nog leuker om te zien dat de Nederlandse Orde van Advocaten dit ongezien al twee studiepunten (van de per jaar 16 vereiste) permanente opleiding van advocaten waard vindt.

Ik had normaal een link gelegd naar de IE Agenda pagina, ware het niet dat die grapjassen hun site onlinkbaar maken. Dan maar een screenshot.

IE Agenda

Arnoud

Laatste draftversie GPLv3 uitgebracht

De vierde en laatste conceptversie van de GNU General Public License (GPL) versie 3, GPLv3, is gisteren verschenen, zo meldt Tweakers. Zij schrijven:

De nieuwste draft kent minder ingrijpende veranderingen. Het concept van GPLv3 is nu volledig compatibel met de Apache 2.0-licentie, en verwijzingen naar Amerikaans recht zijn geïnternationaliseerd. Het belangrijkste punt is echter de verdere precisering van de bepalingen inzake patentrecht. Een van de speerpunten van de nieuwe licentie is dat deals als die tussen Microsoft en Novell, niet in het nadeel van andere opensourcegebruikers mogen uitvallen. Novell-klanten zouden, dankzij de overeenkomst met Microsoft, geen vervolging op basis van patentwetgeving hoeven te vrezen, en GPLv3 expliceert dat een dergelijke bescherming dan automatisch voor alle gebruikers van GPLv3 geldt.

Het plaatje van de GPL benzinepomp bij het artikel lijkt overigens opmerkelijk veel op dit plaatje op Caradisiac, dat [a interdite] toute représentation et/ou reproduction et/ou exploitation partielle ou totale de ce site.

Arnoud

Acht misverstanden over GPLv3

Het blijft wachten op de definitieve tekst van GPL versie 3. Over een maand zou er een nieuwe concepttekst moeten komen, maar wanneer de definitieve versie er is, blijft een open vraag.

Dat heeft als vervelend bijeffect dat mensen gaan speculeren over wat er allemaal in zal komen en wat dat voor consequenties kan hebben. Ondertussen zijn er dus al aardig wat misverstanden en ruzietjes ontstaan.

Bruce Byfield zet in IT Manager’s Journal de misverstanden op een rijtje en legt uit wat er wel en niet klopt:

Some of these misunderstandings are due to the lengthy and public revision process for GPLv3, which offers plenty of opportunity for rumors and misreadings. Others may be due to the extensive rewriting of several key sections of GPLv3, notably the language on patents and TiVoization, during the process, so that people are concerned about issues from earlier drafts that the current one corrects or addresses. Still others seem due to willful misunderstandings by opponents of free and open source software. Perhaps, too, the fact that GPLv3 is more obviously a legal document in structure and content than GPLv2 adds to the confusion. But, whatever the origins of the misunderstandings, many have gained currency in both the media and some parts of the free and open source software community.

In 2006 deed hij hetzelfde voor GPL versie 2. Het is ergens wel zorgwekkend dat een concepttekst al minstens zo veel misverstanden heeft opgeleverd als een 15 jaar oude eerdere versie.

Arnoud

Uitkijken met GPLv3 – is deze geschreven voor juristen of programmeurs?

IPcentral Weblog komt met een top 10 van redenen waarom software-ontwikkelaars moeten uitkijken met GPLv3. Het meeste is redelijk kort door de bocht, maar er zit wel een waar woord in item 1 (“De formuleringen uit GPLv3 zijn lastig te begrijpen”):

A license should clearly inform people what they can and cannot do. GPLv3 does neither. Lawyers assume that they could understand it if only they were software engineers, and engineers assume that the lawyers grasp it. Both are wrong.

Dat verklaart waarom juristen zo veel praten over dynamisch en linken (alsof dat de enige manieren zijn om software te combineren) en programmeurs lijken te denken dat het vast wel goed zit omdat er zo veel lange zinnen in staan, en het door een hoogleraar rechten opgesteld is.

Arnoud

Is de GPL een contract?

De meeste software-licenties worden gepresenteerd als een contract. Dit zijn de voorwaarden, u moet zo veel betalen, hier tekenen (klikken) alstublieft. Bij open source licenties ligt dat iets anders. Daar wordt niet geklikt en al helemaal niets betaald. Er zit een bestandje bij de software waarin de voorwaarden staan uitgelegd. Zit een gebruiker of verspreider van open source nu wel vast aan die licentie?

Naar Nederlands recht is het antwoord duidelijk: ja, natuurlijk. Zonder licentie mag je vrij weinig met andermans software doen. Installeren en gebruiken mag wel, als je de software legaal van iemand anders kreeg (art. 45j Auteurswet). Maar verspreiden mag niet zonder toestemming van de rechthebbende. Wie de software dus toch verspreidt, is dan kennelijk akkoord gegaan met de licentie.

Naar Amerikaans recht ligt dit iets lastiger. Je zit daar pas vast aan een contract als je “consideration” (een tegenprestatie) biedt voor wat de rechthebbende je geeft. Geld betalen om iets te mogen, is duidelijk consideration. Maar ook bijvoorbeeld “jij mag mijn auto lenen als ik morgen jouw grasmaaier mag gebruiken” is een geldig Amerikaans contract.

Hoe zit dat nu bij de GPL? Daar wordt niets betaald. Er is ook niet echt een andere tegenprestatie aan te wijzen. Het enige wat nog in de buurt komt, is dat de verspreider verplicht is om de broncode mee te leveren. Maar is dat nu een tegenprestatie, of een verplichting?

Eben Moglen, huisjurist van de Free Software Foundation, heeft altijd verdedigd dat de GPL geen overeenkomst is, maar wat dan heet “een eenzijdige verklaring van toestemming.”

The word ‘license’ has, and has had for hundreds of years, a specific technical meaning in the law of property. A license is a unilateral permission to use someone else’s property. The traditional example given in the first-year law school Property course is an invitation to come to dinner at my house. If, when you cross my threshold, I sue you for trespass, you plead my ‘license,’ that is, my unilateral permission to enter on and use my property.

Dit onderscheid is belangrijk. Als de GPL geen contract is, dan is verspreiding die de toestemming te buiten gaat, schending van het auteursrecht. Als de GPL een contract is, kun je verspreiders voor de rechter slepen om naleving van dat contract te eisen, maar niet meer voor schending van het auteursrecht. Ze hebben dan immers een licentiecontract gesloten, en wie een licentie heeft, schendt het auteursrecht niet. Dit werd bijvoorbeeld nog bevestigd in Sun vs. Microsoft (1999):

A copyright owner who grants a non- exclusive license to use his copyrighted material waives his right to sue the licensee for copyright infringement.

Dit zal nog belangrijk worden bij GPLv3, waar heel veel nieuwe clausules worden ingevoerd. Een kritisch commentaar vanuit dit standpunt is te vinden op ACT: GPLv3 : Welcome to Contract Law.

Update (3 juli 2012): in de octrooicontext wordt een gesloten licentiecontract gebruikt om een beschuldiging van octrooischending te pareren.

Arnoud

‘OpenBSD steelt code’, aldus Linux-ontwikkelaar (via Tweakers)

Vandaag op Tweakers.net:

Michael Buesch, ontwikkelaar van de Linux-driver voor de aansturing van draadloze netwerkchips van Broadcom, beschuldigt OpenBSD-ontwikkelaars van het stelen van programmacode. Hoewel beide besturingssystemen open source zijn, gebruiken ze verschillende licenties.

OpenBSD is een open source besturingssysteem dat wordt aangeboden onder de zeer liberale BSD licentie. Software onder deze licentie mag voor zo ongeveer alles worden gebruikt, zolang maar wordt vermeld wie de maker is. Linux daarentegen wordt aangeboden onder versie 2 van de GPL, en die legt meer restricties op. De belangrijkste eis uit de GPL is dat elke verspreiding van de software inclusief broncode moet gebeuren. Ook verdere verbeteringen aan de software mogen alleen inclusief broncode worden verspreid.

Michael Buesch is de auteur van een wireless LAN driver voor Broadcom chips. Hij ontdekte dat OpenBSD een driver had met exact dezelfde broncode. Hij stuurde dan ook een boze mail naar het OpenBSD team. Dat was aanleiding voor een stevige discussie; het OpenBSD team en helemaal hun leider Theo de Raadt staat niet bekend om hun softe, subtiele aanpak.

In het algemeen is het lastig om te bepalen of er sprake is van inbreuk op auteursrecht bij software. Alleen code met “het stempel van de maker”, eigen creatief werk dus, wordt beschermd door auteursrecht. Puur functionele code is niet beschermd.

Nu heeft een programmeur normaal veel ruimte voor creativiteit bij het schrijven van de code. Maar bij drivers is dat anders. Die moeten op een bepaalde manier werken om de hardware aan te kunnen sturen. Vaak ligt het communicatie-protocol met de hardware helemaal vast, en ook de manier waarop de gegevens doorgegeven moeten worden aan andere software. Het is dan lastig om te bepalen of een implementatie nu creatief is of puur functioneel. Kort gezegd, op hoe veel manieren kun je “als het apparaat aan moet, stuur dan code 0x3F” implementeren?

Dat wil alleen niet zeggen dat drivers dus niet beschermd zijn, of dat zomaar alle code van een driver mag worden overgenomen. In dit geval bleken er grote stukken code letterlijk gecopy&paste te zijn, inclusief variabelenamen, commentaar en dergelijke. En dat wijst er meestal op dat er meer is overgenomen dan puur het functionele aspect van het origineel.

Arnoud