`````Cybercrime en Cyber Security Nederland
PRISCILLA F. HARMANUS OVER ONDERZOEK INFORMATIE VEILIGHEID EN VITALE INFRASTRUCTUUR IN DE DIGITALE OVERHEID

Home » Regering » Digitale overheid » Open source en free software » Linux en open source » Linux en het GNU Systeem is een nieuwe webpagina

Dinsdag 10 november 2020


Linux and the GNU System by Richard Stallman

Onderstaande tekst is vertaald vanuit het Engels(Origineel) naar het Nederlands door Priscilla Harmanus

Veel computergebruikers draaien elke dag een aangepaste versie van het GNU-systeem, zonder het te beseffen. Door een eigenaardige gang van zaken wordt de versie van GNU die tegenwoordig veel wordt gebruikt, vaak "Linux" genoemd, en veel van zijn gebruikers zijn zich er niet van bewust dat dit in feite het GNU-systeem is, ontwikkeld door het GNU-project.

Er is echt een Linux, en deze mensen gebruiken het, maar het is slechts een deel van het systeem dat ze gebruiken. Linux is de kernel: het programma in het systeem dat de bronnen van de machine toewijst aan de andere programma's die u uitvoert. De kernel is een essentieel onderdeel van een besturingssysteem, maar op zichzelf nutteloos; het kan alleen functioneren in de context van een compleet besturingssysteem. Linux wordt normaal gesproken gebruikt in combinatie met het GNU-besturingssysteem: het hele systeem is in feite GNU met Linux toegevoegd, of GNU/Linux. Alle zogenaamde "Linux" -distributies zijn in feite distributies van GNU/Linux.

Veel gebruikers begrijpen het verschil niet tussen de kernel, dat is Linux, en het hele systeem, dat ze ook wel "Linux" noemen. Het dubbelzinnige gebruik van de naam helpt mensen het niet te begrijpen. Deze gebruikers denken vaak dat Linus Torvalds het hele besturingssysteem in 1991 heeft ontwikkeld, met een beetje hulp.

Programmeurs weten over het algemeen dat Linux een kernel is. Maar aangezien ze over het algemeen gehoord hebben dat het hele systeem ook wel "Linux" wordt genoemd, stellen ze zich vaak een geschiedenis voor die het rechtvaardigen om het hele systeem naar de kernel te noemen. Velen geloven bijvoorbeeld dat zodra Linus Torvalds klaar was met het schrijven van Linux, de kernel, de gebruikers zochten naar andere "free en open-source" software die daarbij paste, en ontdekten dat (zonder specifieke reden) bijna alles wat nodig was om een Unix-achtig systeem te maken, al verkrijgbaar was.

Wat ze ontdekten was dat er geen toeval was dat het niet helemaal complete GNU-systeem was. De beschikbare "free en open-source" software zorgde voor een compleet systeem, omdat het GNU-project er sinds 1984 aan werkte om er een te maken. In het GNU-manifest hebben we het doel uiteengezet om een vrij Unix-achtig systeem te ontwikkelen, genaamd GNU. De eerste aankondiging van het GNU-project schetst ook enkele van de oorspronkelijke plannen voor het GNU-systeem. Tegen de tijd dat Linux werd gestart, was GNU bijna klaar.

De meeste "free en open-source" softwareprojecten hebben als doel een bepaald programma voor een bepaalde taak te ontwikkelen. Linus Torvalds was bijvoorbeeld van plan een Unix-achtige kernel (Linux) te schrijven; Donald Knuth begon met het schrijven van een tekstformatter (TeX); Bob Scheifler wilde een window systeem ontwikkelen (het X Window System). Het is normaal om de bijdrage van dit soort projecten te meten aan de hand van specifieke programma's die (van)uit het project kwamen.

Als we zouden proberen de bijdrage van het GNU-project op deze manier te meten, wat zouden we dan concluderen? Een cd-rom-leverancier (vendor) ontdekte dat GNU-software in hun “Linux-distributie” het grootste contingent was, ongeveer 28% van de totale broncode, en dit omvatte enkele van de essentiële hoofdcomponenten zonder welke er geen systeem zou kunnen zijn. Linux zelf was ongeveer 3%. (De verhoudingen in 2008 zijn vergelijkbaar: in de "hoofd" repository (“main”  repository) van gNewSense is Linux 1,5% en GNU-pakketten 15%.) Dus als je een naam zou kiezen voor het systeem op basis van wie de programma's in het systeem heeft geschreven , zou de meest geschikte enkele keuze "GNU" zijn.

Maar dat is niet de diepste manier om over de vraag na te denken. Het GNU-project was en is geen project om specifieke softwarepakketten te ontwikkelen. Het was geen project om een C-compiler te ontwikkelen, hoewel we dat wel deden. Het was geen project om een teksteditor te ontwikkelen, hoewel we er een hebben ontwikkeld. Het GNU-project was bedoeld om een compleet vrij Unix-achtig systeem te ontwikkelen: GNU.

Veel mensen hebben een grote bijdrage geleverd aan de vrije software in het systeem, en ze verdienen allemaal de eer voor hun software. Maar de reden dat het een geïntegreerd systeem is - en niet alleen een verzameling van nuttige programma's - is omdat het GNU-project erop uit was er een te maken. We hebben een lijst gemaakt van de programma's die nodig zijn om een compleet vrij systeem te maken, en systematisch vonden en schreven we, of we hebben mensen gevonden om alles op de lijst te schrijven. We hebben essentiële maar niet opwindende (1) componenten geschreven omdat je geen systeem zonder deze kunt hebben. Sommige van onze systeemcomponenten, de programmeertools, werden op zichzelf populair onder programmeurs, maar we schreven veel componenten die geen tools zijn (2). We hebben zelfs een schaakspel ontwikkeld, GNU Chess, omdat een compleet systeem ook spellen nodig heeft.

Begin jaren 90 hadden we het hele systeem naast de kernel samengesteld. We waren ook begonnen met een kernel, de GNU Hurd, die bovenop Mach draait. Het ontwikkelen van deze kernel is een stuk moeilijker geweest dan we hadden verwacht; de GNU Hurd begon betrouwbaar te werken in 2001, maar het is nog lang niet klaar voor gebruik door mensen in het algemeen.

Gelukkig hoefden we vanwege Linux niet op de Hurd te wachten. Toen Torvalds Linux in 1992 bevrijdde, paste het in de laatste grote kloof in het GNU-systeem. Mensen zouden dan Linux kunnen combineren met het GNU-systeem om een compleet vrij systeem te maken - een versie van het GNU-systeem die ook Linux bevatte. Met andere woorden, het GNU/Linux-systeem.

Ze goed laten samenwerken was geen triviale klus. Sommige GNU-componenten (3) moesten aanzienlijk worden gewijzigd om met Linux te kunnen werken. Het was ook een hele klus om een compleet systeem te integreren als een distributie die "out of the box" zou werken. Het vereiste de kwestie van het installeren en opstarten van het systeem - een probleem dat we niet hadden aangepakt, omdat we dat punt nog niet hadden bereikt. De mensen die de verschillende systeemdistributies hebben ontwikkeld, hebben dus veel essentieel werk verricht. Maar het was werk dat, in de aard der dingen, zeker door iemand zou worden gedaan.

Het GNU-project ondersteunt zowel GNU/Linux-systemen als het GNU-systeem. De FSF financierde het herschrijven van de Linux-gerelateerde extensies van de GNU C-bibliotheek, zodat ze nu goed geïntegreerd zijn en de nieuwste GNU/Linux-systemen de huidige bibliotheekrelease zonder wijzigingen gebruiken. De FSF financierde ook een vroege fase van de ontwikkeling van Debian GNU/Linux.

Tegenwoordig zijn er veel verschillende varianten van het GNU/Linux-systeem (vaak "distro's" genoemd). De meeste bevatten niet-vrije programma's - hun ontwikkelaars volgen de "open source" -filosofie die bij Linux hoort in plaats van de "vrije software" -filosofie van GNU. Maar er zijn ook volledig vrije GNU/Linux-distributies (free en open-source). De FSF ondersteunt computerfaciliteiten voor een aantal van hen.

Het maken van een vrije GNU/Linux-distributie is niet alleen een kwestie van het elimineren van verschillende niet-vrije programma's (nonfree). Tegenwoordig bevat de gebruikelijke versie van Linux ook niet-vrije programma's (proprietary software / closed source). Deze programma's zijn bedoeld om te worden geladen in I/O-apparaten, wanneer het systeem wordt opgestart, en ze zijn als lange reeks getallen opgenomen in de "broncode" van Linux. Het onderhouden van vrije (en dus free en open-source) GNU/Linux-distributies houdt nu dus ook "het onderhouden van een vrije en open-source versie van Linux" in.

Of je nu GNU/Linux gebruikt of niet, verwar het publiek niet door de naam "Linux" dubbelzinnig te gebruiken. Linux is de kernel, een van de essentiële hoofdcomponenten van het systeem. Het systeem als geheel is in feite het GNU-systeem, met Linux toegevoegd. Als je het over deze combinatie hebt, noem deze dan "GNU/Linux".

Als je een link op “GNU/Linux” wilt maken voor verdere referentie, dan zijn deze pagina en https://www.gnu.org/gnu/the-gnu-project.html goede keuzes. Als je Linux, de kernel, noemt en een link wilt toevoegen voor verdere referentie, is https://foldoc.org/linux een goede URL om te gebruiken.

Postscripts 

Afgezien van GNU heeft een ander project onafhankelijk een vrij Unix-achtig besturingssysteem geproduceerd. Dit systeem staat bekend als BSD en is ontwikkeld aan UC Berkeley. Het was niet vrij in de jaren 80, maar werd vrij in de vroege jaren 90. Een vrij (free en open-source) besturingssysteem dat tegenwoordig bestaat (4), is vrijwel zeker een variant van het GNU-systeem of een soort BSD-systeem.

Mensen vragen soms of BSD ook een versie van GNU is, zoals GNU/Linux. De BSD-ontwikkelaars werden geïnspireerd om hun code-vrije software te maken door het voorbeeld van het GNU-project, en expliciete oproepen van GNU-activisten hielpen hen te overtuigen, maar de code had weinig overlap met GNU. BSD-systemen gebruiken tegenwoordig enkele GNU-programma's, net zoals het GNU-systeem en zijn varianten sommige BSD-programma's gebruiken; echter als geheel genomen zijn het twee verschillende systemen die afzonderlijk zijn geëvolueerd. De BSD-ontwikkelaars hebben geen kernel geschreven en deze aan het GNU-systeem toegevoegd, en een naam als GNU/BSD zou niet in de situatie passen. (5)


Notes / Opmerkingen:

  1. Deze saaie maar essentiële componenten zijn onder meer de GNU-assembler (GAS) en de linker (GLD), beide maken nu deel uit van het GNU Binutils-pakket, GNU tar en nog veel meer.
  2. Bijvoorbeeld, The Bourne Again SHell (BASH), de PostScript-interpreter Ghostscript en de GNU C-bibliotheek / GNU C library  zijn geen programmeertools. GNUCash, GNOME en GNU Chess ook niet.
  3. Bijvoorbeeld de GNU C-bibliotheek.
  4. Sinds dat is geschreven, is een bijna geheel gratis Windows-achtig systeem ontwikkeld, maar technisch gezien is het helemaal niet zoals GNU of Unix, dus het heeft niet echt invloed op dit probleem. Het grootste deel van de kernel van Solaris is vrij gemaakt, maar als je daar een vrij systeem van wilde maken, zou je het naast het vervangen van de ontbrekende delen van de kernel ook in GNU of BSD moeten stoppen.
  5. Aan de andere kant, in de jaren sinds dit artikel werd geschreven, is de GNU C-bibliotheek geport naar verschillende versies van de BSD-kernel, waardoor het eenvoudig was om het GNU-systeem met die kernel te combineren. Net als bij GNU/Linux zijn dit inderdaad varianten van GNU, en worden daarom bijvoorbeeld GNU/kFreeBSD en GNU/kNetBSD genoemd, afhankelijk van de kernel van het systeem. Gewone gebruikers op typische desktops kunnen nauwelijks onderscheid maken tussen GNU/Linux en GNU/*BSD.



Zie ook




Home » Regering » Digitale overheid » Open source en free software » Linux en open source » Linux en het GNU Systeem is een nieuwe webpagina


 
Map
Info