Dwarsligger

OpenSource Gevaar of Kans

Categorieën
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.
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.

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 overeenkomst waarin de auteur onder bepaalde voorwaarden toestemming verleent voor bepaalde handelingen.
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.

Open source software
Open source heeft een andere benadering.
De software is vrijelijk 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 gekopieerd en 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.

Door de broncode vrijelijk ter beschikking te stellen, kunnen veel mensen bijdragen aan de ontwikkeling van de software.
Hierdoor komt men in zeer korte tijd tot sterk verbeterde en uitgebreide functionaliteit.
Naast de hoge kwaliteit en betrouwbaarheid is de vrije beschikbaarheid van de broncode ook een voordeel voor gebruikers.
Een gebruiker is op deze manier niet langer afhankelijk van de leverancier, maar kan zelf indien gewenst wijzigingen doorvoeren.
Wanneer de leverancier de ondersteuning stopzet, kan de gebruiker zelf de ontwikkeling of het onderhoud overnemen.
En dat de licentiekosten nul zijn, is ook mooi meegenomen, zeker voor Nederlandse bedrijven.

Open source software-licenties
Open source software is auteursrechtelijk beschermd.
Alhoewel er geen geld gevraagd wordt voor het gebruik of de verspreiding van open source software, stellen de licenties vaak wel bepaalde voorwaarden.
Zo is een gebruiker bij de meeste licenties verplicht om de naam van de auteur (al dan niet in de vorm van een copyright notice) te vermelden als hij 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 is de gebruiker verplicht om wijzigingen die hij maakt duidelijk te markeren of in aparte bestanden op te nemen.
Ook is het soms verplicht om een aangepaste versie van het werk een andere naam te geven.
Zo kan er geen verwarring ontstaan over wat nu de "officiële" versie is.

De bekendste open source licenties zijn:
De BSD license
De BSD licentie is een zeer eenvoudige en brede licentie.
Elk gebruik van de software is toegestaan, en verspreiding mag zowel in de vorm van broncode als in de vorm van objectcode.
Ook mag de software worden aangepast en in andere programma's worden verwerkt en aldus worden verspreid.

De enige eisen zijn dat de copyright notice en de uitsluiting van aansprakelijkheid hetzij in de broncode, hetzij in de documentatie van het werk gehandhaafd worden.
Verder is het niet toegestaan de naam van de auteur(s) te gebruiken om een afgeleid werk te promoten.

De GNU General Public License
De GNU General Public License (GPL) is de bekendste open source licentie.
Het gebruiken, kopieren 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.

De GPL bevat een zogeheten ketenbepaling die de distributeur van een werk dat gebaseerd is op een werk onder de GPL verplicht dit werk ook onder de GPL te verspreiden, 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.
De ontvanger mag het pakket ook in aangepaste vorm verspreiden, mits hij dat ook maar doet onder de GPL.
Wanneer iets "gebaseerd is op" wordt hieronder uitgebreider besproken.
Het is overigens niet verplicht om aangepaste of uitgebreide versies van een pakket onder de GPL 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.

De Library General Public License
De Library General Public License (LGPL) is een variant op de GPL, met name bedoeld voor bibliotheken (libraries of DLL's), programma's met functionaliteit die andere programma's kunnen gebruiken.
De LGPL staat het 'linken' van de bibliotheek met een programma toe zonder eisen op te leggen aan dat programma.
Wijzigingen aan de bibliotheek zelf mogen, net zoals wijzigingen aan een werk onder de GPL, alleen worden verspreid inclusief broncode en onder de voorwaarden van de LGPL.

De Mozilla Public License
Volgens de Mozilla Public License (MPL) verleent de auteur van een werk op grond van zijn auteursrecht en eventuele octrooien iedereen een wereldwijde, royalty-vrije licentie om het werk te gebruiken en te verspreiden.
Iedereen die een wijziging of andere bijdrage aan het werk verspreidt, moet dan dezelfde licentie verlenen voor zijn bijdrage en voor de combinatie van het werk met zijn bijdrage.
Het is alleen toegestaan om het (al dan niet gewijzigde) werk te verspreiden als de broncode tevens beschikbaar wordt gesteld.
Dit kan gebeuren door de broncode samen met de objectcode te verspreiden, maar ook door de broncode bijvoorbeeld op een website te plaatsen.
Integratie met een eigen applicatie is toegestaan, mits men het deel onder de MPL maar inclusief broncode bijlevert.

Risico's bij het gebruik van open source software
Alhoewel er duidelijke voordelen zijn bij de keuze voor open source software, zijn er ook nadelen.
Het belangrijkste risico is echter dat men onder omstandigheden verplicht kan zijn de eigen applicatie als open source uit te brengen wanneer deze open source software bevat.
Dit risico doet zich vooral voor bij de GPL, de populairste open source licentie.

Een product baseren op open source software
De GPL stelt dat men werken die gebaseerd zijn op een werk onder de GPL alleen mag verspreiden onder de GPL.
Het is echter niet duidelijk gedefinieerd wanneer dit nu het geval is.
Een simpele situatie is het overnemen (kopiëren) van broncode in de eigen broncode.
Statisch linken, het samenvoegen van verschillende modules tot één uitvoerbaar programma, lijkt ook onder dit criterium te vallen.
Maar als een bibliotheek (DLL) dynamisch wordt gelinkt tegen het eigen programma, is de situatie al een stuk minder duidelijk.
En met technieken als CORBA, RPC, sockets, plug-ins enzovoorts kan de situatie bijzonder complex worden.
De meningen over de interpretatie van de GPL lopen uiteen.
Een veelgehoord compromis is dat elke vorm van 'linken' de ketenbepaling inroept, maar samenwerking via bijvoorbeeld CORBA of RPC niet.
Hierbij moet wel worden opgemerkt dat het gebruik van dergelijke technieken puur om de ketenbepaling te omzeilen door rechters waarschijnlijk niet zal worden gewaardeerd.
De Library GPL en de Mozilla Public License (MPL) zijn minder problematisch.
Het is toegestaan om een "groter werk" te maken door het werk onder de MPL of LGPL te combineren met andere software.
Dit groter werk mag dan onder een licentie naar keuze worden verspreid, mits de voorwaarden van de MPL of LGPL maar worden nageleefd voor het werk dat men onder die licentie heeft gekregen.
In ieder geval moet dus de broncode van het betreffende deel beschikbaar worden gesteld, inclusief eventuele wijzigingen, en is een naamsvermelding van de auteurs hiervan verplicht.

Conclusie
Het gebruik van open source software biedt diverse voordelen, zoals de mogelijkheid om kosten en ontwikkeltijd te reduceren, of om de afhankelijkheid van een bepaalde leverancier te verminderen.
Het is dan ook te verwachten dat steeds meer bedrijven en instellingen gebruik zullen gaan maken van open source software.
Aan het gebruik van open source software is wel een aantal risico's verbonden.
Het is dus zaak de licentievoorwaarden zorgvuldig te bestuderen en een inschatting van de risico's te maken.
Zo is het bijvoorbeeld verstandig altijd te controleren of de eigen applicatie duidelijk gescheiden is van software onder de GPL.
En natuurlijk moet worden nagegaan of aan alle licentievoorwaarden van de gebruikte open source software wordt voldaan.
Door zorgvuldige toepassing van de licentievoorwaarden is het mogelijk maximaal profijt te hebben van open source software tegen minimale risico's.

© Arnoud Engelfriet.
Dit werk mag vrij worden verspreid en gepubliceerd zoals bepaald in de licentievoorwaarden.

Bron: Iusmentis / Arnoud Engelfriet op 03 februari 2017.

U bevindt zich in
home
Valid HTML 5.0 Valid CSS
© 2017 dwarsligger.org
overname met bronvermelding is toegestaan.
Pagina grootte: 19081 bytes.
Gemaakt met Ron's Webber versie 170217a.
Pagina gemaakt in 0.018 seconden,
Pagina aangepast op 11 March 2017 13:35:38.