Linux, GNU en vrijheid
door Richard M. StallmanOmdat in een artikel van Joe Barr kritiek werd geleverd op hoe ik met de SIGLINUX omging, wil ik graag deze gelegenheid aangrijpen om mijn kant van het verhaal te vertellen; wat er nu eigenlijk gebeurde en mijn redenen daarvoor.
Toen SIGLINUX mij als spreker uitnodigde was het een “Linux gebruikersgroep”, oftewel een groep gebruikers van het GNU/Linux besturingssysteem die dit systeem aanduiden met “Linux”. Ik heb daarop dus netjes geantwoordt dat als ze iemand van het GNU-project als spreker wilden, ze het GNU-project ook moesten respecteren en het systeem dan ook “GNU/Linux” moesten noemen. Het systeem is een variant van GNU en het GNU-project is de belangrijkste ontwikkelaar dus is het beleefd om de naam te gebruiken die wij het gegeven hebben. Meestal weiger ik te spreken voor organisaties die het GNU-project op deze manier niet het respect geven dat het verdient, of er moet een hele goede reden zijn om hiervan af te wijken. Ik respecteer hun vrijheid van meningsuiting in deze maar ik heb ook de vrijheid om geen toespraak te houden.
Hierna probeerde Jeff Strunk van SIGLINUX het beleid van de groep te veranderen en vroeg de FSF om de groep op te nemen in onze lijst van GNU/Linux gebruikersgroepen. Onze webmaster heeft hem vervolgens meegedeeld dat we dit niet zouden doen onder de naam “SIGLINUX” omdat de naam aangeeft dat het over Linux gaat. Strunk stelde vervolgens de naam “SIGFREE” voor, wat onze webmaster goed vond (het artikel van Barr beweert dat we dit voorstel geweigerd hebben). Hoe dan ook, de groep besloot de naam “SIGLINUX” te handhaven.
Op dat moment werd ik bij de zaak betrokken en ik stelde voor dat ze op zoek gingen naar andere mogelijke benamingen. Er zijn nog vele benamingen te bedenken die niet aan het systeem refereren als “Linux” en ik hoop dat ze een goeie vinden. Wat mij betreft was de zaak hiermee afgedaan.
Klopt het, zoals Barr schrijft, dat sommige mensen dit optreden zien als “het doordrijven van je zin” en het gelijkstellen aan de monopolie-macht van Microsoft? Waarschijnlijk wel. Een uitnodiging afslaan is geen dwang maar mensen die willen geloven dat het hele systeem “Linux” is krijgen soms een behoorlijk verdraaide kijk op zaken. Om die benaming als enig juiste te zien moet je van een mug wel een olifant maken en vice versa. Wanneer je de feiten ontkent en gelooft dat Linus Torvalds het hele systeem in zijn eentje in 1991 heeft ontwikkeld, of wanneer je je gevoel voor rechtvaardigheid kunt negeren en geloven dat Torvalds alle eer moet krijgen ook al heeft hij het niet in zijn eentje gedaan, dan wordt het ook wel erg makkelijk om jezelf ervan te overtuigen dat ik persé een toespraak moet komen houden wanneer je dat van me vraagt.
Stel je voor: het GNU-project start met de ontwikkeling van een besturingssysteem en jaren later voegt Linus Torvalds één belangrijk stuk aan dit systeem toe. Het GNU-project vraagt “geef ons project alsjeblieft het krediet dat het verdient” maar Linus zegt: “Geef ze geen krediet maar vernoem het helemaal naar mijn naam!”. Stel je nu iemand voor die dit allemaal ziet gebeuren en vervolgens het GNU-project beschuldigt van egoïsme. Je moet wel erg vooringenomen zijn om de plank zo mis te slaan.
Zo iemand kan allerlei beschuldigingen uiten richting het GNU-project en denken dat het gerechtvaardigd is; zijn vrienden zullen hem hierin steunen om hun eigen vooringenomenheid te rechtvaardigen. Tegen andersdenkenden kun je je afzetten; dus wanneer ik weiger deel te nemen aan een activiteit onder de noemer “Linux”, zullen ze dat onaanvaardbaar vinden en mij verantwoordelijk stellen voor hun gevoel van ongemak achteraf. Wanneer zoveel mensen willen dat ik het systeem “Linux” noem, hoe kan ik, die slechts de ontwikkeling is begonnen, dit weigeren? En ze expres een toespraak weigeren is ze expres ongelukkig maken. Dat is pas dwang, een Microsoft waardig!
Je kunt je afvragen waarom ik het niet gewoon omzeil om al dit gezeur te voorkomen. Toen “SIGLINUX” mij uitnodigde voor een presentatie had ik me er vanaf kunnen maken met een “Nee, sorry”. Waarom heb ik dat niet gedaan? Omdat ik bereid ben wat moddergooien te incasseren als ik daardoor de kans krijg om de inspanningen van het GNU-project recht te doen.
Deze variant van het GNU-systeem “Linux” noemen is gunstig voor mensen die de keuze van hun software baseren op puur technologische gronden, zonder af te wegen of het hun vrijheid wel respecteert. Er zijn mensen als Barr die software willen “vrij van ideologie” en kritiek hebben op eenieder de beweert dat vrijheid er ook toe doet. Er zijn mensen als Torvalds die een gemeenschap zullen dwingen om niet-vrije programmatuur te gebruiken en meteen iedereen die klaagt uit te dagen om meteen een (technisch) beter programma te leveren of hun kop te houden. Er zij mensen die beweren dat technische overwegingen niet gepolitiseerd moeten worden door rekening te houden met sociale gevolgen.
In de jaren 70 zijn computergebruikers hun vrijheid om naar believen software te kopiëren of te veranderen kwijtgeraakt omdat ze vrijheid niet op waarde schatte. Deze vrijheden zijn teruggewonnen in de jaren 80 en 90 doordat een groep idealisten, het GNU-project, ervan overtuigd was dat vrijheid een programma ten goede kwam en daar bereid waren voor te werken.
We hebben die vrijheid tegenwoordig gedeeltelijk maar hij is zeker niet veilig. Hij wordt bedreigd door de CBDTPA (het vroegere SSSCA), door de Broadcast “Protection” Discussion Group (zie ook www.eff.org/) die voorstelt om toegang tot digitale TV-uitzendingen door vrije software te verbieden, door software patenten (Europa overweegt nu ook om software patenteerbaar te maken), door Microsoft contracten die verbieden informatie over belangrijke protocollen vrij te geven en door eenieder die ons verleidt met niet-vrije programma's die (technisch gezien) “beter” zijn dan bestaande vrije programma's. Hierdoor kunnen we onze vrijheid verliezen op dezelfde manier als de eerste keer, door er niet voldoende om te geven.
Zullen voldoende mensen hierom geven? Dat hangt af van veel dingen; onder andere van hoeveel invloed het GNU-project heeft en hoeveel invloed Linus Torvalds heeft. Het GNU-project zegt, “wees zuinig op je vrijheid”. Joe Barr zegt “kies alleen tussen vrije en niet-vrije programma's op basis van technische superioriteit!” Wanneer mensen Torvalds zien als de hoofdontwikkelaar van het GNU/Linux systeem is dat niet alleen onjuist, het verleent ook meer kracht aan zijn boodschap, “niet-vrije software is prima; ik ontwikkel en gebruik het zelf ook.” Als men echter onze rol hierin erkent dan zal men ook beter naar onze boodschap luisteren en die luidt, “Dit systeem is er gekomen doordat mensen om vrijheid gaven. Sluit je bij ons aan, schat je vrijheid op waarde en samen kunnen we vechten voor het behoud van die vrijheid”. Zie ook Het GNU-project voor de geschiedschrijving.
Wanneer ik aan mensen vraag om het systeem GNU/Linux te noemen, reageren sommigen met laffe smoesjes. Daar zal weinig aan verloren gaan, dit soort mensen heeft er sowieso niets mee op. Ondertussen zijn er andere mensen die onze beweegredenen wel onderkennen en de naam gaan gebruiken. Door dit te doen attenderen ze ook andere mensen op het waarom van GNU/Linux en helpt ons op onze beurt de boodschap te verspreiden dat vrijheid belangrijk is.
Daarom ga ik in tegen vooroordelen en lasterpraat. Het doet af en toe pijn maar, wanneer ik succes heb, helpt het de GNU-campagne voor vrijheid.
Daar dit speelde in de context van Linux (de kernel) en Bitkeeper, het niet-vrije versiebeheerssysteem dat Linus Torvalds momenteel gebruikt, wil ik ook nog even ingaan op dat punt.
Het probleem Bitkeeper
(Zie de update hieronder.)
Het gebruik van Bitkeeper voor de broncode van Linux heeft een rottig effect op de vrijesoftwaregemeenschap, want iedereen die wijzigingen op de Linux-kernel goed in de gaten wil houden kan dit alleen door dit niet-vrije programma te installeren. Er moeten tientallen, zo niet honderden, kernelontwikkelaars zijn die dit gedaan hebben. De meesten zullen zichzelf langzamerhand overtuigen dat het prima is om niet-vrije software te gebruiken, om zo hun onbehagen dat Bitkeeper op hun schijven staat te verhelpen. Wat kan men hieraan doen?
Een oplossing zou kunnen zijn een ander systeem te gebruiken voor de Linux-broncode met behulp van bijvoorbeeld CVS of een ander vrij versiebeheerssysteem en daarin automatisch de laatste wijzigingen op te slaan. Hierbij zou Bitkeeper kunnen worden gebruikt om de laatste wijzigingen te achterhalen om die vervolgens in CVS in te brengen. Dit bijwerk-proces zou vervolgens automatisch en regelmatig kunnen lopen.
De FSF kan dit niet doen doordat we Bitkeeper niet kunnen installeren. We hebben geen niet-vrije software meer op onze systemen en hebben hier dan ook principieel bezwaar tegen. Iemand anders, die geen bezwaar heeft tegen de aanwezigheid van Bitkeeper op zijn systemen moet dit maar doen, of er moet iemand opstaan die een alternatief aandraagt met behulp van vrije software.
De Linux-broncode zelf heeft nog grotere problemen met niet-vrije software: er zit wat van in. Een behoorlijk aantal aansturingsprogramma's voor apparaten bevatten reeksen nummers die firmware programma's zijn die in een dergelijk apparaat moeten worden geladen. Dit is geen vrije software. Wat nummers die je in een register propt is prima; een compleet binair programma is dat niet.
De aanwezigheid van deze binaire programma's in “broncode”-bestanden van Linux geeeft nog meer problemen: het is de vraag of Linux binaire programma's wel legaal kunnen worden verspreid. De GPL vereist “de complete oorspronkelijke broncode” en een rijtje nummers is geen broncode. Op dezelfde manier is het toevoegen van binaire code aan Linux broncode strijdig met de GPL.
De Linux-ontwikkelaars willen die besturingsprogramma's naar aparte bestanden verhuizen; dat zal een aantal jaren in beslag kunnen nemen maar uiteindelijk wel het tweede probleem oplossen; daarmee kunnen we een “vrije Linux” versie maken die niet de niet-vrije bestanden bevat. Dat zal echter geen zoden aan de dijk zetten wanneer de meesten de niet-vrije, “officële” versie van Linux gaan gebruiken. Dat zou wel eens kunnen gebeuren omdat veel systemen de vrije versie niet kunnen draaien zonder de niet-vrije delen. Het “vrije Linux” project zal dan uit moeten gaan vinden wat de besturingsprogramma's doen en er vrije versies, wellicht in machinetaal voor speciaal ingebouwde processoren, van moeten maken. Een ontmoedigende taak. Dat zou wat minder zijn als we er een aantal jaren geleden al mee begonnen waren om dit stuk voor stuk op te lossen in plaats van het voor ons uit te schuiven. Bij het werven van mensen hiervoor moeten we af van het idee, wat sommige Linux-ontwikkelaars beweren, dat deze taak niet echt nodig is.
Linux, als kernel, wordt vaak gezien als het vlaggenschip van vrije software, de huidige versie is dat echter gedeeltelijk niet. Hoe kon dit gebeuren? Dit probleem, net als de beslissing Bitkeeper te gebruiken, is het resultaat van de opvattingen van de bedenker en ontwikkelaar van Linux, iemand die denkt dat “technisch beter” belangrijker is dan vrijheid.
Waardeer je vrijheid, of je zal het verliezen is wat de geschiedenis ons leert. “Val ons niet lastig met politiek” is de reactie van diegenen die hardleers zijn.
Update: BitKeeper wordt sinds 2005 niet meer gebruikt om de Linuxkernel-broncode bij te houden. Zie het artikel Dank, Larry McVoy. De Linux-broncode bevat nog steeds niet-vrije blobs van fabrikanten maar vanaf januari 2008 wordt nu een vrije versie van Linux bijgehouden voor gebruik in vrije GNU/Linux-distributies.