Open Source

Open Source is een beweging van vele tienduizenden programmeurs, die er naar streeft software te maken die vrij is van patenten en beperkingen met betrekking tot het gebruik en onderhoud. Dit wordt bereikt door de broncode (source code) van programma's vrij kopieerbaar te maken. Verbeteringen in software kunnen op die manier door iedereen aangebracht en gebruikt worden. Het is misschien een vreemde gedachte dat er zoveel mensen zijn die zonder betaling software helpen bouwen en dat het mogelijk is dat er (goede!) software gemaakt wordt door zoveel mensen zonder dat er een strakke leiding aan te pas komt.
Het bestaan van onder meer Linux is een bewijs dat het kan en gebeurt!

Open Source

De term Open Source is bedacht door Eric Raymond. Met zijn Open Source Initiative probeert hij Open Source als handelsmerk te promoten en software te certificeren als Open Source. Het OSI hanteert hierbij vrijere licentiemogelijkheden dan de GNU General Public License. Open Source verwijst ook naar de manier waarop de software tot stand is gekomen. In zijn artikel over de kathedraal en de bazaar ( The cathedral and the bazaar) beschrijft hij de verschillen tussen de traditionele manier van programma-ontwikkeling en de Open Source methode.

De Kathedraal

Bij de gebruikelijke methode van systeemontwikkeling worden een aantal programmeurs met scherp omschreven opdrachten aan het werk gezet. Naarmate de geplande opleverdatum dichterbij komt wordt de druk op de programmeurs opgevoerd en neemt het aantal fouten toe.
De software wordt (inclusief fouten) opgeleverd. In een volgende versie worden de meest in het oog springende bugs opgelost. Er wordt naar gestreefd het aantal releases te beperken, tenzij er natuurlijk extra geld voor gevraagd kan worden.

De Bazaar

In het bazaar model toont een programmeur een - misschien slechts nauwelijks werkend - programma met beperkte functionaliteit aan een aantal geïnteresseerden. Deze bekijken de code, vullen deze aan en verwijderen een aantal fouten. Daarna maakt de oorspronkelijke programmeur het programma bekend aan het publiek, dat door de toegenomen betrouwbaarheid en functionaliteit ook groter is geworden. Door deze waterval aan programmeurs worden weer functionaliteiten toegevoegd en fouten verwijderd, waarna weer een release volgt.
Omdat iedereen de code kan inzien worden fouten sneller opgespoord en kunnen veiligheidslekken sneller gedicht worden. Iedereen kan op een voor hem of haar zinvol moment een update van het programma downloaden maar hier ook vanaf zien.
Dit is met proprietary (eigendommelijke) software vaak niet mogelijk. Veiligheidslekken worden vaak laat gedicht of er moet gewacht worden op een nieuwe release.

GNU

Een van de eerste mensen die zich met Free Software bezighield was Richard Stallman. In 1984 startte hij het GNU-project - (GNU's Not Unix). Hij stelde zich ten doel een "vrij" besturingssysteem te bouwen, inclusief bijbehorende software. Hij gebruikte hierbij het woordje "free", dat in het engels zowel vrij als gratis kan betekenen. Hij moest daarom telkens weer uitleggen:
"Free software" is a matter of liberty, not price. To understand the concept, you should think of "free" as in "free speech", not as in "free beer".
Een stukje uit de nederlande vertaling van "Wat is vrije software" op de GNU website
"Vrije software" slaat op het recht van de gebruiker om de software te gebruiken, kopiëren, verspreiden, bestuderen, veranderen en verbeteren. Kort samengevat in vier punten:
  • De vrijheid om het programma te gebruiken voor elk doel.
  • De vrijheid om de manier waarop het programma werkt te bestuderen, en om het aan te passen aan je behoeften.
    Beschikbaarheid van de sourcecode is hiervoor noodzakelijk
  • De vrijheid om het programma en de broncode te verspreiden, zodat je je naasten kan helpen.
  • De vrijheid om het programma te verbeteren en te verspreiden, zodat de hele gemeenschap er voordeel uit kan halen.
    Beschikbaarheid van de broncode (source) is hiervoor eveneens noodzakelijk.

Een programma valt onder de noemer "vrije software" als de gebruikers al deze vrijheden hebben.
Bij het GNU wordt het "copyleft" principe gebruikt om deze vrijheden voor iedereen op juridische wijze vast te leggen. Hierin wordt vastgelegd dat de voorwaarden ook gelden voor de veranderde versies van de software: eens vrij, altijd vrij!
GNU-software en ook andere vrije software wordt dan ook verspreid onder het GNU General Public License (GPL)