Belastingdienst schendt open source licenties

De Belastingdienst overtreedt volgens een open source-deskundige meerdere open-sourcelicenties met de aangiftesoftware, meldt Webwereld. Softwareontwikkelaar en -auditor Peter Roozemaal heeft de Belastingaangiftesoftware voor Linux uitgeplozen. In zijn rapport meldt hij dat de OpenSSL en GTK+ licenties niet zijn nageleefd.

De OpenSSL licentie vereist namelijk dat je in de documentatie bij het product de licentievoorwaarden vermeldt. De Belastingdienst volstaat met een link naar de licentievoorwaarden zoals die op internet te vinden zijn. Slordig.

Voor GTK+ ligt het iets gecompliceerder. Deze bibliotheek is beschikbaar onder de LGPL versie 2. De Belastingdienst heeft de software statisch gelinkt met haar applicatie. De LGPL eist dan dat je de gebruiker in staat stelt de GTK+ onderdelen te vervangen. Wat je daarvoor precies moet uitleveren, hangt af van de situatie, maar omdat de Belastingdienst simpelweg niets heeft uitgeleverd, is het wel duidelijk dat de licentie op dit punt niet is nagekomen.

Pijnlijk. Maar wat is de consequentie? Roozemaal schrijft namelijk:

Zolang de Belastingdienst niet aan alle van toepassing zijnde licentievoorwaarden voldoet, is er sprake van auteursrechtinbreuk en verspreiding van de Aangifteprogramma’s behoort gestaakt te worden totdat aan alle licentievoorwaarden voldaan kan worden.

Niet helemaal.

De OpenSSL licentie bepaalt nergens dat de licentie automatisch vervalt als je hem schendt. Daarvoor zal dus een rechtshandeling van de makers nodig zijn. In Nederland zijn softwarelicenties contracten. Wie een bepaling uit een contract niet naleeft, schendt het contract. Op grond daarvan mag de licentiegever het contract ontbinden. Maar dat gaat niet automatisch.

De GTK+ licentie heeft wel een bepaling over ontbinding bij schending:

You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

Die laatste zin beperkt het effect tot wat de Belastingdienst zelf doet. De ontvangers/downloaders van de software mogen deze gewoon blijven gebruiken. Alleen verdere verspreiding van de software door de Belastingdienst of anderen is niet toegestaan.

En ik vraag me nog af in hoeverre toepassing van een dergelijke algemene voorwaarde niet als onredelijk bezwarend te zien is in situaties als deze. Naar Nederlands recht mag je een contract bij een tekortkoming niet ontbinden als “de tekortkoming, gezien haar bijzondere aard of geringe betekenis, deze ontbinding met haar gevolgen niet rechtvaardigt.” Dit is geen dwingend recht (zo te zien) maar of je zó ver kunt gaan in algemene voorwaarden, betwijfel ik.

Het is voor mij dus geen uitgemaakte zaak dat de Belastingdienst haar licentie op GTK+ kwijt is en de software niet meer mag verspreiden. Maar ze moeten wel als de wiedeweerga aan de slag om deze problemen te repareren. Want uitermate slordig is het wel.

Heeft iemand dit al aan het GTK+ team gemeld eigenlijk?

Arnoud

15 reacties

  1. Ik denk dat de tekortkoming van de belastingdienst noch bijzonder, noch gering is. De tekortkoming is niet bijzonder, want a) de belastingdienst kan zich blijkbaar wel aan de voorwaarden van bepaalde andere licenties houden (uitzonderingen daargelaten) en b) de licentie is zeer populair. De tekortkoming is niet gering, omdat de eis van de LGPL een kernwaarde is (van die licentie).

    Om op een andere tak te springen, ik vind dat het niet juist is dat de Belastingdienst de haar software met een “proprietaire” licentie verspreidt. Dit zeker aangezien het beleid van de overheid tegenwoordig “Open source en open standaarden” en “comply or explain why” zou moeten zijn. En ik denk niet dat er een adequate “explanation” kan zijn voor het gesloten houden van een elektronische versie van een formuliertje (je kunt het net zo makkelijk met HTML en Javascript herschrijven, bijvoorbeeld).

  2. Arnoud, bedankt voor jouw opinie over the specifiek Nederlands juridische aspecten aan deze zaak. We zijn het er over eens dat de Belastingdienst haar fouten hoort te herstellen; hoe dat precies gaat uitpakken als de Belastingdienst stom genoeg is om het op een rechtszaak te laten aankomen zien we dan wel.

    Om op een andere tak te springen, ik vind dat het niet juist is dat de Belastingdienst de haar software met een ???proprietaire??? licentie verspreidt.

    Ik ben het in principe met je eens dat de Overheid een heel goed voorbeeld kan stellen waar het gaat over “productie” van Open Source software. De Aangifteprogramma’s zijn daarbij voor de hand liggende kandidaten. (Er zijn een paar technische redenen om de aangifte niet als webapplicatie te doen: de eerste is dat commerciele boekhoudprogramma’s een “aangriftemodule” hebben die automatisch de cijfers van de jaarrekening overneemt; een tweede is dat veel mensen de aangifte in etappes invullen: de webserver zou dan alle half-ingevulde aangiften moeten opslaan en waarschijnlijk crashen in de laatste weken van maart. De belasting “logica” is te complex.) Het is echter niet zo makkelijk om een proprietair programma Open Source te maken. Van Netscape naar Mozilla heeft ettelijke maanden geduurd. Als een applicatie ingekochte commerci?le bibliotheken bevat, hev je toestemming van de maker van de commerci?le bibliotheek nodig. Of je moet de bibliotheek vervangen door een functioneel equivalente Open Source bibliotheek (en als die niet beschikbaar is: zelf schrijven.) Een goed principe, aat makkelijker te bereiken is als er vanaf het begin van de softwareontwikkeling rekening mee gehouden is.

  3. Peter, graag gedaan. Ik werd vooral getriggerd door de juridische conclusies in je uitstekende technische analyse.

    Ik vraag me wel af welk voordeel het zou opleveren als het aangifteprogramma open source zou zijn. Je zegt zelf al, de belastinglogica is zeer complex. Wie zou er dan zin en tijd hebben om aan dat project te gaan werken? Welk voordeel levert het de deelnemers op? Ik zou dus bang zijn dat het project een kwijnend bestaan gaat leiden.

    Beter zou zijn om een open standaard op te stellen over hoe een aangifte eruit kan zien. Dan kan iedereen zijn eigen programma ontwikkelen, open of gesloten. Of belastingaangifte integreren in GNUcash of zo.

  4. In Nederland zijn licenties eenzijdige rechtshandelingen. Die kunnen zijn verpakt in een contract, maar dat zal hier wel niet het geval zijn. Althans, ik neem aan dat er geen contact is geweest tussen de belastingdienst en (een gemachtigde van) de rechthebbende.

    Een auteursrechtelijke licentie op een werk is een (voorwaardelijke) toestemming om inbreuk te maken op het auteursrecht op het werk. Met toestemming handelt de persoon die de handelingen waartoe uitsluitend de rechthebbende bevoegd is (zie art. 1 Aw), toch rechtmatig. De licentie/toestemming neemt de onrechtmatigheid van de inbreuk weg.

    Schendt je de licentievoorwaarden, dan heb je geen toestemming, en mag je dus geen auteursrechtelijk relevante handelingen verrichten.

  5. Die discussie hebben we al eens langsgehad, bona fides.

    Het verstrekken van een licentie is inderdaad een eenzijdige rechtshandeling. Maar als dat onder voorwaarden gebeurt, moet de licentienemer daar op een of andere manier mee instemmen. De licentiegever kan niet eenzijdig voorwaarden opleggen en verwachten dat mensen zich daaraan houden. Hij moet het aanbod tot licentie onder voorwaarden dus aanvaarden – hela, dat klinkt als een overeenkomst. 🙂

    En waarom zou je contact met elkaar moeten hebben om een overeenkomst te sluiten? Aanbod en aanvaarding vereist geen onderhandeling of zelfs maar overleg. Jij hebt op RF ook nooit contact gehad met de webmaster, toch heb je daar een gebruiksovereenkomst gesloten op grond waarvan je daar mag posten.

  6. Dat die discussie hier al eens is langsgeweest wil niet zeggen dat in die discussie de juiste conclusie is getrokken ;).

    Een eenzijdige rechtshandeling kan voorwaardelijk worden gedaan. Een licentie met licentievoorwaarden is een voorwaardelijke toestemming. Je mag auteursrechtelijke handelingen verrichten voor zover je je aan de voorwaarden houdt. Buiten die voorwaarden geldt die toestemming niet.

    Het is dus helemaal niet nodig om voorwaarden te accepteren. Je “neemt” ook geen licentie, je krijgt voorwaardelijke toestemming.

    Een licentiegever legt strikt genomen dus geen voorwaarden op, maar hij geeft toestemming onder voorwaarden. Hij geeft slechts, en hoeft daarbij niet meer te geven dan hij wil. De ontvanger wordt door deze gift niet belast, dus hoeft niets te aanvaarden.

    Aanbod en aanvaarding vereist geen onderhandeling, maar de aanvaarding heeft pas werking wanneer zij de aanbieder bereikt. Als ik GTK+ van een willekeurige FTP site download, is dat niet te zien als een aanvaarding die de rechthebbende bereikt.

    Als je je ergens registreert waarbij je klikt op “ik aanvaard de gebruiksvoorwaarden” en die klik wordt op ??n of andere manier geregistreerd door de website, dan bereikt die klik de webmaster en kun je die klik zien als een verklaring inhoudende de aanvaarding van het aanbod.

    Voor de duidelijkheid: ik ontken niet het bestaan van licentieovereenkomsten. Een licentie kan uiteraard ook bij overeenkomst worden verstrekt. Maar bij GTK+ en andere software onder de GPL lijkt me dat typisch juist niet het geval.

    Zie ook mijn uitwerking hier.

    (redactie: link gefixt)

  7. Bij een toestemming van de vorm “je mag de broncode van de software verspreiden” wil ik daar misschien nog wel in meegaan. Daar wordt een auteursrechtelijk relevante handeling geclausuleerd, zodat de toestemming slechts beperkt is. Dat is net zoiets als “Toegang tot dit park van 9 tot 5, geen honden toegelaten”.

    Maar de GPL en consorten kennen genoeg bepalingen die je met geen mogelijkheid als clausulering van de toestemming kunt lezen. Wat te denken van een uitsluiting van aansprakelijkheid jegens de licentiegever of een verplichting om niets te doen dat de gebruiksrechten voor anderen in gevaar brengt? Dat heeft niets meer met auteursrechtelijk relevante handelingen te maken. Dat is puur verplichtingen opleggen aan een licentienemer.

    Als je nu gaat betogen dat je elke voorwaarde als clausulering kunt zien, dan zou de hele rechtsfiguur van de licentieovereenkomst overbodig worden. “Je mag mijn software gebruiken maar alleen voor zover je me 2000 euro per jaar betaalt” is dan ook een eenzijdige rechtshandeling? Zolang ik maar betaal mag ik de software gebruiken, en dat is dan geen overeenkomst?

    De aanvaarding van de licentie vindt (zo zegt de GPL zelf ook) pas plaats wanneer je de software wijzigt of verspreidt, m.a.w. een auteursrechtelijk relevante handeling verricht. Het downloaden is niet auteursrechtelijk relevant hier, omdat de software aangeboden is door een licentienemer (of de auteur zelf). Je bent dan rechtmatige verkrijger en hebt (nog) niets met de licentieovereenkomst te maken.

    Interessant punt over het bereiken van de aanvaarding. Maar dat zou hooguit betekenen dat er geen rechtsgeldige overeenkomst is gesloten tussen de GTK+ auteurs en de Belastingdienst. Niet dat wat er tussen hen gebeurt, iets anders moet zijn dan sluiting van een overeenkomst.

    Bovendien zou ik de stelling wel aandurven dat het de schuld van GTK+ is dat mededeling van de aanvaarding haar niet bereikt (3:37 lid 3). Dan moet GTK+ maar beter opletten wie er allemaal haar software verspreidt met nota bene een kopie van de LGPL in de documentatie, zoals de licentie vereist.

    Ik begrijp trouwens werkelijk niet wat je er als rechthebbende mee opschiet als de GPL naar Nederlands recht geen overeenkomst zou zijn. Uit jouw bericht bij RF (heb de link gefixt) maak ik juist op dat je als eenzijdige licentiegever je rechten niet kunt afdwingen, maar alleen een OD-actie kunt beginnen wegens vermeende inbreuk op je auteursrecht.

  8. In het schaakspel is er zoiets als “remise door herhaling van zetten” en ik heb de discussie over “contractbreuk” vs. “auteursrechtinbreuk” al meerdere malen gezien en nog geen ultieme conclusie gelezen. Dan trek ik mijn ingenieursschoenen (stalen tenen) maar aan en concludeer: licentie acceptatie en niet voldoen aan voorwaarden => contractbreuk => problemen niet licentie acceptatie => auteursrechtinbreuk => problemen

    Ik denk dat de gepaste manier om dit probleem op te lossen is dat we de GTK ontwikkelaars vragen om een kort geding aan te spannen tegen de belastingdienst; de verliezer (Arnoud of bona fides) betaalt de kosten van het geding. 😉

    Arnoud: De Belastingdienst heeft een module voor “beveiligd communiceren” en die is beschikbaar voor professionele ontwikkelaars van financiele software. Helaas onder een licentie die niet GPL compatibel is.

  9. In mijn vorige bericht bedoelde ik in plaats van “je kunt niet meer geven dan je hebt” eigenlijk (complementair) “je kunt niet meer rechten voorbehouden dan je hebt”.

    Uitsluiting van de aansprakelijkheid in licentievoorwaarden kun je proberen, maar of het lukt is maar de vraag. Dat zal sterk afhangen van het toepasselijke recht. Erbij schrijven dat gebruik op eigen risico is lijkt me wel verstandig, het kan voor zover ik zie in ieder geval nooit kwaad. (Nou ja, je geeft de Microsofts een argument.)

    Bij een voorwaarde als ???Je mag mijn software gebruiken maar alleen voor zover je me 2000 euro per jaar betaalt??? lijkt het betalen mij wel een aanvaarding inhouden. Maar als er staat “je mag mijn software gebruiken op voorwaarde dat je 10 euro aan Greenpeace overmaakt”, dan heb je toestemming de software te gebruiken op voorwaarde dat je 10 euro aan Greenpeace overmaakt.

    Of er sprake is van voorwaardelijke toestemming of een aanbod zal moeten worden bepaald aan de hand van art. 3:33 en 3:35 BW. De GTK+ auteurs willen dat je de software na een download kunt wijzigen en verspreiden, dus blijkbaar geven ze naar Nederlands recht toestemming (onder de voorwaarden van de LGPL).

    Inderdaad kun je na voorwaardelijk toestemming slechts een OD-actie beginnen als de voorwaarden niet in acht worden genomen. Zoals je ook alleen een OD-actie kunt beginnen als je helemaal geen toestemming hebt gegeven. Maar let wel, als de inbreukmaker groot belang heeft bij voortgezet gebruik, kan de rechthebbende hem effectief toch dwingen om de licentievoorwaarden strikt na te komen. De rechthebbende heeft het auteursrecht om te slaan, waarom zou hij voor GPL-software meer nodig hebben? Maar hoe dan ook, dit is inderdaad het gevolg van mijn stelling (en niet andersom).

    Is het erg relevant wat de rechthebbende ermee opschiet als de GPL in NL in de regel geen overeenkomst is? Als het zo is (en daar ben ik inmiddels zelf wel van overtuigd), dan is het zo. Om er een overeenkomst van te maken moeten de rechthebbenden contracten gaan sluiten met alle individuele gebruikers. Dat werkt niet bij typische GPL-software.

    Een voordeel is dat de licentievoorwaarden niet op dezelfde manier als normale algemene voorwaarden vernietigbaar zijn. (Maar misschien zijn er situaties te bedenken waarin de auteursrechtelijke inbreuk bij schending van een hele vreemde voorwaarde toch te rechtvaardigen is.)

    Vermoedelijk zijn we het nog steeds niet eens, maar waar we het misschien wel over eens kunnen zijn is dat in het algemeen een licentie bij eenzijdige rechtshandeling k?n worden verleend. Dit is de redenering via toestemming als rechtvaardigingsgrond bij OD, en daarvoor staat vast dat toestemming een eenzijdige rechtshandeling is, die onder voorwaarden kan geschieden. De redenering werkt dus. Onenigheid kan bestaan over hoe een specifieke licentieverklaring moet worden uitgelegd, een aanbod dat (dus) aanvaard moet worden of een eenzijdige rechtshandeling. De interpretatieregels volgen uit art. 3:33/35 BW.

    Hoe ver je art. 3:37 lid 3 BW kunt oprekken is een interessante vraag. Jouw redenering lijkt me niet goed houdbaar. Maar ook als de redenering klopt zou “GPL = overeenkomst” volgens mij impliceren dat als het mailadres van de maker staat vermeld, je moet mailen voordat je auteursrechtelijk relevante handelingen met GPL software mag verrichten.

  10. Wat betreft de vraag wat voor nut het heeft om het open source te maken; daar is een heel simpel antwoord op: Er zijn meerdere *nix-achtige OSen dan Linux en er zijn meer architecturen dan x86. Heb je zo’n ander platform dan heb je nu gewoon pech. Met source maakt dat niets uit dan kun je het aan de praat krijgen op systemen waar de belastingdienst zelf misschien nog nooit van heeft gehoord. Hetzelfde geldt als je een oudere versie van Linux draait op x86, waar de ABI niet compatible is met de nieuwere Linux waarvoor het aangifteprogramma is gecompileerd.

    Daarbij komt ook dat je nu afhankelijk bent van de belastingdienst om in hun software de bibliotheken die ze gebruiken up-to-date te houden. Doen ze dat niet netjes, dan draai je mogelijk software met bekende beveiligingslekken. Als je de source hebt kun je het compileren tegen de nieuwste versies van die bibliotheken (mits ze nog source-compatible zijn).

    Dus ja, open sourcen heeft zin 🙂

  11. @bona fides: “waar we het misschien wel over eens kunnen zijn is dat in het algemeen een licentie bij eenzijdige rechtshandeling k?n worden verleend. Dit is de redenering via toestemming als rechtvaardigingsgrond bij OD, en daarvoor staat vast dat toestemming een eenzijdige rechtshandeling is, die onder voorwaarden kan geschieden.” Ik accepteer inderdaad dat je eenzijdig toestemming kunt geven, waar mensen al of niet gebruik van kunnen maken.

    Ik heb alleen heel veel moeite met het idee dat je elke willekeurige voorwaarde zou kunnen verbinden aan die toestemming.

    Jouw redenering gaat tenslotte in principe ook op voor elk ander recht. Neem bijvoorbeeld het eigendomsrecht. Ik kan jou toestemming geven mijn huis te betreden en daar gedurende een zekere tijd te verblijven, en zelfs om meubels te plaatsen. Daar kan ik de voorwaarde aan koppelen dat jij me elke maand 750 euro moet betalen. Zolang je dat doet, verblijf jij er met toestemming, maar zodra je niet meer betaalt, handel je onrechtmatig door huisvredebreuk te plegen. Heb ik nu de dwingendrechtelijke huurbescherming omzeild? Ik mag toch hopen van niet.

    Je lijkt zelf ook al te vinden dat een tegenprestatie naar de gever van de toestemming een overeenkomst oplevert. Maar waarom? Er mist dus een element in je redenering dat verklaart waarom “geef mij 750 euro” wezenlijk anders is dan “geef Greenpeace 750 euro”. Naar Amerikaans recht zou dat de consideration zijn, maar die eis voor een rechtsgeldige overeenkomst kennen wij niet.

    @Peter Bex: mijn zorg is dat weinig mensen de energie en kennis zullen hebben om het aangifteprogramma te porteren of te updaten. Je moet niet alleen programmeerkennis maar ook kennis van het Nederlands belastingrecht hebben. Stel dat je port ergens een bug introduceert waardoor je aangifte verkeerd overkomt. Dat kun je moeilijk testen (tenzij de Belastingdienst ook een server open source maakt). Dus dan blijft validatie over. En dat is toch riskant. “Beware of the above code. I have only proven it correct, not tested it.”

  12. Dat loopt wel los, Arnoud. De algorithmes die de aangifte “flow” door de formulieren regelt en de berekeningen maakt (dit zijn de belangrijkste dingen, en ook de dingen die het makkelijkst te verprutsen zijn) staan los van de omgeving waarin het moet draaien. Incompatibiliteit tussen operating systems zit hem juist in de verschillende I/O functies en dingen als het grafische systeem (de toolkit die je gebruikt).

    Overigens, van echt “porten” is zelden sprake als je een Linux programma slechts wil compileren voor een van de BSD’s, Plan9 (via de POSIX compat laag) of Solaris, bijvoorbeeld. (onder de voorwaarde dat de applicatie niet al te veel aannames maakt of Linux-specifiek is) De beschikbaarheid van de source is dan vaak voldoende, dan kun je het gewoon hercompileren tegen de bibliotheken van jouw systeem.

    Over testen gesproken, ik mag eigenlijk wel hopen dat de Belastingdienst een uitgebreide test suite heeft gemaakt voor hun applicatie! Ook de programmeurs van de Belastingdienst kunnen fouten maken, en deze software is zo kritisch dat ze zich fouten niet kunnen veroorloven.

  13. Voor het fiscaal-juridische deel van het aangifteprogramma zal de Belastingdienst het onderhoud moeten blijven doen; er zijn weinig anderen die dat over kunnen nemen. Als we het aangifteprogramma als geheel bekijken is het niet te hergebruiken buiten Nederland. Het “framework” van het aangifteprogramma: Formuliercompositie door het presenteren van invoerblokken, validaties en beveiligd oversturen van de formuliergegevens lijkt mij herbruikbaar in tal van omgevingen. Dat deel is in mijn ogen de kandidaat voor Open Source, waarbij meerdere partijen kunnen samenwerken aan de functionaliteit van het framework.

  14. @Arnoud: je woontoestemming is een leuk voorbeeld, maar omzeilt nog niet de huurbescherming. Toestemming via een eenzijdige rechtshandeling om gebruik te maken van de woning is niet exclusief, dus de eigenaar zou zelf nog gebruik kunnen blijven maken van de woning en ook anderen toestemming kunnen geven.

    Zodra de eigenaar belooft dat je exclusief gebruik mag maken van de woning is het meer dan toestemming.

    Het verschil tussen geef mij en geef Greenpeace is dat je bij “geef mij” die betaling als een verklaring inhoudende aanvaarding kunt uitleggen, en ook het “geef mij” en “geef greenpeace” kun je anders uitleggen. Bij betaling aan de persoon die je iets belooft zul je vrij snel gerechtvaardigd kunnen vertrouwen dat je een overeenkomst hebt, zeg maar. Maar het hoeft niet per se een overeenkomst te zijn.

    Bij het GPL kom ik op een eenzijdige rechtshandeling vooral wegens de wijze van distributie. Ik zie niet hoe het een echte aanbod-aanvaarding overeenkomst kan zijn. Overigens zien de Duitsers de GPL blijkbaar als een eeuwigdurend aanbod dat je misschien ooit eens aanvaardt, maar precies heb ik dat nog niet uitgezocht. Misschien is zo’n constructie ook in NL werkbaar, maar het geeft een hoop gepuzzel.

    Juridisch geneuzel, maar het is volgens mij niet zonder praktisch belang.

Geef een reactie

Handige HTML: <a href=""> voor hyperlinks, <blockquote> om te citeren, <UL>/<OL> voor lijsten, en <em> en <strong> voor italics en vet.