ERP Open software pakketen

Digitale GPS assessment
ERP Open software pakketen

Open source of open bron beschrijft de praktijk die in productie en ontwikkeling vrije toegang geeft tot de bronmaterialen (de source) van het eindproduct. Voordat de term open source algemeen in gebruik werd genomen, was er een breed scala aan uitdrukkingen om het concept te beschrijven.

Open source software is meer dan zomaar gratis software. Het omvat een geheel andere, open manier van software ontwikkelen. Daarbij kleven er een aantal juridische aspecten aan het gebruik.

Open source software is de verzamelnaam voor programma’s die zijn geschreven met een programmeertaal. Bijvoorbeeld C++, of .Net van Microsoft of Visual Basic (idem), Java (SUN), Pascal of php, een open source programmeertaal.

De broncode van open source software is vrij. Dat betekent dat deze beschikbaar en aanpasbaar is. Open source software is aantrekkelijk voor ontwikkelaars en systeembeheerders, overal ter wereld. Ze kunnen in de broncode van open source verbeteringen aanbrengen of aan allerlei uitbreidingen werken, die ten goede komen aan de community.

Community

De gemeenschap van ontwikkelaars, testers en kritische gebruikers die de software doorontwikkelen heet ‘community’. Zij staan met elkaar in contact via mailinglists, waarop ze kennis en informatie uitwisselen. Linux is op dezelfde ontwikkeld. Bij het installeren van open source software maak je deel uit van zo’n community. Dat houdt in dat je gebruik kunt maken van ieders verbeteringen die zijn aangebracht en vrijgegeven. Je aanpassingen kunnen ook door anderen worden gebruikt. Dit is afhankelijk van de licentievorm, die op je software van toepassing is.

Leider

Open source betekent niet dat iedereen maar wat aanrommelt. Vaak is er een ontwikkelaar die als leider optreedt en de strategische richting bepaalt. Het ontwikkelaarsteam maakt een projectplanning en zet de stappen uit. Dat plan wordt openbaar gemaakt, zodat iedereen kan zien in welk stadium een project verkeert, wat er op stapel staat en wanneer de uitvoering is gepland. Een beperkte kring van programmeurs test de alfaversies die na elke fase onstaan. De daaropvolgende betaversie wordt ruimer verspreid onder gebruikers. In de uiteindelijke versie zijn er geen veranderingen meer mogelijk.

Open standaarden

Open source is niet hetzelfde als open standaarden. Open standaarden, zoals CSS, TXT, FTP, SIP, PHP, HTML en XML zorgen ervoor dat programma’s makkelijker met elkaar kunnen samenwerken. Het grote voordeel daarvan is dat je niet gebonden bent één leverancier (of aan converteersoftware). Closed source kan dus heel goed gebaseerd zijn op open standaarden.

 

Open source software-licenties

De bekendste open source licenties zijn:

  • De BSD license,
  • De GNU General Public License (GPL),
  • De GNU Library of Lesser General Public License (LGPL), and
  • De Mozilla Public License (MPL).

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, 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.

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

  • De software wordt zonder enige vorm van garantie beschikbaar gesteld.
  • Ondersteuning wordt alleen op vrijwillige basis aangeboden.
  • Naleving van de licentie is soms lastig, omdat de gestelde voorwaarden soms ongebruikelijk zijn voor wie commerci�le licenties gewend is.

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.