Wat is open source en wat mag je ermee?
Auteur: Redactie Domeny.ForSale Gepubliceerd
In het kort: Open source is software die beschikbaar wordt gesteld onder een licentie waarmee je de software onder bepaalde voorwaarden mag gebruiken, de code mag analyseren, aanpassen en verspreiden. Het betekent niet automatisch dat een dienst gratis is of dat er geen beperkingen gelden. De licentie bepaalt wat je met het programma mag doen, niet het enkele feit dat de code op internet staat.
Wat betekent open broncode?
Broncode bestaat uit de instructies van een programma, geschreven in een programmeertaal. Wie die taal kent, kan de code lezen. Toegang tot de broncode maakt het mogelijk om te controleren hoe een applicatie werkt, een fout te verhelpen of functies aan je eigen behoeften aan te passen. Bij gesloten software krijgt de gebruiker doorgaans een kant-en-klaar product zonder die rechten en zonder volledige toegang tot de broncode.
Open source betekent echter meer dan dat je de code kunt lezen. De licentie moet onder meer toestaan dat je de code aanpast en verder verspreidt, ook voor commerciële toepassingen. Een repository, de plek waar code en de wijzigingsgeschiedenis worden bewaard, kan openbaar zijn en toch een programma bevatten dat je niet vrij mag aanpassen of delen.
Voorbeelden van opensourcesoftware zijn de browser Firefox, het beeldbewerkingsprogramma GIMP en WordPress, een systeem voor het beheren van de inhoud van een website. Je hoeft geen programmeur te zijn om ze te gebruiken. De beschikbaarheid van de broncode is ook voor gebruikers van belang: je kunt een andere partij opdracht geven het programma verder te ontwikkelen of te repareren, mits je iemand met de benodigde deskundigheid vindt.
Open source, gratis software en betaalde diensten
‘Gratis’ zegt iets over de prijs, ‘open source’ over de rechten op de software. Een gratis applicatie kan gesloten broncode hebben en aanpassingen verbieden. Omgekeerd kan de maker van een opensourceprogramma kosten rekenen voor distributie, implementatie, onderhoud, aanvullende diensten of technische ondersteuning.
Een website op basis van WordPress is een goed voorbeeld. Het systeem zelf is opensourcesoftware, maar de domeinnaam, server, configuratie en het beheer van de website kunnen geld kosten. Ook gelden niet voor alle thema’s, plug-ins en bijbehorende diensten dezelfde voorwaarden als voor het basisprogramma.
Een eigen installatie geeft je meer controle over de omgeving, maar maakt je ook verantwoordelijk voor updates en back-ups. Een betaalde beheerde dienst kan een deel van die taken overnemen. Vergelijk daarom niet alleen de licentieprijs, maar de totale gebruikskosten van het hulpmiddel en de taken waarvoor de leverancier verantwoordelijk is.
Waarom is de licentie belangrijk?
Een licentie beschrijft de voorwaarden waaronder de maker toestemming geeft om het werk te gebruiken. Open source betekent niet dat de maker afstand doet van het auteursrecht. Informatie over je rechten vind je in het bestand LICENSE, de projectdocumentatie en de informatie die bij de betreffende versie van het programma wordt geleverd.
Twee veelvoorkomende groepen licenties verschillen vooral in de verplichtingen die gelden wanneer je code verder verspreidt:
- Permissieve licenties, zoals MIT en Apache 2.0, staan ruim gebruik van de code toe, ook in gesloten producten, zolang je aan hun voorwaarden voldoet. Die omvatten onder meer het behouden van de vereiste auteursrecht- en licentievermeldingen.
- Copyleftlicenties, zoals GPL, vereisen in bepaalde situaties dat je de broncode van het programma dat je verder verspreidt, of van de wijzigingen daarop, onder de voorgeschreven voorwaarden beschikbaar stelt. Welke verplichtingen gelden, hangt af van de licentie en van de manier waarop de code wordt gecombineerd en verspreid.
Alleen het gebruik van een programma onder GPL binnen een bedrijf betekent niet automatisch dat je eigen documenten of alle bedrijfssoftware openbaar moet maken. Het onderscheid tussen gebruiken, aanpassen en doorgeven aan anderen is belangrijk. Sommige licenties, zoals AGPL, gelden ook voor bepaalde situaties waarin een aangepast programma via een netwerk aan gebruikers beschikbaar wordt gesteld.
Dit is een algemene uitleg, geen individueel juridisch advies. Controleer voordat je code van anderen opneemt in een product dat je verkoopt de officiële tekst van de toepasselijke licentie en de licenties van de afhankelijkheden: de bibliotheken die het programma nodig heeft om te werken. Vraag bij twijfel advies over het voorgenomen gebruik.
Is open source veilig en wordt het onderhouden?
Openbare code maakt onafhankelijke controle mogelijk, maar bewijst niet dat iemand die controle daadwerkelijk heeft uitgevoerd. De veiligheid hangt onder meer af van de kwaliteit van het project, de reactie op foutmeldingen en het regelmatig installeren van reparaties. Een opensourceprogramma kan goed worden onderhouden of zijn verlaten, net als een gesloten product.
Ook wordt niet elk project door een grote gemeenschap ontwikkeld. Er kan een bedrijf, stichting, klein team of één persoon achter zitten. Als gebruiker krijg je niet automatisch gegarandeerde hulp of een termijn waarbinnen storingen worden opgelost. Zulke verplichtingen kunnen wel in een afzonderlijke ondersteuningsovereenkomst staan.
Bekijk vóór de implementatie de versiegeschiedenis, documentatie, beveiligingsmeldingen en de manier waarop meldingen worden afgehandeld. Het aantal mensen dat belangstelling heeft voor het project is geen vervanging voor die informatie. Als een programma volwassen is, hoeft het ontbreken van frequente nieuwe versies geen probleem te zijn. Geen reactie op ernstige fouten is wel een waarschuwingssignaal.
Hoe beoordeel je of een opensourcehulpmiddel geschikt is?
Stel dat je een systeem voor een bedrijfswebsite kiest. Open broncode biedt een concreet voordeel als je bijzondere functies nodig hebt, controle over de installatie wilt of van dienstverlener wilt kunnen wisselen. Heb je niemand die verantwoordelijk is voor het onderhoud, dan kan een dienst met duidelijk omschreven ondersteuning handiger zijn. Ook zo’n dienst kan op open source zijn gebaseerd.
Voer vóór je beslissing een korte test uit:
- Installeer een proefversie in een omgeving zonder klantgegevens en test de belangrijkste taak, bijvoorbeeld het publiceren van een aanbod.
- Controleer de licentie van het programma en van de benodigde uitbreidingen.
- Controleer of je gegevens kunt exporteren, een back-up kunt maken en die kunt terugzetten.
- Bepaal wie updates gaat installeren en storingen gaat verhelpen, en schat de kosten van dat werk.
Baseer je keuze op de testresultaten en de mogelijkheden om het programma te onderhouden, niet alleen op het etiket ‘open source’.
Zie ook: Wat is 2FA?
