We vieren 30 jaar Linux: mogelijk gemaakt door de GPL

Abonneer je gratis op Techzine!

Als je dertig jaar geleden de hitsingle Losing My Religion van R.E.M. wilde kopen, moest je naar de platenzaak. Vandaag de dag kan je vrijwel alle muziek, inclusief videoclip, direct op je telefoon beluisteren. Dat is mede mogelijk door twee belangrijke gebeurtenissen in 1991: de release van de Linux-kernel en de tweede versie van de GNU General Public License (GPLv2).

Veel technologieën waar we vandaag de dag van afhankelijk zijn, komen voort uit Linux en de GPLv2. Reden temeer om daar eens op terug te blikken. Om te beginnen de GPL: dit is feitelijk een licentie die specificeert wat je wel en niet mag doen met een werk. Dat kan een stuk software zijn, maar ook iets als documentatie.

Het bijzondere van de GPL (en andere FOSS-licenties) is dat het auteursrecht wordt gebruikt om de rechten van gebruikers te maximaliseren, in plaats van de meer gangbare aanpak waarbij het auteursrecht juist wordt gebruikt om te beperken wat mensen mogen doen met software of andere werken. De meeste licentieovereenkomsten voor eindgebruikers (EULA) staan dan ook vol met dingen die je niet mag doen. Denk aan het delen van de software, of het gebruik op meer dan één machine, of soms zelfs maar op één type machine. De GPL is daarentegen bedoeld om specifieke rechten te geven aan de ontvangers van een werk, om te beschermen wat GNU-oprichter Richard Stallman ‘the four freedoms’ noemde.

De vier vrijheden van de GPL

Vrije software geeft vier ‘freedoms’ aan gebruikers: De vrijheid om een werk te gebruiken, te kopiëren, te bestuderen/verbeteren en te verspreiden. Als je dus een programma krijgt dat onder de GPL valt, mag je het zonder beperkingen gebruiken, kopiëren voor een vriend, eraan sleutelen en verbeteren, en je mag die wijzigingen ook weer verspreiden. Software verspreiden onder de GPL brengt ook wat extra verantwoordelijkheden met zich mee.

Linus Torvalds is de originele ontwikkelaar van de Linux kernel

Gebruikersrechten met de GPL

De GPL is een van de vele free en open source (FOSS) licenties. Het Open Source Initiative heeft een lijst van meer dan honderd licenties die aan de open source-definitie voldoen. Let hierbij ook op het verschil tussen ‘free’ en ‘open source’. De GPL is met name interessant doordat het ook wel een wederkerige licentie wordt genoemd. Dit houdt in dat dezelfde rechten die je onder de GPL hebt gekregen ook weer worden doorgegeven aan degenen aan wie je het werk distribueert. Je kan dus geen software ontvangen onder de GPLv2, zoals de Linux kernel, wijzigingen aanbrengen en het werk vervolgens onder een andere, meer beperkende licentie, verder delen. De GPL moedigt het gebruiken, bestuderen, wijzigen en verspreiden van software juist aan, in plaats van het te beperken.

Permissive vs. copyleft licenties

FOSS-licenties worden vaak getypeerd als ‘permissive’ of ‘copyleft’. Bij copyleft-licenties ben je verplicht de wijzigingen van software beschikbaar te stellen bij de verdere distributie onder de GPL of andere wederkerige licenties. Deze eis geldt alleen wanneer software onder de GPL wordt verspreid, niet als er alleen wijzigingen worden aangebracht. Als je dus alleen voor eigen gebruik aan de software sleutelt, maar het niet verspreidt, ben je ook niet verplicht om die wijzigingen te verspreiden of op een andere manier aan anderen beschikbaar te stellen.

‘Permissive’ licenties, aan de andere kant, staan distributie toe zonder het delen van wijzigingen. De MIT-licentie staat zelfs verspreiding onder een propriëtare licentie toe, maar vereist wel de oorspronkelijke copyright-melding.

De Linux-kernel is het hart

Wat hebben die licenties nu te maken met het succes van de Linux-kernel? Laten we eerst een stapje terug doen en bespreken wat de kernel wel en niet is. Het is de kern van het besturingssysteem, dat op een zeer hoog niveau zaken als de hardware, processen en geheugen beheert. De kernel is van vitaal belang voor het totale besturingssysteem.

Daarnaast vormen veel andere dingen bij elkaar een zogeheten Linux-distributie, zoals de GNU-hulpprogramma’s en compilers. Die waren al beschikbaar via het GNU-project en die hebben geholpen bij de initiële ontwikkeling van Linux. En natuurlijk zijn er applicaties die het besturingssysteem compleet maken en een computer de moeite waard maken om te gebruiken, van webservers en databases tot gebruikersdesktops.

De kernel is het hart van dit alles, en de reden dat Linux misschien wel het meest succesvolle besturingssysteem aller tijden is. Dit is te danken aan het feit dat de licentie kopiëren, verbeteren en distribueren toestaat en het delen van wijzigingen vereist. De eerste versie van de Linux-kernel werd nog uitgebracht onder een licentie die commerciële activiteit beperkte, maar Linus Torvalds bracht in 1992 Linux 0.99 uit onder de GPLv2-licentie. In Torvalds’ eigen woorden: “het werd snel duidelijk dat mijn oorspronkelijke copyright zo beperkend was dat het sommige geldige toepassingen verbood… En hoewel ik in het begin nerveus was over de GPL, wilde ik ook mijn waardering laten blijken voor de GCC C compiler waar Linux van afhankelijk was, die uiteraard ge-GPL’d was.”

Door de beperkingen op commercieel gebruik weg te nemen, opende Torvalds de deur voor bedrijven om Linux te verbeteren en te distribueren. Dit betekende dat wederverkopers geld konden verdienen door Linux te verpakken en te verkopen in combinatie met boeken of tijdschriften en tal van andere methodes.

Belangrijk om te vermelden is dat de distributie van software in de vroege jaren negentig heel anders was dan vandaag. Software werd vooral verkregen op diskettes of cd-roms. Sommige mensen konden software downloaden via FTP, maar dat duurde lang en was voor de meesten lastig.

De rol van de GNU General Public License

Door de wederkerigheid van GPLv2 konden Linux-distributeurs hun wijzigingen aan de kernel niet (legaal) achterhouden. Dit stimuleerde (sommigen zouden ten onrechte zeggen: forceerde) het delen van wijzigingen met de upstream-community in plaats van het ‘forken’ van de kernel voor specifieke distributies.

In dezelfde periode dat Linux voor het eerst werd uitgebracht, werd een poging gedaan om een ander besturingssysteem geschikt te maken voor standaard x86 pc’s, genaamd 386BSD. Dat werd in 1993 geforkt naar FreeBSD en NetBSD, en in 1995 volgde OpenBSD.

Terwijl Linux-projecten en verkopers zich concentreerden op een enkele Linux-kernel, ging de ontwikkeling van BSD in verschillende richtingen. Toegegeven, dit is een sterk vereenvoudigde weergave van alle factoren die meespeelden in het succes van Linux en de evolutie van veel, minder succesvolle, BSD-gebaseerde besturingssystemen. Maar de GPL was absoluut een succesfactor voor Linux, al was het zeker niet de enige.  Linux had bijvoorbeeld ook gedeelde ‘libraries’,  in tegenstelling tot BSD. Dit was van groot belang in een tijd waarin de gemiddelde harde schijf slechts 40 MB groot was.

UNIX-achtig, zonder het prijskaartje

De prijs speelde ook een rol. De BSD’s waren gratis, maar de gesloten UNIX-besturingssystemen waren dat beslist niet. In die tijd betaalde je 150 dollar voor een kopie van een boxed Minix waar je vervolgens weken op moest wachten.

Stephen Smoogen, een Linux-gebruiker van het eerste uur en Red Hat-medewerker, werkte met UNIX toen hij met Linux begon, maar vond de prijs nogal hoog. “Ik had ongeveer vier jaar UNIX gebruikt, en de kosten van een werkstation lagen rond de 16.000 dollar.”

Niet echt betaalbaar voor thuisgebruik, maar Smoogen wilde niet de MS-DOS- en Windows-route bewandelen. “Ik had DOS en Windows wel eens geprobeerd, maar vond de kracht van shellscripts, pipes en GCC-tools te mooi om daar naar terug te keren.”

Gelukkig was dat niet nodig, want de hardware waar Linux op draaide was veel betaalbaarder. “Met Linux op mijn i386 kon ik alle tools en commando’s gebruiken die ik op UNIX gebruikte, maar voor ongeveer $1.600.”

Red Hat komt in beeld

De eerste Linux-kernelcode werd in 1991 vrijgegeven, maar Red Hat ontstond pas zo’n twee jaar later. Marc Ewing creëerde zijn eigen Linux-distributie en bracht in oktober 1993 de beroemde Halloween Red Hat Linux release uit. In diezelfde periode verkocht Bob Young Linux- en UNIX-software via een bedrijf genaamd ACC Corporation. In 1995 kwamen de twee samen als Red Hat Software, met Young als CEO. Red Hat Linux (nog niet Red Hat Enterprise Linux) werd aanvankelijk verkocht als een product in doos via online verkopers en fysieke winkels. Gebruikers konden Red Hat Linux (en andere distributies) krijgen via bedrijven als Linux Mall, die het verkochten op Linux CD’s, inclusief Red Hat Linux, voor $0.99 plus verzendkosten. Maar ook konden ze gewoon kopieën krijgen van hun vrienden. Zonder de mogelijkheid om Linux vrij te kopiëren en te distribueren, was het Linux-besturingssysteem waarschijnlijk nooit zo populair geworden.

Hier zijn we dan, 30 jaar na de creatie van een hobby-kernel door een student en de publicatie van een revolutionaire softwarelicentie. Los van elkaar waren de licentie en de kernel misschien slechts voetnoten geweest naast besturingssystemen als Minix of de langverwachte GNU Hurd besturingssysteem kernel. Maar samen hebben ze een vuur ontstoken dat tot op de dag van vandaag brandt.  

Linux wordt zelfs op Mars gebruikt

De Linux kernel is inmiddels overal, van Android-telefoons en de talloze diensten die je gebruikt om te bellen, sms’en, muziek te streamen, video’s te bekijken, spelletjes te spelen en nog veel meer. Linux draait op de allergrootste systemen als de TOP500 supercomputers, publieke clouds en de renderfarms van filmstudio’s. Maar ook op de kleinste van Raspberry Pi single board computers en en Chromebooks tot set-top boxes en smart tv’s. En laten we ook even stil staan bij het feit dat Linux zelfs wordt gebruikt op de planeet Mars. Dat is niet slecht voor een besturingssysteem dat oorspronkelijk door een student als hobby werd ontwikkeld. Wie weet wat Linux ons de volgende 30 jaar nog allemaal gaat brengen?

Dit is een ingezonden bijdrage van Joe Brockmeier, editorial director bij Red Hat