English [en]   العربية [ar]   български [bg]   català [ca]   Česky [cs]   Deutsch [de]   ελληνικά [el]   español [es]   فارسی [fa]   français [fr]   עברית [he]   hrvatski [hr]   Bahasa Indonesia [id]   italiano [it]   日本語 [ja]   한국어 [ko]   മലയാളം [ml]   Nederlands [nl]   polski [pl]   português do Brasil [pt-br]   română [ro]   русский [ru]   slovenščina [sl]   Shqip [sq]   српски [sr]   தமிழ் [ta]   Tagalog [tl]   українська [uk]   简体中文 [zh-cn]   繁體中文 [zh-tw]  

Thanks to your support, 2015 marks 30 years of the FSF! In the next 30 years, we want to do even more to defend computer user rights. To kick off in that direction, we're setting our highest-ever fundraising goal of $525,000 by January 31st. Read more.

$525K
34% (182K)
Count me in

This translation may not reflect the changes made since 2013-02-11 in the English original. You should take a look at those changes. Please see the Translations README for information on maintaining translations of this article.

Linux en het GNU Systeem

door Richard Stallman

Voor meer informatie hierover, zie GNU/Linux Veelgestelde Vragen, en Waarom GNU/Linux?.

Veel computergebruikers gebruiken dagelijks onbewust een aangepaste versie van het GNU systeem. Door een bizarre wending in het verleden is de huidige, meestgebruikte versie van GNU bekend onder de naam “Linux”, en veel gebruikers zijn zich er niet van bewust dat dit het GNU systeem is, ontwikkeld door het GNU Project.

Linux bestaat echt en men gebruikt het, maar het is slechts een deel van het besturingssysteem. Linux is de kernel (de “kern“ van het besturingssysteem): het programma dat de toegang regelt tot de diverse onderdelen van het systeem zodat ander programma's behoorlijk kunnen draaien. De kernel is een onmisbaar onderdeel van het besturingssysteem, maar op zichzelf niet bruikbaar; het kan alleen functioneren in een compleet besturingssysteem. Linux wordt meestal gebruikt in combinatie met het GNU besturingssysteem: het hele systeem is eigenlijk GNU met Linux toegevoegd, GNU/Linux dus. Al die zogeheten “Linux” distributies zijn dus eigenlijk GNU/Linux distributies.

Veel gebruikers kennen het verschil niet tussen de kernel, Linux, en het systeem als geheel, wat ze óók “Linux” noemen. Dit dubbele gebruik van de naam geeft geen duidelijkheid. Deze gebruikers denken vaak dat Linus Torvalds het hele systeem heeft ontwikkeld in 1991, met wat hulp van buitenaf.

Programmeurs weten meestal wel dat Linux een kernel is. Maar omdat ze vaak aan Linux horen refereren als aan het hele systeem nemen ze aan dat de manier waarop het in ontwikkeld de benaming Linux rechtvaardigt. Zij geloven bijvoorbeeld dat, nadat Linus klaar was met de Linux kernel, de gebruikers op zoek gingen naar andere vrije software om het te completeren en de meeste andere onderdelen zomaar vonden, klaar voor gebruik.

Wat ze vonden was niet toevallig en lag er niet zo maar—het was het GNU systeem dat bijna af was. De beschikbare vrije software maakte het geheel compleet doordat het GNU project al sinds 1984 aan de weg timmerde om een compleet besturingssysteem van de grond te krijgen. In het GNU Manifest schetsten we het doel voor het maken van een op Unix gelijkend systeem met de naam GNU. De Eerste Aankondiging van het GNU Project bevat ook een aantal doelen voor het GNU systeem. Tegen de tijd dat Linus aan Linux begon was GNU al bijna af.

De meeste projecten voor vrije software hebben als doel het ontwikkelen van één programma voor een bepaald doel. Linus Torvalds bijvoorbeeld had als doel een kernel die op Unix lijkt (Linux); Donald Knuth had als doel een tekstzetter (TeX); Bob Scheifler had als doel een window systeem (X Window systeem). Het is normaal om de bijdrage van een dergelijk project af te meten aan de specifieke programma's die uit dat project kwamen.

Wanneer we zo de bijdrage van het GNU project zouden bekijken, wat zou dan de conclusie zijn? Een verkoper van CD-ROM's kwam erachter dat in hun “Linux distributie”, GNU software de grootste bijdrage leverde met 28% van de totale broncode inclusief een aantal grote onderdelen, onmisbaar voor het systeem. Linux zelf was zo'n 3%. (De verhouding in 2008 zijn ongeveer dezelfde: in het versiebeheer van gNewSense maakt Linux 1,5% en de GNU pakketten 15% uit van de distibutie.) Wanneer je dus een naam zou bedenken voor het systeem op basis wie de programma's ervoor had geschreven dan zou je eerder uitkomen op “GNU”.

Maar we vinden niet dat dit de juiste benadering is. Het GNU project was en is geen project voor het ontwikkelen van een specifiek programma. Het was geen project om een C compiler te ontwikkelen, hoewel we dit wel gedaan hebben. Het was geen project om een tekstbewerkingsprogramma te maken, hoewel we die ontwikkeld hebben. Doel was om een compleet vrij systeem te ontwikkelen, gebaseerd op Unix: GNU.

Velen hebben enorm bijgedragen aan de vrije software in het systeem en allemaal verdienen ze het om genoemd te worden. Maar de reden waarom het een integraal systeem is—en niet alleen maar een verzameling bruikbare programma's—is omdat dit het doel was van het GNU project. We hebben een lijst opgesteld met benodigde programma's zodat het een compleet vrij systeem zou worden en zijn daar systematisch naar op zoek gegaan, hebben delen zelf ontwikkeld, of laten ontwikkelen. We schreven belangrijke maar saaie (1) onderdelen omdat je nu eenmaal niet zonder kunt. Sommige gereedschappen werden vanzelf populair onder programmeurs maar we schreven ook vele onderdelen die geen gereedschap waren (2) . We schreven zelfs een schaakspel, GNU Chess, omdat een compleet systeem ook spelletjes nodig heeft.

Begin 90 hadden we een compleet systeem klaar, op de kernel na (waar we ook aan werkten, GNU Hurd, die bovenop Mach liep). Ontwikkeling van de kernel was een stuk moeilijker dan verwacht; GNU Hurd begon in 2001 stabiel te draaien. We hebben echter nog een lange weg te gaan voordat het klaar is voor algemeen gebruik.

Gelukkig hoefden we door toedoen van Linux niet te wachten op de Hurd. Nadat Torvalds Linux in 1992 had bevrijd vormde dit het laatste stukje van de puzzel die het GNU systeem is. Men kon daarna Linux combineren met GNU om zo een compleet vrij systeem te verwezenlijken: een op Linux-gebaseerde versie van het GNU systeem; oftewel het GNU/Linux systeem.

De twee combineren klinkt eenvoudig genoeg maar was niet zo makkelijk. Sommige onderdelen(3) van GNU moesten behoorlijk op de schop om met Linux te kunnen samenwerken. Het geheel zo integreren dat een distributie zo “uit de verpakking” zou werken was ook zo'n moeilijke klus. Dit moest problemen oplossen als hoe het systeem te installeren en op te starten—iets waar we nog niet naar hadden gekeken omdat we nog niet zover waren. De mensen die de diverse distributies ontwikkeld hebben droegen hun steentje bij maar dat zou toch wel opgepakt zijn.

Het GNU project steunt GNU/Linux systemen en ook het GNU systeem, met financiele steun van de FSF. We financierden het herschrijven van uitbreidingen op de C bibliotheek die met Linux te maken hadden, zodat deze nu naadloos samenwerken en de huidige GNU/Linux systemen gebruiken nu de bibliotheek zonder aparte wijzigingen. De FSF financierde ook de start van de ontwikkeling van Debian GNU/Linux.

Tegenwoordig zijn er veel varianten van het GNU/Linux systeem (“distros” genoemd) in omloop. De meesten daarvan bevatten ook niet-vrije software—hun ontwikkelaars volgen een andere filosofie die meer verwant is aan Linux dan aan GNU. Maar er zijn ook compleet vrije GNU/Linux distros. De FSF steunt gNewSense met computerapparatuur.

Het maken van een vrije GNU/Linux distributie is niet alleen een kwestie van het uitsluiten van niet-vrije software. Tegenwoordig bevat de gangbare versie van Linux ook niet-vrije programma's. Het is de bedoeling dat dit soort programma's in in- en uitvoerapparaten wordt geladen wanneer het systeem opstart en worden alleen in binaire vorm uitgeleverd als onderdeel van de "broncode" in de vorm van eindeloze nummerreeksen. En dus houdt dat in dat we ook een vrije versie van Linux moeten onderhouden.

Of je nu GNU/Linux gebruikt of niet, verwar mensen alsjeblieft niet door de naam “Linux” slordig te gebruiken. Linux is de kernel, een hoofdbestanddeel van het systeem. Het systeem als geheel is min of meer het GNU systeem met daaraan Linux toegevoegd. Wanneer je het over deze combinatie hebt, noem het dan alsjeblieft “GNU/Linux”.

Wanneer je een link naar “GNU/Linux” aan wilt maken ter referentie, dan zijn dit artikel en http://www.gnu.org/gnu/the-gnu-project.html een goede keuze. Als je ter referentie een link naar Linux, de kernel, wilt aanmaken dan is http://foldoc.org/linux een goeie URL om te gebruiken.

Addendum: Behalve GNU is er nog één ander project dat onafhankelijk een vrij besturingssysteem heeft gemaakt dat op Unix is gebaseerd. Dit systeem kent men als BSD, ontwikkeld aan de universiteit van Berkeley. In de tachtiger jaren is dit begonnen als niet-vrij systeem maar werd vrij gemaakt in de jaren 90. Een vrij en bestaand besturingssysteem(4) is tegenwoordig altijd een variant op het GNU systeem of op BSD.

Mensen vragen weleens of BSD ook een versie van GNU is, net als GNU/Linux. De ontwikkelaars van BSD werden geïnspireerd door het voorbeeld van het GNU project om hun code vrij te geven, daarbij geholpen door aanmoedigingen van GNU activisten, maar de code heeft weinig overeenkomsten met GNU. Huidige BSD systemen gebruiken wel wat code van GNU, net als GNU wel het een en ander gebruikt van BSD maar over het geheel bezien zijn het toch twee verschillende systemen die apart van elkaar zich ontwikkeld hebben. De ontwikkelaars van BSD hebben geen kernel gemaakt en dit toegevoegd aan het GNU systeem en dus is een benaming als GNU/BSD hier niet op zijn plaats.(5)

Voetnoten:

  1. Deze saaie maar belangrijke componenten zijn onder andere de GNU assembler (GAS) en de linker (GLD) beide nu onderdeel van het GNU Binutils pakket, GNU tar, en meer.
  2. Bijvoorbeeld de Bourne Again SHell (BASH), de PostScript lezer Ghostscript, en de GNU C bibliotheek zijn geen programmeergereedschappen. Ook GNUCash, GNOME, en GNU Chess niet.
  3. Bijvoorbeeld de GNU C bibliotheek.
  4. Nadat dit was geschreven is er een bijna geheel vrij Windows-achtig systeem ontwikkeld, hoewel dit technisch gezien verschilt van GNU of Linux, dus het is hier niet van toepassing. Het merendeel van de kernel van Solaris is inmiddels vrijgegeven maar wanneer je daar een vrij systeem van wilt maken zul je nog delen van de kernel moeten vervangen en het vervolgens in GNU of BSD moeten hangen.
  5. Hoewel, in de jaren na het verschijnen van dit artikel is de GNU C bibliotheek overgezet op diverse versies van de BSD kernel, die het mogelijk maakt het GNU systeem met deze kernel te distribueren. Net als GNU/Linux zijn dit inderdaad varianten op GNU en heten dus bijvoorbeeld GNU/kFreeBSD en GNU/kNetBSD, afhankelijk van de gebruikte kernel. Doorsnee gebruikers van normale bureaucomputers zullen echter al nauwelijks het verschil kennen tussen GNU/Linux e GNU/*BSD.

[FSF logo]“Our mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users.”

The Free Software Foundation is the principal organizational sponsor of the GNU Operating System. Support GNU and the FSF by buying manuals and gear, joining the FSF as an associate member, or making a donation, either directly to the FSF or via Flattr.

naar begin