Open-source licenties

2019 December 98 min read
Joep van de Laarschot

Bij jodiBooks willen we iedereen hun vrijheid teruggeven. Niet meer urenlang lopen klooien met moeilijke software en onduidelijke formulieren. Je moet zo min mogelijk tijd kwijt zijn met al die verplichte extra's om je werk heen. Die vrijheid gaan wij je teruggeven door makkelijk te gebruiken software te maken. jodiBooks Beauty is daar het eerste voorbeeld van.

Doordat wij de software maken die jouw leven makkelijker gaat maken, hoef jij je ook niet druk te maken over allerlei licenties. Ons doel is dat jij straks nog maar een "licentie" hebt: een abonnement op jodiBooks ;).

Over alles wat we in dit artikel gaan vertellen, hoef jij je dus eigenlijk helemaal niet te maken. Sterker nog, je kunt nu ook stoppen met lezen. Maar hoe leuk is het als je straks je websitebouwer de mond kunt snoeren met je nieuwe kennis!

Na dit artikel kun je weer lachen om je websitebouwer
Foto door Mateus Campos Felipe op Unsplash

Code en data

Software bestaat uit code en data. De data zijn bijvoorbeeld plaatjes, filmpjes en teksten. Wat hier belangrijk is om te onthouden is dat data in principe niet (uit zichzelf) wijzigt. Het plaatje blijft er altijd hetzelfde uitzien en de tekst op je website verandert niet uit zichzelf.

Om data te veranderen moet je code uitvoeren. Code is de instructie, het recept, die de computer vertelt wat er met de data moet gebeuren. Waar moet het plaatje op het scherm komen? Hoe moet de tekst weergegeven worden? Moet het plaatje aangepast worden? Als de gebruiker iets doet, welke data moet ik dan weergeven en opslaan?

Die code wordt geschreven door programmeurs. Zij bedenken hoe je de computer kunt laten doen wat jij wilt. Vervolgens wordt die code weer gebruikt door andere programmeurs om hun werk makkelijker te maken. Die code wordt weer gebruikt door andere programmeurs en uiteindelijk gebruik jij een app op je telefoon.

Op dat moment maak jij allang niet meer gebruik van code van maar één programmeur of één team programmeurs of zelfs één enkel bedrijf. Iets waar jij waarschijnlijk helemaal niet bij stilstaat en dat hoeft ook niet. Wat kan mij het schelen wie het wiel onder mijn auto heeft gemaakt. Zolang het maar rolt.

Wat maakt het uit wie het wiel maakt, als het maar werkt
Foto door Goh Rhy Yan op Unsplash

Closed vs open-source software

Die programmeurs moeten er echter wel rekening mee houden. In software heb je namelijk grofweg twee soorten licenties: closed-source (gesloten) software en open-source (open) software. Afhankelijk van de licentie mag je de software wel of niet zomaar overnemen en moet je er wel of niet voor betalen.

Closed-source software is meestal, maar niet altijd, betaalde software dat door een bedrijf gemaakt wordt. Dat de software "closed-source" is, betekent dat alleen dat bedrijf de code kan zien. Wij als gebruikers zien alleen het resultaat van die code (de app of website). Een voorbeeld is de software van Apple. Alleen Apple (en zijn programmeurs) weten hoe die code eruitziet.

Open-source software daarentegen is open. Iedereen kan de code bekijken en dus leren hoe de software werkt. Maar, hier wordt het ingewikkeld. Afhankelijk van het type licentie dat aan de open-source code hangt, mag je de code wel of niet aanpassen, wel of niet delen, wel of niet commercieel gebruiken en nog meer nuances.

Wij maken ons eigen werk makkelijker en daarmee ook jouw werk.
Foto door Kevin Ku op Unsplash

Misverstanden over open-source

Er zijn een paar misverstanden over open-source, die het gesprek op een verjaardag altijd een beetje awkward maken. Je kent het wel, iemand probeert je te imponeren met veel woorden over iets, maar je voelt gewoon dat er iets niet klopt aan het verhaal. Gelukkig heb je nu de kennis om hem te verbeteren.

1: Open-source software is gratis

Meestal is dit zo, maar het hoeft niet. Je kunt bijvoorbeeld ook betaalde abonnementen afsluiten waarbij je ondersteuning krijgt of waarbij dat bedrijf jou ontzorgt. In het dagelijks leven zul je dit niet veel tegenkomen. Het enige voorbeeld dat ik kan verzinnen is WordPress. WordPress is open-source, maar waarschijnlijk betaal je er toch voor omdat je je website ergens gehost wilt hebben.
Open-source software is dus niet per se gratis. En gratis software is niet per se open-source. Er bestaat ook zoiets als free-software. Free-software kan ook closed-source zijn.

2: Software is closed- of open-source

Was het maar zo simpel. Naast closed en open-source is er ook zoiets als "source-available". Dat betekent dat iedereen de code kan bekijken, maar er niks mee mag doen. Dat recht heeft alleen het bedrijf dat eigenaar is van de code.

3: Iedereen mag aan open-source werken

In theorie mag iedereen de open-source code lezen, gebruiken en aanpassen. Maar... omdat het een enorme bende wordt als iedereen maar dingen gaat lopen aanpassen, is er meestal een iemand (persoon, groep of bedrijf) die de code beheert. Zij beslissen wat er wel en niet gewijzigd wordt.
Dus ja, iedereen mag eraan werken, maar niet iedere bijdrage wordt geaccepteerd.

Men programming
Foto door Hello I'm Nik op Unsplash

4: Open-source heeft alleen maar voordelen

Meestal is open-source software gratis te gebruiken. Dat is natuurlijk een enorm voordeel. Zeker voor de gemiddelde computer hobbyist. Een ander voordeel is dat in theorie enorm veel mensen gratis hulp kunnen bieden. Programmeurs zijn vaak intrinsiek gemotiveerd om software te maken en verbeteren en helpen dus graag collega's uit de brand met advies, controles of programmeerhulp.

Maar, er zitten ook nadelen aan open-source. Omdat niemand betaald wordt, is ook niemand echt verplicht om alles netjes bij te houden, goede documentatie te schrijven en te testen met andere software.

5: Open-source mag je altijd gebruiken

Doorgaans mag je open-source software altijd wel gebruiken als je het niet commercieel gebruikt. Als je de software als bedrijf gaat gebruiken en vooral als je er als bedrijf op een of andere manier geld aan gaat verdienen, dan kan het zijn dat je de software niet eens mag gebruiken. Om dit zeker te weten zul je de bijbehorende licentie moeten lezen.

Soorten open-source licenties

Nu wordt het echt "leuk" (*sarcasm alert*). Er zijn namelijk ontzettend veel verschillende licenties. Allemaal met net weer andere rechten en plichten. Sterker nog, iedereen mag zijn eigen licentie schrijven. Het is echter makkelijk om een bestaande (open) licentie te gebruiken. Dan weet je zeker dat het juridisch in orde is.

Veel gebruikte open-source licenties zijn bijvoorbeeld: MIT, Apache, BSD, GPL of ISC. Er zijn er dus nog meer, maar laten we het simpel houden en ze grofweg indelen in 2 groepen:

  1. Copyleft
  2. Permissive license

1: Copyleft

Copyright betekent dat je code closed-source of source-available is. Dat wil zeggen dat het niet gekopieerd of verspreid mag worden zonder toestemming van de eigenaar.

Copyleft is ongeveer het tegenovergestelde. De source-code is dan openbaar en mag zoveel en zovaak aangepast worden als je wilt. Er is maar 1 voorwaarde: jouw versie moet ook copyleft zijn (vaak dus jouw hele software). Voorbeelden zijn de GPL licenties.

2: Permissive

Bij een "permissive" licentie mag bijna alles. De voorwaarde is doorgaans dat je de code mag hergebruiken en er geld aan mag verdienen, zolang je de originele code maar noemt (MIT, Apache). Dit kan in de code zelf met commentaar of in je documentatie. Meestal staat er een lijst in een 'about' scherm of in de handleiding. Een andere voorwaarde kan zijn dat je de originele licentie moet opnemen in jouw documentatie (BSD, ISC).

open-source initiative logo

Wat doet jodiBooks?

Om gebruik te kunnen maken van onze software, zul je een abonnement moeten afsluiten. jodiBooks Beauty is dus closed-source. Maar, we maken zelf wel gebruik van open-source code. Als dat niet mogelijk was geweest, hadden we jodiBooks Beauty niet kunnen maken. Zowel voor het dashboard, de website als de app maken we gebruik van open-source software.

Daar zijn wij alle programmeurs die een permissive licentie toepassen heel dankbaar voor. En dat willen we graag laten zien. In de app kun je binnenkort dus een overzicht van alle gebruikte software terugvinden. Voor het dashboard hebben we dat nog niet, maar in de vernieuwde handleiding wordt hier ook plek voor ingericht.

Dan blijft natuurlijk de vraag of jodiBooks zelf ooit open-source wordt. Voorlopig niet, maar het kan goed zijn dat we "als we later groot zijn" wel gaan bijdragen aan de gebruikte software. We kunnen dan iets terug doen, door te helpen met onderhouden of toevoegen van nieuwe code.