Open Source: virus of vaccin?
Open source is een verzamelnaam voor alle soorten software waarvan de broncode vrijelijk ter beschikking gesteld wordt. Iedereen mag aanvullingen of verbeteringen maken voor de software en deze verder verspreiden. Omdat veel open source kwalitatief hoogstaande code is die gratis en zonder restricties beschikbaar is, gebruiken steeds meer bedrijven, waaronder ook hardware-fabrikanten, open source voor commerciële projecten om snel en gemakkelijk bepaalde functionaliteit te implementeren.
De voorwaarden uit open source licenties kunnen echter in sommige gevallen tot problemen leiden. Zo kan men verplicht zijn de broncode van een commercieel product vrij te geven als dat gebaseerd is op open source. Ook kunnen octrooien op functionaliteit uit die open source onder voorwaarden waardeloos worden.
Inhoudsopgave
Software-licenties
Wie een computerprogramma schrijft, heeft daar automatisch het auteursrecht op. De auteur kan controle uitoefenen over het kopiëren, gebruiken, en aanpassen van zijn computerprogramma door derden. Om software beschikbaar te stellen aan anderen, moet de auteur toestemming geven voor datgene wat hij wil dat die anderen ermee kunnen doen. Dit heet een licentie. Een licentie is een gewone overeenkomst waarin de auteur toestemming verleent voor bepaalde handelingen, en voorwaarden stelt waaraan de gebruiker zich moet houden.
De licentie voor Microsoft Windows geeft de gebruiker bijvoorbeeld toestemming om de software op één pc te installeren, en heeft als voorwaarde onder andere dat de gebruiker Microsoft niet aansprakelijk kan stellen voor enige schade die voortvloeit uit het gebruik van Windows. Ook verleent de licentie geen toestemming voor het kopiëren of verder verspreiden van de software. En om de licentie te krijgen, moet de gebruiker betalen.
Een programma wordt meestal in de vorm van uitvoerbare (machine)code verspreid. Deze vorm is voor een computer bruikbaar, maar voor een mens niet. Een programmeur heeft de broncode nodig om de werking van de software te kunnen achterhalen en om er wijzigingen of aanvullingen op te maken. Omdat het met de broncode wel heel makkelijk wordt om een programma na te maken, houden de meeste commerciële leveranciers hun broncode strikt geheim. Zo zijn zij de enigen die fouten kunnen repareren en verbeteringen of uitbreidingen kunnen introduceren (uiteraard tegen vergoeding).
Open source software
Open source heeft een andere benadering. De software is vrij beschikbaar voor iedereen, inclusief broncode. De licentie verleent iedereen toestemming om de broncode aan te passen of uit te breiden, bijvoorbeeld om fouten te repareren, om een effici�ntere implementatie te maken of om geheel nieuwe functionaliteit toe te voegen. Ook mag de software, al dan niet in gewijzigde vorm, vrijelijk verspreid worden. De auteur vraagt hier geen geld voor. De software staat gratis beschikbaar op Internet. Sterker nog, iemand die de open source software van een ander verkoopt, mag de opbrengst geheel zelf houden.
Alhoewel er dus geen geld gevraagd wordt voor het gebruik of de verspreiding van open source software, stellen de licenties vaak wel bepaalde voorwaarden. Zo ben je bij sommige licenties verplicht om de naam van de auteur (al dan niet in de vorm van een copyright notice) te vermelden als je het werk verspreidt of in een commercieel product opneemt. Andere licenties eisen dat de broncode van het werk altijd meegeleverd moet worden, of op zijn minst ter beschikking moet worden gesteld door de leverancier van het werk. Vrijwel altijd ben je verplicht om wijzigingen die je maakt duidelijk te markeren of in aparte bestanden op te nemen. Ook is het soms verplicht om aangepaste versie van het werk een andere naam te geven. Zo kan er geen verwarring ontstaan over wat nu de "offici�le" versie is.
GNU General Public License
De bekendste open source licentie is de GNU General Public License (GPL). Zo'n 80 procent van de open source wordt aangeboden onder de voorwaarden van deze licentie. Het gebruiken, kopiëren en verspreiden van software onder de GPL is altijd toegestaan. Ook het aanpassen van deze software, of zelfs het ontwikkelen van een eigen software-pakket dat gebruikmaakt van bijvoorbeeld een bibliotheek onder de GPL is geen probleem. Echter, wordt zo'n pakket op de markt gebracht, dan moet het gehele pakket onder de GPL aangeboden worden, zonder verdere restricties voor de ontvanger. Ook moet de broncode van het gehele pakket vrijelijk beschikbaar gesteld worden. De ontvanger mag dus nu het gehele pakket vrijelijk gebruiken, aanpassen, uitbreiden, kopi�ren en verder verspreiden zonder dat hij hiervoor de leverancier hoeft te betalen. Hij mag het pakket ook in aangepaste vorm verspreiden, mits ook hij dat maar doet onder de GPL.
Het is overigens niet verplicht om aangepaste of uitgebreide versies op de markt te brengen. Wie priv� of intern binnen zijn bedrijf een wijziging aan een pakket onder de GPL doorvoert, mag die wijziging geheimhouden. Pas op het moment dat hij het gewijzigde pakket op de markt gaat brengen, bijvoorbeeld door het pakket op een publieke website te zetten of in een product te verwerken, is hij verplicht het pakket inclusief broncode onder de GPL te leveren.
Juridisch heet een dergelijke constructie een "ketenbepaling": de auteur legt de licentienemer een voorwaarde op die deze op zijn beurt aan diens klanten op moet leggen. Dit is niet ongebruikelijk. Zo verplichten fabrikanten van exclusieve parfums soms hun afnemers (de importeurs in bepaalde landen) om alleen aan bepaalde winkelketens te leveren, en de importeurs moeten de winkelketens op hun beurt verplichten om niet aan andere ketens door te verkopen. Op deze manier blijft het parfum exclusief. Toch heeft de ketenbepaling uit de GPL voor heel wat opschudding gezorgd. Met name Microsoft voert een harde campagne tegen het gebruik van deze licentie en waarschuwt iedereen voor de "virale" bepaling.
Een probleem met de GPL is namelijk dat niet duidelijk is gedefinieerd wanneer men nu zijn "eigen" werk onder de GPL moet verspreiden als dit gebruikmaakt van software onder de GPL. Als je broncode kopieert uit die software, is het duidelijk. Maar als je eigen programma simpelweg een programma onder de GPL aanroept, of een DLL gebruikt die onder de GPL valt? De meningen lopen hierover uiteen. Het wachten is dus op een rechtszaak om duidelijkheid te krijgen. Tot die tijd is het verstandig om de GPL conservatief uit te leggen, en er van uit te gaan dat ook het aanroepen van een bibliotheek onder de GPL ertoe leidt dat de eigen software onder de GPL valt.
Software-octrooien en open source
Bedrijven met octrooien lopen nog een ander risico bij gebruik van open source. Bepaalde licenties (zoals de IBM en Mozilla licentie) bepalen expliciet dat de gebruiker zijn octrooien op de software moet opgeven, anders vervalt zijn toestemming om de open source software te mogen gebruiken.
Ook de GPL heeft een dergelijke bepaling. Wie een pakket onder de GPL verspreidt, mag de ontvanger geen enkele beperking opleggen op de rechten uit de GPL. Een octrooihouder die een softwarepakket waarin zijn octrooi is bevat onder de GPL op de markt brengt, kan dat octrooi nu niet meer gebruiken tegen mensen die dat pakket verder verspreiden of verwerken in hun eigen producten. Dit vormt immers een beperking op de GPL en is dus niet toegestaan. Een concurrent is dus vrij om dat pakket vervolgens in zijn eigen product te verwerken zonder een licentie te hoeven betalen aan de octrooihouder.
Conclusie
De voordelen van het gebruik van open source zijn legio. Gratis beschikbaar, toestemming voor bijna alle vormen van gebruik, en aangepaste of uitgebreide versies mogen vrijelijk verspreid worden. Wie open source gebruikt, moet zich echter wel bewust zijn van de licentievoorwaarden. Deze laten weliswaar veel toe, maar stellen ook bepaalde eisen waar je je aan moet houden. Deze eisen kunnen een risico vormen voor de "eigen" applicatie of de octrooiportefeuille van een bedrijf. Zorgvuldig toepassen van de licentievoorwaarden beperkt de risico's echter tot een minimum en bewaart de voordelen.