Dit is een vertaling van een Engelstalige pagina.
Wat is vrije software?
This page is maintained by the Free Software Foundation's Licensing and Compliance Lab. You can support our efforts by making a donation to the FSF. Have a question not answered here? Check out some of our other licensing resources or contact the Compliance Lab at licensing@fsf.org.
De definitie van Vrije Software
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.
“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” om aan te geven dat we niet bedoelen dat het gratis is.
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.
Een programma is vrije software wanneer de gebruikers vier essentiële vrijheden hebben:
- 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 je naasten 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 elke code die we willen gaan gebruiken, of andere mensen laten gebruiken. Beschouw bijvoorbeeld een programma A dat automatisch een programma B opstart om sommige dingen te verwerken. Als we van plan zijn om 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; we kunnen B negeren.
De rest van deze pagina verduidelijkt enkele punten, zodat het duidelijk is of bepaalde vrijheden adequaat zijn.
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.
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 om dit te doen. Het heeft niks te maken met de functionaliteit die het programma heeft, of met hoe nuttig het is voor wat je wil doen.
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.
Om de vrijheid om veranderingen te maken en publiceren (vrijheden 1 en 3) toe te kunnen passen, moet de gebruiker toegang tot de broncode van het programma hebben. 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.
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.
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.
Echter, 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.
“Vrije software” betekent niet “non-commercieel”. Een vrij programma is ook beschikbaar voor commercieel gebruik, commerciële ontwikkeling en verspreiding. Ontwikkeling van vrije software op commerciële basis is gemeengoed geworden en heel belangrijk. Of je nu betaald hebt voor vrije software, of dat je het gratis ontvangen hebt, je hebt altijd het recht om deze software te kopiëren en te veranderen zelfs om kopieën te verkopen.
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.
Beperkingen en richtlijnen over hoe je een veranderde versie weer uitbrengt zijn acceptabel, vooropgesteld dat ze het recht om die versies uit te brengen, of 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” is ook acceptabel bij eenzelfde soort voorwaarde. Een voorbeeld daarvan is de bepaling dat wanneer je een veranderde kopie uitbrengt en de vorige ontwikkelaar een kopie daarvan vraagt, moet je hem ook die kopie 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.
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. Vrije software-licenties mogen dus geen exportbeperkingen in zich hebben.
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; echter, het is een potentieel probleem, omdat een verandering van exportwetten in de toekomst de vereiste realistisch maakt en dus de software niet-vrij zou maken.
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.
De meeste vrije software-licenties 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 vrije software-licenties echter zijn 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.
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 “softwarepiraterij” 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 van Vertalingen van de term “vrije software”
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.
Wanneer je wilt weten of een bepaalde licentie een vrije software-licentie is of niet, kijk dan op onze lijst met licenties. Wanneer de licentie niet op de lijst voor komt, 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 vrije software-licenties betekent meer werk voor gebruikers om de licenties te begrijpen; we kunnen je wellicht helpen een passende bestaande vrije software-licentie 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
Software handleidingen 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” (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.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 de versies die je verspreidt, zendt naar de auteur.
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.
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.