Inleiding
Zonder dat veel mensen het daadwerkelijk beseffen, is het opensource besturingssysteem Linux diep in ons leven doorgedrongen. Denk aan je Android-smartphone of -tablet, die afhankelijk is van de Linux-kernel. Denk aan je settopbox of mediaspeler, waarvan de firmware is gebaseerd op opensource-software. Denk aan je router, die de datapakketjes dankzij Linux de goede kant opstuurt. En vergeet ook niet de talloze webservers - waaronder die van Tweakers.net - die je dagelijks informatie aanbieden.
Het verhaal van Linux, en dat van het volwassen worden van gratis en openbron-software, begon twintig jaar geleden met het werk van een Fin: Linus Torvalds. Tweakers.net blikt terug op de ontwikkeling van de Linux-kernel en het enorme ecosysteem dat daaromheen groeide.

Grenzen verleggen
In 1991 studeerde Linus Torvalds aan de Universiteit van Helsinki. Hij was destijds geïnteresseerd in opensourcesoftware, zoals het GNU-project. Met dat project wilde oprichter en MIT-professor Richard Stallman gedurende de jaren tachtig een gratis Unix-variant ontwikkelen.
Hoewel het GNU Project over een breed aantal softwaretitels beschikte, miste het project echter een solide kernel. De GNU-kernel die destijds werd gebruikt, Hurd, sloeg niet aan bij de opensource-gemeenschap.
Een ander project dat een gratis variant van Unix wilde uitbrengen, luisterde naar de naam Minix. Het Minix-project werd gecoördineerd door professor Andrew Tanenbaum van de Vrije Universiteit in Amsterdam. De eerste versie van dit OS werd in 1987 uitgebracht en was geheel opensource. De Minix-kernel had een microkernel-architectuur, wat wil zeggen dat de kernel alleen essentiële onderdelen bevat. Dit besturingssysteem was echter beperkt tot 16bits instructies; zo kon er niet meer dan 1 megabyte geheugen worden gebruikt.
Toen Intel in 1985 de 80386-processor op de markt bracht, kwam de eerste x86-processor voor het grote publiek beschikbaar die overweg kon met 32bit-instructies. Ook werd paging mogelijk dankzij de toevoeging van een memory management unit. Met de 80386 kon solide multitasking-software worden gebouwd.
De komst van 32bits x86-processors, het ontbreken van een goede kernel voor het GNU Project en de 16bit-beperkingen van de Minix-kernel, brachten Torvalds op het idee om een eigen kernel te bouwen. Daarbij moesten de nieuwe mogelijkheden van de 80386-processors - zoals het draaien van multithreaded code - volop benut worden.
De eerste aankondiging van het bestaan van Linux werd door Torvalds op 25 augustus 1991 gedaan in de nieuwsgroep comp.os.minix. Hij schreef dat hij zijn kernel op een 386-pc had gebouwd en dat hij was geïnspireerd door Minix. De Linux-kernel bevatte echter geen Minix-code, zo benadrukte de Fin in zijn posting.
Torvalds had al wel de GNU Project-shell bash en de GNU Compiler Collection naar zijn OS-in-de-dop geport. Verder sprak Torvalds de verwachting uit dat zijn creatie een bescheiden hobbyprojectje zou blijven, maar hij vroeg de opensource-gemeenschap wel om de nodige input. En die zou niet uitblijven.
In den beginne
Torvalds publiceerde de circa tienduizend regels broncode van de eerste kernel, versie 0.01, op de ftp-site van de universiteit van Helsinki. Hoewel Torvalds in eerste instantie voor de naam Freax koos, gaf de serverbeheerder de naam 'Linux' aan de code. Deze naam kreeg uiteindelijk de goedkeuring van Torvalds.
Vrij snel na de eerste Linux-release besloot Torvalds om zijn creatie te voorzien van de GNU GPL. Deze zogeheten copyleft-licentie, die onder de paraplu van het GNU Project was ontwikkeld om het vrije gebruik van code te garanderen, gaf iedereen het recht om de broncode naar wens aan te passen en te distribueren. Dat gold ook voor commerciële partijen, mits die hun aanpassingen maar weer aan anderen ter beschikking zouden stellen. Door het GPL-etiket op Linux te plakken onderschreef Torvalds het basisprincipe achter de GNU GPL, dat software alleen maar beter kan worden als deze vrij beschikbaar is.
De Linux-kernel werd door de vrije-softwarebeweging als een interessant project opgepikt. Vrijwel direct ontstonden de eerste Linux-distributies: ontwikkelaars bundelden opensource-programma's met de Linux-kernel en publiceerden het geheel. Een van de eerste 'distro's' was Slackware, dat nog steeds doorontwikkeld wordt: in april van dit jaar verscheen versie 13.37.
Er verschenen niet alleen distributies van vrijwilligers; ook commerciële partijen toonden interesse in het OS. Diverse serverversies van Linux wonnen snel aan populariteit, vooral dankzij de komst van Apache, een zeer krachtige opensource webserver. Dankzij deze software ontstonden bedrijven als Red Hat en Suse, die hun geld met name verdienden met het bieden van support. Suse werd later overgenomen door Novell, maar Red Hat is nog steeds een solide, zelfstandige onderneming. Geheel in de geest van de GNU GPL zijn er tot op de dag van vandaag volledig open varianten van deze distributies beschikbaar, respectievelijk Fedora en openSUSE.
Instituut
Bij de doorontwikkeling van de Linux-kernel ontstond een steeds grotere gemeenschap die code aandroeg en verwerkte in de steeds complexer wordende kernel. Nog altijd is Linus Torvalds de persoon die dit proces aanstuurt, maar er zijn inmiddels talloze ontwikkelaars die het handwerk voor hun rekening nemen.
Ook veel bedrijven dragen nieuwe code voor de kernel aan, waarbij met name Red Hat, IBM en Novell een grote rol speelden en spelen. Red Hat werd zelfs zo succesvol dat het een beursnotering kon aanvragen. Maar ook Microsoft droeg op den duur code bij, zoals onderdelen van zijn Hyper-V-virtualisatiesoftware.
Om het ontwikkelproces te formaliseren en bovendien Linux te promoten, is in 2007 de non-profit-organisatie Linux Foundation opgericht. Deze stichting is voortgekomen uit een fusie van de Open Source Development Labs en de Free Standards Group. Torvalds en zijn opensourcedevelopers werken vanuit deze groep verder aan de ontwikkeling van de Linux-kernel.
Het mag duidelijk zijn dat de ontwikkeling van Linux met zoveel bijdragen in een stroomversnelling kwam. Revolution OS, een documentaire uit 2001, gaf een boeiende blik op de vooruitgang van GNU, Linux en opensource-softwarebedrijven. Ons inziens is deze de moeite van het bekijken nog steeds meer dan waard.
Voor- en nadelen
Ondanks het succes van de Linux-kernel is er ook kritiek. Zo is de kernel door zijn monolithische ontwerp in de loop der tijden veel groter geworden, mede door het grote aantal drivers dat in de code is opgenomen. De huidige kernel telt meer dan 14 miljoen regels code. Uiteraard kan iedereen de voor hem of haar overbodige onderdelen verwijderen, maar het zelf aanpassen en compileren van een nieuwe kernel is niet erg triviaal.
Een belangrijke criticaster bleek Minix-voorman Tanenbaum. In een langlopende discussie, waarbij de gemoederen soms hoog opliepen, stelde Tanenbaum in 1992 dat een microkernel-architectuur superieur is aan een monolitisch ontwerp. In zijn optiek zou de Linux-kernel te zeer zijn gericht op de 'dure' 80386-architectuur en daarmee op den duur achterhaald raken bij de komst van nieuwe chiparchitecturen. Tanenbaum kwalificeerde de kernel dan ook als zijnde 'verouderd'.
Torvalds stelde daarop dat een microkernel misschien fraaier is, maar dat het Minix-ontwerp in zijn ogen essentiële zaken ontbeerde, zoals multithreading. Daarnaast wees de Fin er op dat Minix destijds niet gratis was, in tegenstelling tot zijn 'hobby- en studieproject' Linux.
Hoewel de discussie enige tijd doorliep, bleven de twee respectvol tegenover elkaar. In 2004 nam Tanenbaum het zelfs op voor Torvalds toen de Fin in een boek er van werd beschuldigd dat hij zonder toestemming delen van Minix in de Linux-kernel had opgenomen. Tanenbaum prees juist het werk van 'zijn student' Torvalds en stelde dat de beweringen niet klopte.
Interessant is dat ook Torvalds in de loop der jaren kritischer tegen de Linux-kernel is gaan aankijken. In 2009 noemde hij de motor van het opensource-OS 'gezwollen' en 'uit zijn voegen gegroeid'. Daarmee lijkt hij enkele voordelen van een microkernel-architectuur te erkennen. Eenvoudige oplossingen voor het huidige kernelontwerp zijn er echter niet; het overnemen van een microkernelarchitectuur zou betekenen dat de Linux-kernel van de grond af aan opnieuw moet worden opgebouwd.
Strijd met Microsoft
Met de opkomst van Linux in het bedrijfsleven, eind jaren negentig, begonnen de verhoudingen tussen de opensource-gemeenschap en softwaregigant Microsoft te wringen. Microsoft was - en is nog steeds - de dominante speler op met name de desktopmarkt, voor zowel zakelijke gebruikers als consumenten. De houding van Microsoft-oprichter Bill Gates ten opzichte van opensourcesoftware werd al in 1976 duidelijk toen hij hard uithaalde naar hobbyisten en gebruikers van 'gratis' software.
Microsoft nam het potentiële gevaar van Linux, maar ook van andere opensource-titels, zeer serieus. In 2004 werd door Microsoft het roemruchte 'Get the facts'-onderzoek gepubliceerd. Daaruit zou blijken dat de total cost of ownership voor bedrijven die Linux gebruikten, hoger zou liggen dan voor degenen die Windows-systemen inzetten.
Bedrijven als Novell, Red Hat en IBM reageerden furieus en kwamen met tegencampagnes om aan te tonen dat de cijfers van Microsoft niet klopten. De toon was gezet: Microsoft zag Linux overduidelijk als een bedreiging, de Linux-community was niet van plan om zich zomaar bij de marktdominantie van Microsoft neer te leggen en de fluwelen handschoenen gingen uit.
De zaken tussen de Linux-gemeenschap en Microsoft werden nog grimmiger in 2006, toen Novell een omstreden deal met Microsoft sloot. Als onderdeel daarvan beloofde Microsoft geen patentzaken tegen Novell en zijn klanten aan te spannen. Een aantal andere Linux-bedrijven sloot soortgelijke deals met Microsoft, maar onder andere Canonical en Red Hat verzetten zich met hand en tand tegen deze overeenkomsten. Niet veel later kwam Microsoft met de claim dat Linux 107 Microsoft-patenten zou schenden. Tot concrete aanklachten kwam het echter niet.
Oorlog en vrede
Een ander belangrijke zaak die invloed had op de opensource-gemeenschap was de controverse rondom SCO. Dit softwarebedrijf spande in 2003 een zaak aan tegen IBM, dat met bijdragen aan Linux het copyright op Unix zou hebben geschonden. SCO claimde de rechten op Unix in handen te hebben.
SCO zag zijn missie echter mislukken: de claims van het bedrijf werden tot tweemaal toe door de rechter verworpen en de jarenlange juridische strijd kostte het bedrijf bijna de kop. Door zijn Unix-tak uiteindelijk te verkopen, wist SCO ternauwernood het hoofd boven water te houden.
Terwijl de aanvallen vanuit de SCO-hoek met het zwakker worden van dat bedrijf verminderden, heeft Microsoft de laatste jaren zijn toon richting de Linux-gemeenschap juist aanzienlijk gematigd. De softwaregigant steekt geld in de opensource-stichting Codeplex, is sponsor van Apache geworden, biedt betere ondersteuning voor open webstandaarden in de laatste Internet Explorer-versies, brengt onder eigen naam opensource-software uit en draagt zelfs relatief veel code bij aan de Linux-kernel.
De vraag is of deze mildere benadering vanuit Microsoft voor de verstokte Linux-adepten voldoende is. Over het algemeen moeten zij weinig hebben van de softwarereuzen en hun propriëtaire code. Microsoft bracht echter onlangs nog een opvallende video uit, die eens te meer toont dat ook dit bedrijf nu weet dat Linux een blijvertje is.
Helaas!
De video die je probeert te bekijken is niet langer beschikbaar op Tweakers.net.