Deze vertaling bevat nog niet de wijzigingen die zijn gemaakt sinds 2021-07-16 in het originele Engelstalige artikel.
Je zou kunnen kijken naar deze wijzigingen. Lees ook de handleiding voor vertalingen voor informatie over het onderhouden van vertalingen van dit artikel.
Wat is vrije software?
De definitie van Vrije Software
Heb je een vraag over vrijesoftwarelicenties die hier niet wordt beantwoord? Zie onze andere licentiepagina's of neem contact op met het Compliance Lab van de FSF via licensing@fsf.org.
“Vrije software” is software die de vrijheid en gemeenschap van gebruikers respecteert. Het betekent grofweg dat gebruikers de vrijheid hebben om de software te gebruiken, kopiëren, verspreiden, bestuderen, veranderen en verbeteren. Dus “vrije software” gaat over vrijheid, niet over prijs. Om het concept te begrijpen, moet je denken aan “vrij” zoals in de “vrijheid van meningsuiting”. We noemen het soms ook “libre software”, waarbij we het Franse of Spaanse woord voor “vrij” gebruiken, om aan te geven dat we niet bedoelen dat de software gratis is[1].
Wij zetten ons in voor deze vrijheden omdat iedereen hier recht op heeft. Met deze vrijheden hebben de gebruikers (individueel en collectief) zeggenschap over het programma en wat het doet voor hen. Wanneer gebruikers geen controle over het programma hebben, noemen we dat een “niet-vrij” of “privaat” programma. Het niet-vrije programma heeft controle over de gebruikers, en de ontwikkelaar heeft controle over het programma; dit maakt het programma een instrument van onrechtvaardige macht.
De vier essentiële vrijheden
Een programma is vrije software wanneer de gebruikers vier essentiële vrijheden hebben: [1]
- De vrijheid om het programma te gebruiken zoals jij dat wilt, voor elk doel (vrijheid 0).
- De vrijheid om de manier waarop het programma werkt te bestuderen, en om het aan te passen aan je behoeften (vrijheid 1). Beschikbaarheid van de broncode is noodzakelijk hiervoor.
- De vrijheid om het programma te verspreiden, zodat je anderen kan helpen (vrijheid 2).
- De vrijheid om het programma te verbeteren en te verspreiden, zodat de hele gemeenschap hier voordeel van heeft (vrijheid 3). Beschikbaarheid van de broncode is ook hiervoor noodzakelijk.
Een programma is vrije software als het gebruikers al deze vrijheden adequaat geeft. Anders is het niet-vrij. We zouden verschillende niet-vrije verspreidingsmethoden kunnen beschouwen in termen van hoeveel ze tekort schieten in het vrij zijn, maar dit doen we niet: we beschouwen ze allemaal als net zo onethisch.
In ieder geval moeten deze vrijheden toegepast worden op alle code die we willen gaan gebruiken, of andere mensen laten gebruiken. Neem bijvoorbeeld een programma A dat automatisch programma B opstart om sommige dingen te verwerken. Als we van plan zijn A te verspreiden zoals het is, betekent dit dat gebruikers B nodig zullen hebben, dus moeten we beoordelen of A en B beide vrij zijn. Echter, als we A wijzigen zodat het B niet nodig heeft, hoeft alleen A vrij te zijn; B is dan niet meer relevant.
“Vrije software” betekent niet “niet-commercieel”. Integendeel, een vrij programma zou beschikbaar moeten zijn voor commercieel gebruik, -ontwikkeling en -distributie. Dit is van cruciaal belang— zonder mist vrije software zijn doel.
We willen iedereen uitnodigen het GNU systeem te gebruiken, ook zakelijke gebruikers. Dit impliceert commercieel gebruik. We hopen dat vrije programma's andere, vergelijkbare commerciële programma's gaan vervangen, dit gaat niet gebeuren wanneer de zakenwereld ze niet mag gebruiken. We willen commerciële software die het GNU systeem omvatten en dat kan niet zonder betaalde distributie. Commerciële ontwikkeling van vrije software is niet langer ongebruikelijk; dergelijke vrije commerciële software is heel belangrijk. Betalen voor ondersteuning van vrije software vult een belangrijke behoefte.
Aldus zal het verbieden van commercieel gebruik, -ontwikkeling en -uitgave het succes van de vrije software gemeenschap in de weg staan. We moeten vaststellen dat een programma met dergelijke restricties geen vrije software is.
Een echt vrij programma verleent de vier vrijheden aan iedere mogelijke gebruiker die een kopie van de software verkrijgt, binnen de gestelde voorwaarden van die distributie. Vrijheden beperken voor bepaalde gebruikers of vereisen dat men betaalt, knaagt in wezen aan deze vier vrijheden en maakt het programma daardoor niet-vrij.
Of je nu betaald hebt voor vrije software, of niet, je hebt altijd het recht om deze software te kopiëren en te veranderen zelfs om kopieën te verkopen.
Het verschil tussen vrij en niet-vrij
In de rest van dit artikel leggen we precies uit hoever de diverse vrijheden, in verschillende omstandigheden, moeten gaan om het een vrij programma te maken.
De vrijheid om het programma te gebruiken zoals jij dat wilt
De vrijheid een programma te gebruiken houdt ook in dat iedereen, ook bedrijven, het kunnen gebruiken op wat voor computersysteem dan ook met wat voor doel dan ook, zonder dat zij hiervoor in overleg moeten treden met de ontwikkelaar of een andere organisatie. Het gaat binnen deze vrijheid om de doelen van de gebruiker, niet die van de ontwikkelaar; jij als gebruiker bent vrij in het gebruik ervan en wanneer je het doorgeeft naar iemand anders dan mag die het ook voor eigen doeleinden gebruiken. Jij mag daarbij als distributeur geen beperkingen opleggen.
De vrijheid om het programma uit te voeren zoals je wenst, betekent dat niemand jou verbiedt of weerhoudt om dit te doen. Het heeft niks te maken met de functionaliteit die het programma heeft, of het werkt in een bepaalde omgeving, of hoe nuttig het is voor wat je wil doen.
Bij voorbeeld: wanneer de code bepaalde zinnige invoer weigert—of zelfs faalt— maakt dit het programma minder bruikbaar of zelfs nutteloos maar het ontneemt de gebruiker niet het recht het programma te gebruiken en dus is het niet in tegenspraak met vrijheid 0. Wanneer het een vrij programma is kunnen gebruikers het functionele verlies compenseren doordat vrijheden 1 en 3 hen in staat stelt om zelf nieuwe versies te maken en distribueren met daarin de gewenste functionaliteit.
“Naar believen” kan ook betekenen, “helemaal niet” als dat je belieft. Er is dus geen behoefte aan een extra “vrijheid om een programma niet te gebruiken.”
De vrijheid om de broncode te bestuderen en veranderen
Om de vrijheid om veranderingen te maken en publiceren (vrijheden 1 en 3) toe te kunnen passen, heeft de gebruiker toegang tot de broncode van het programma nodig. Ofwel, vrije toegang tot broncode is een vereiste van vrije software. Versleutelde “broncode” is geen echte broncode en telt hierin dus niet mee.
Vrijheid nummer 1 houdt ook in het recht om je eigen veranderingen aan het programma daadwerkelijk te gebruiken. Wanneer het programma in een product zit wat toestaat dat het veranderingen van derden draait maar niet die van jou—ook wel bekend als “tivoisatie”, “lockdown” of (in de suggestieve bewoordingen van een fabrikant) als “beveiligd opstarten” — wordt deze vrijheid een lachertje. Er is onvoldoende vrijheid zonder dit recht. Oftewel, deze programma's zijn geen vrije software, ook al is de broncode waarvan het gemaakt is dat wel.
Wanneer je een programma verandert door er vrije code en routines aan toe te voegen maar de licentie van het programma bepaalt dat dat alleen mag wanneer je, bijvoorbeeld, de auteursrechten van die code bezit, dan is die licentie té beperkend en is het resultaat dus niet vrij.
Of een verandering ook een verbetering is, is subjectief. Wanneer veranderingen alleen zijn toegestaan als anderen die veranderingen als verbetering beschouwen, is dat geen vrijheid.
Een speciaal geval van vrijheid 1 is om de code van het programma te verwijderen zodat het na gebruik niets gedaan heeft of om hierin een ander programma te activeren. Oftewel, vrijheid 1 omvat ook “vrij om het programma te wissen.”
De vrijheid om het programma op jouw manier te verspreiden: basisvereisten
De vrijheid om een programma te verspreiden (vrijheden 2 en 3) betekent dat je vrij bent om kopieën te verspreiden, met of zonder veranderingen, gratis of voor een vergoeding voor de distributie en aan iedereen, overal. Vrij zijn betekent ook dat je niemand toestemming hoeft te vragen of te betalen wanneer je deze dingen wil doen.
Je zou ook de vrijheid moeten hebben om veranderingen aan te brengen voor eigen gebruik, zonder zelfs maar te hoeven vertellen dat je ze gemaakt hebt. Als je de veranderingen vrijgeeft, ben je niet verplicht om dat aan iemand te melden.
Vrijheid nummer 3 bevat ook het recht om programma's die je veranderd hebt weer uit te brengen als vrije software. Een vrije licentie staat ook andere vormen van distributie toe; oftewel, het hoeft geen auteursplichtige licentie te zijn. Echter, een licentie die niet toestaat dat veranderde versies niet vrij zijn is geen vrije licentie.
Deze vrijheid om te kopiëren mag niet beperkt worden tot alleen de uitvoerbare versie van het programma maar moet ook voor de broncode gelden, voor zowel exacte kopieën als ook veranderde versies. (Het uitbrengen van programmatuur in uitvoerbare versies is handig voor installeerbare besturingssystemen.) Het is prima wanneer er van een programma geen executeerbare versie kan worden gemaakt (sommige programmeertalen ondersteunen zoiets niet), maar je moet wel de vrijheid hebben om iets dergelijks te kunnen distribueren wanneer je een methode ontwikkelt of vindt om dit toch te doen.
Auteursplicht
Bepaalde beperkingen op de manier waarop vrije software wordt verspreid zijn acceptabel, wanneer ze de basisvrijheden niet beperken. Bijvoorbeeld, auteursplicht bepaalt (simpel gezegd) dat wanneer je het programma verspreidt, je geen beperkingen mag opleggen om andere mensen de basisvrijheden te ontzeggen. Deze regel beperkt de basisvrijheden niet, het beschermt ze juist.
Bij het GNU-project gebruiken we auteursplicht om deze vrijheden voor iedereen op juridische wijze vast te leggen. Wij geloven dat er belangrijke redenen zijn waarom het beter is om auteursplicht te gebruiken. Maar Vrije software zonder auteursplicht is ook ethisch. Zie Vrije Software-categoriën voor een beschrijving hoe “vrije software”, “auteursplichtige software” en andere soorten software zich tot elkaar verhouden.
Bepalingen met betrekking tot verspreiden
Bepalingen over hoe je een veranderde versie weer uitbrengt zijn acceptabel, vooropgesteld dat ze het recht om die versies uit te brengen, of privé te gebruiken, niet al teveel beperken. Het is dus acceptabel wanneer een licentie bepaalt dat je de gewijzigde versie een andere naam moet geven, een merk moet verwijderen of je eigen wijzigingen moet benoemen. Zolang ze het uitbrengen van de wijzigingen maar niet in de weg staan zij ze acceptabel; je bent toch al aan het wijzigen dus nog wat meer wijzigen kan er nog wel bij.
Bepalingen van het type “wanneer je een versie zus uitbrengt moet je hem ook zo uitbrengen” kunnen ook acceptabel zijn, onder dezelfde voorwaarde. Een voorbeeld daarvan is de bepaling dat wanneer je een veranderde kopie uitbrengt en de vorige ontwikkelaar een kopie daarvan vraagt, je hem die kopie ook moet geven. (Merk daarbij op dat je nog steeds de keus hebt om die versie überhaupt uit te brengen.) Bepalingen waarbij je broncode aan je gebruikers moet vrijgeven van versies die je uitbrengt zijn ook acceptabel.
Een uitzondering hierop is wanneer de licentie vereist dat je de naam moet wijzigen waarmee andere programma's jouw programma kunnen activeren. Hierdoor kun je het origineel niet vervangen. Dit is alleen acceptabel wanneer er een configuratiesysteem is wat dit mogelijk maakt.
Exportregels
Soms kunnen exportregels en handelsboycotten van de overheid de vrijheid om op internationaal niveau software te verspreiden in de weg staan. Softwareontwikkelaars hebben niet de bevoegdheid om deze beperkingen op te heffen of te negeren, maar wat ze wel kunnen doen is weigeren zich te laten leiden door deze regels, en ze niet op te nemen in de gebruiksvoorwaarden van het programma, zodat mensen die niet te maken hebben met deze regels niet worden gehinderd in het gebruik van de software. Vrijesoftwarelicenties mogen dus niet vereisen dat je je houdt aan exportbeperkingen.
Als alleen het bestaan van exportbeperkingen wordt genoemd, zonder dat zij een voorwaarde voor de licentie zelf zijn, is dit acceptabel, omdat het gebruikers niet beperkt. Als een exportbeperking in de praktijk niet van belang is voor vrije software, dan is het vereisen van deze exportbeperking geen probleem. Het is echter wel een potentieel probleem, omdat een verandering van exportwetten in de toekomst de vereiste realistisch maakt en dus de software niet-vrij zou maken.
Wettelijke overwegingen
Om het echte vrijheden te laten zijn, moeten ze dus ook permanent en onherroepelijk zijn zolang je niets fout doet. Wanneer de ontwikkelaar van de software de macht heeft om de licentie in te trekken, of om met terugwerkende kracht beperkingen aan de voorwaarden kan toevoegen, zonder dat jij als gebruiker iets fout doet, dan is die software niet-vrij.
Een vrije licentie mag niet vereisen dat je ook akkoord gaat met de licentie van een niet-vrij programma. Dus als een licentie bijvoorbeeld vereist dat je je houdt aan de licenties van “alle programma's die je gebruikt”, zou dit betekenen dat je je moet houden aan de licenties van niet-vrije programma's, als je die gebruikt. Dit maakt de licentie niet-vrij.
Het is acceptabel als een vrije licentie aangeeft welke wetgeving van toepassing is, of waar rechtszaken moeten worden gehouden, of beide.
Contractgebaseerde licenties
De meeste vrijesoftwarelicenties zijn gebaseerd op het auteursrecht en er zijn grenzen aan wat je binnen het auteursrecht kan bepalen. Wanneer een dergelijke licentie de vrijheid van de gebruiker als hierboven beschreven maar respecteert zullen we niet vlug tegen een onverwacht probleem oplopen (hoewel het soms wel gebeurt). Sommige vrijesoftwarelicenties zijn echter gebaseerd op contracten, en met contracten kun je veel meer beperkingen opleggen, wat betekent dat de kans groter is dat er onacceptabele beperkingen in zitten waardoor de software niet-vrij is.
We kunnen hier geen opsomming geven van alle mogelijke manieren waarop dit zou kunnen gebeuren. Wanneer een licentie op basis van een contract de gebruiker op ongebruikelijke manier beperkt, en die manier is hier niet genoemd als acceptabel, dan zullen we hierover na moeten denken maar de conclusie zal hoogstwaarschijnlijk zijn dat het niet-vrij is.
De juiste terminologie
Wanneer gesproken wordt over vrije software is het raadzaam termen als “gratis” te vermijden, omdat deze de suggestie wekken dat vrije software altijd kosteloos is; dit is niet het geval. Om termen als “piraterij” kan ook het best met een grote boog heen worden gezeild. Zie termen die verwarring zaaien en beter vermeden kunnen worden. We hebben ook een lijst met vertalingen van de term “vrije software” in diverse talen.
Hoe we deze criteria interpreteren
Merk tenslotte op dat je goed moet nadenken over de criteria die hier aan vrije software worden gesteld. Om te beslissen of een licentie aan die criteria voldoet laten we ons leiden door de geest van die criteria en niet alleen door exacte bewoordingen. Wanneer een licentie onredelijke beperkingen bevat, zullen we het afwijzen, ook al is die beperking niet voorzien in onze criteria. Soms moeten we zelfs de hulp van een advocaat inroepen om te bepalen of een bepaling acceptabel is of niet. Wanneer we er uit zijn zullen we vaak die criteria aanpassen om zo in de toekomst makkelijker te kunnen bepalen of een licentie goed is of niet.
Hulp verkrijgen met vrije licenties
Wanneer je wilt weten of een bepaalde licentie een vrijesoftwarelicentie is of niet, kijk dan bij onze lijst met licenties. Wanneer de licentie niet op de lijst voorkomt, vraag het ons dan via <licensing@gnu.org>.
Wanneer je erover denkt zelf een licentie op te stellen, schrijf de Free Software Foundation dan naar dat adres. Een wildgroei aan vrijesoftwarelicenties betekent meer werk voor gebruikers om de licenties te begrijpen; we kunnen je wellicht helpen een passende bestaande vrijesoftwarelicentie te vinden.
Wanneer dat niet mogelijk is en je echt een een nieuwe licentie nodig hebt, kunnen wij je helpen ervoor te zorgen dat het echt vrije software blijft en diverse praktische problemen te vermijden.
Software en verder
Softwarehandleidingen moeten vrij zijn om dezelfde redenen dat software vrij moet zijn. Ook omdat handleidingen feitelijk onderdeel zijn van het pakket.
Hetzelfde gaat eigenlijk op voor allerlei soorten werken met een praktische toepassing — oftewel werken die nuttige kennis in zich bergen zoals lesmateriaal en naslagwerken. Wikipedia is daarvan het beste voorbeeld.
Ieder werk kan vrij zijn, en de definitie van vrije software is dan ook uitgebreid naar een definitie voor vrije cultuur, die van toepassing kan zijn op allerlei dingen.
Open bron?
Een andere groep gebruikt de term “open bron” (of “open source”) als iets wat wel lijkt op “vrije software” maar het niet is. Wij gebruiken liever de term “vrije software” omdat die onmiddellijk in verband wordt gebracht met vrijheid. Dat heb je niet met de term open bron.
Geschiedenis
Af en toe herzien we deze Definitie van Vrije Software. Hieronder staat een lijst van substantiële wijzigingen, met daarbij verwijzingen naar wat precies is veranderd.
- Versie 1.169: Verduidelijkt dat de vrijheid om het programma uit te voeren betekent dat niets jou weerhoudt dat te doen.
- Versie 1.165: Vermeldt elke keer dat vrijheid 0 de vrijheid is om het programma uit te voeren zoals je wenst en dat vrijheden 1 en 3 gebruikers in staat stelt het te verwijderen.
- Versie 1.153: Verduidelijkt dat de vrijheid om het programma uit te voeren betekent dat niets jou weerhoudt dat te doen.
- Versie 1.141: Verduidelijkt welke code vrij moet zijn.
- Versie 1.135: Vermeldt elke keer dat vrijheid 0 de vrijheid is om het programma uit te voeren zoals je wenst.
- Versie 1.134: Vrijheid 0 heeft niet te maken met de functionaliteit van een programma.
- Versie 1.131: Een vrije licentie mag niet vereisen dat je akkoord gaat met een niet-vrije licentie van een ander programma.
- Versie 1.129: Vermeld expliciet dat de keuze van wetten en keuze van forum-specificaties zijn toegestaan. (Dit was altijd ons beleid.)
- Versie 1.122: Een exportbeperking is een echt probleem als de vereiste niet-triviaal is; anders is het alleen een potentieel probleem.
- Versie 1.118: Verduidelijking: de kwestie gaat over beperkingen op jouw rechten om te wijzigen, niet op welke wijzigingen je hebt gemaakt. En wijzigingen zijn niet beperkt tot “verbeteringen”
- Versie 1.111: 1.77 verduidelijkt door te vermelden dat alleen beperkingen met terugwerkende kracht onacceptabel zijn. De auteursrechthebbenden kunnen altijd aanvullende toestemmingen geven voor gebruik van het werk door het werk tegelijkertijd op een andere manier te verspreiden.
- Versie 1.105: Verduidelijkt in de korte beschrijving van vrijheid 1 het punt (reeds opgemerkt in versie 1.80) dat het inhoudt dat je je gewijzigde versie daadwerkelijk kan gebruiken voor je computeractiviteiten.
- Versie 1.92: Verduidelijkt dat geobfusceerde broncode geen broncode is.
- Versie 1.90: Verduidelijkt dat vrijheid 3 betekent dat je het recht hebt om kopieën van je eigen gewijzigde of verbeterde versie te verspreiden, niet het recht om deel te nemen in de ontwikkeling van iemand anders.
- Versie 1.89: Vrijheid 3 houdt het recht in om gewijzigde versies als vrije software uit te brengen.
- Versie 1.80: Vrijheid 1 moet praktisch zijn, niet slechts theoretisch; dus geen tivoisatie.
- Versie 1.77: Verduidelijkt dat alle veranderingen aan de licentie met terugwerkende kracht onacceptabel zijn, zelfs als het niet is beschreven als complete vervanging.
- Versie
1.74: Vier verduidelijkingen van punten die niet expliciet genoeg zijn,
of op sommige plekken vermeld zijn maar niet overal zo behandeld worden:
- "Verbeteringen" betekenen niet dat de licentie beperkingen op kan leggen aan de veranderde versies die men uitbrengt. Vrijheid 3 gaat ook over het uitbrengen van veranderde versies, niet alleen wijzigingen.
- Het recht om samen te voegen met bestaande modules gaat over modules met de juiste licentie.
- Vermeldt duidelijk de exportbeperkingen.
- Een wijziging in de licentie doorvoeren betekent ook het vervallen van de oude licentie.
- Versie 1.57: Sectie "Software en verder" toegevoegd.
- Versie 1.46: Verduidelijkt welk doel van belang is bij de vrijheid om het programma voor elk doel te gebruiken.
- Versie 1.41: Bewoordingen over contract-gebaseerde licenties verduidelijkt.
- Versie 1.40: Uitgelegd dat een vrije licentie jou moet toestaan om andere beschikbare vrije software te gebruiken om jouw wijzigingen te maken.
- Versie 1.39: Merk op dat het acceptabel is als een licentie vereist dat je de bron levert voor versies van software die publiekelijk gebruikt kunnen worden.
- Versie 1.31: Merk op dat het acceptabel is als een licentie vereist dat je jezelf kenbaar maakt als de auteur van wijzigingen. Andere kleine verduidelijkingen in de hele tekst.
- Versie 1.23: Potentiële problemen aangekaart die gerelateerd zijn aan contract-gebaseerde licenties.
- Versie 1.16: Uitgelegd waarom het verspreiden van binaire bestanden belangrijk is.
- Versie 1.11: Merk op dat een vrije licentie kan vereisen dat je kopieën van versies die je verspreidt, zendt naar vorige ontwikkelaars op aanvraag.
Er zijn gaten in de versienummering hierboven omdat er andere wijzigingen zijn geweest die de definitie of zijn interpretaties niet wijzigden. De lijst bevat bijvoorbeeld geen verandering in opmaak, interpunctie of andere delen van de pagina. De complete lijst van wijzigingen kun je zien via de cvsweb-interface.
Voetnoot
- Er is een historische reden waarom de vrijheden de nummers 0, 1, 2 en 3 hebben. Rond 1990 waren er drie vrijheden met de nummers 1, 2 en 3. Daarna realiseerden we ons dat de vrijheid om het programma uit te voeren expliciet benoemd moest worden. Die vrijheid staat aan de basis van de andere drie, en zou dus als eerste moeten staan. In plaats van de andere vrijheden een nummer op te schuiven, maakten we er vrijheid 0 van.
Opmerking van het vertaalteam:
- [1]Het Engelse “free” kan
zowel vrij als gratis betekenen, vandaar de nadruk in deze
en andere artikelen op de betekenis van de term
vrij
. Dit wordt nog verder bemoeilijkt doordat vrije software meestal ook vrijelijk te verkrijgen is, (bijna-) gratis dus. Maar vrije software slaat dus alleen op vrijheid, niet op prijs.
De definitie van vrije software bepaalt de criteria waarmee je een programma kunt aanmerken als vrij. Zo nu en dan schaven we die definitie bij om iets te verduidelijken of subtiele problemen uit te sluiten. Zie het historisch overzicht hieronder met veranderingen die reeds zijn doorgevoerd.
“Open bron” is iets anders: de filosofie en achterliggende waarden zijn anders. De praktische definitie ervan is ook anders, maar bijna alle open-bron-programma's zijn ook vrij. We leggen het verschil uit in Waarom “open bron” de essentie van vrije software niet begrijpt.