Wat is open source?

 

 

Opensourcesoftware (soms ook openbronsoftware) is computerprogrammatuur waarvan de broncode in te kijken en te veranderen is. De term werd onder andere door Eric Raymond in 1998 bedacht om een bepaalde opensourceontwikkelmethodemee aan te duiden als reactie op het vrijgeven van de broncode van Netscape Navigator.

 

 

Geschiedenis

Het concept van Open Source en het gratis delen van technologische informatie bestond al lang voordat er computers bestonden. In de vroege jaren van de ontwikkeling van de auto was er een groep monopolisten die in het bezit waren van de rechten tot een 2 cyclus benzine motor waarvan het patent origineel bij George B. Selden lag. Door de controle over dit patent hadden zij de mogelijkheid om de industrie te monopoliseren en de autofabrieken te dwingen om zich aan hun eisen te houden, of het risico op te lopen dat ze een rechtszaak op hun dak kregen. In 1911 won alleenstaande autofabrikant Henry Ford een protest tegen het Selden patent. Het resultaat hiervan was dat het patent zo goed als waardeloos werd en een nieuwe associatie werd gevormd, wat nu gekend is als de 'Motor Vehicle Manufacturers Association'. Deze associatie stelde een wederkerige licentie overeenkomst in tussen al de auto fabrikanten in de VS. Zelfs als iedere fabrikant zijn eigen technologie ontwikkelde en deze patenteerde, werden al deze patenten open gesteld voor de andere fabrikanten. Totdat de VS in de WO2 deelnamen werden 92 Ford patenten vrij gebruikt door andere fabrikanten en zij maakten op hun beurt gebruik van 515 patenten van andere fabrikanten, dat allemaal zonder rechtszaken of het uitwisselen van geld.

Heel vergelijkbaar met open standaarden is dat onderzoekers met toegang tot het 'Advanced Projects Agency Network' (ARPANET) een proces gebruikt genaamd 'Request for Comments to develop telecommunication network protocols'. Gekenmerkt door hedendaags Open Source werk leidde dit proces in de jaren 1960 tot het geboorte van het internet in 1969. Er zijn nog eerdere gevallen van Open Source geweest, zoals de broncode van het besturingssysteem van IBM en andere programma's van IBM in de jaren 1950, 1960, en de 'Share user group' die zorgde voor de uitwisseling van software. Open Source maakte zijn debuut op het internet toen het internet gewoon een 'message board' was en evolueerde tot meer geavanceerde weergave en betere "websites". Op het moment zijn er heel veel websites, organisaties en bedrijven die 'Open Source Sharing' van iedere computer code tot mechanismen om producten te verbeteren, techniek of medische vooruitgangen promoten.

De beslissing door sommige mensen in de 'Free Software' groep om de term 'Open Source' te gebruiken kwam van een bijeenkomst in Palo Alto, California, dit was een reactie op de vrijgave van de broncode van Navigator door Netscape in January 1998. De groep in de mensen in de bijeenkomst bestond uit Christine Peterson (suggereerde 'Open Source'), Todd Anderson, Larry Augustin, Jon Hall, Sam Ockman, Michael Tiemann en Eric S. Raymond. Ze gebruikten de gelegenheid van de release van de broncode van Navigator code om zich te bevrijden van de ideologische en confronterende connotaties van de term 'Free Software'. Netscape plaatsten een licentie op hun code en brachten deze uit als 'Open Source' onder het 'Netscape Public License' en nadien onder het 'Mozilla Public License'. De term kreeg een grote boost op een evenement in april 1998 door Tim O'Reilly (Technologie uitgever). Origineel getiteld het 'Freeware Summit' en later gekend als het 'Open Source Summit' bracht het evenement alle leiders van de meest belangrijke 'Free' en 'Open source' projecten, onder andere: Linus Torvalds, Larry Wall, Brian Behlendorf, Eric Allman, Guido van Rossum, Michael Tiemann, Paul Vixie, Jamie Zawinski van Netscape en Eric Raymond. Op die bijeenkomst werd de verwarring over de term 'Free Software' naar boven gehaald. Tiemann wou als nieuwe term 'Sourceware' terwijl Raymond streefde voor 'Open Source'. Al de ontwikkelaars namen dus samen deel aan een stemming en de uiteindelijke winnaar van deze stemming werd aangekondigd op een persconferentie die dag. Vijf dagen later maakte Raymond zijn eerste publieke roep naar de 'Free Software' gemeenschap om de nieuwe term te adopteren. Het 'Open Source Initiative' werd kort daarna gevormd.

Gestart in de vroege jaren 2000 waren een aantal bedrijven begonnen met het publiceren van een deel van hun broncode om te bewijzen dat zij meededen aan het 'Open Source' fenomeen, terwijl zij de belangrijke delen voor zich hielden. Dit leidde tot het ontwikkelen van de nu wereldwijd gebruikte termen 'Free Open Source Software' en 'Commercial Open Source Software' om een onderscheid te maken tussen helemaal open en half open vormen van 'Open Source'.

[bewerken]Situatie

Een computerprogramma bestaat meestal uit twee onderdelen: de software die wordt 'gedraaid' op de computer (de gecompileerde executable) en de 'broncode' waarmee deze software gemaakt is. De broncode is niet nodig om de software te laten werken, daarvoor is alleen de executable nodig. Mocht iemand een stuk software willen aanpassen dan moet hij de broncode hebben, deze aanpassen en vervolgens compileren. Er is dan een nieuwe versie van de software gemaakt.

Open source wordt vaak onterecht verward met freeware. Open source is voor de eindgebruiker vaak gratis zoals freeware, maar bij freeware wordt de broncode niet opengesteld. Verder zijn de verschillen vooral politiek van aard. Makers van freeware zouden bijvoorbeeld nooit gebruikmaken van Digital Rights Management omdat freeware-ontwikkelaars claimen dat DRM de vrijheden van de consumenten aantast.

[bewerken]De basis

De ontwikkelmethode die Eric Raymond beschreef gaat ervanuit dat de broncode van software beschikbaar gesteld wordt. Hiermee wordt de mogelijkheid gecreëerd om een programma aan te passen door eenieder die de kennis heeft om de broncode te begrijpen. Dit is voornamelijk gebaseerd op de gebruiken van de eerste (universitaire) computerspecialisten die (vanaf het begin van data-uitwisseling via bijvoorbeeld het interuniversitaire ARPANET) elkaar wilden helpen met het gebruiken van de (toen nieuwe) computers.

[bewerken]Verschil met andere software

Bij de meeste commerciële software is de broncode bedrijfsgeheim / eigendomscode: de gebruiker 'koopt' of 'huurt' een programma en gebruikt dat. Indien de software aangepast moet worden zijn de mogelijkheden vaak beperkt. Meestal moet men namelijk naar de leverancier van de originele software om de executable aan te passen. Dit noemt men maatwerk. Opensourcesoftware voorkomt de verkoper-lock-in van een enkele softwareproducent. Opensourcesoftware geeft de vrijheid om eenvoudig van software te wisselen als de producent stopt met de verkoop, de prijs voor het product verhoogt, veranderingen aan de software aanbrengt of veranderingen in de licenties van de software doorvoert naar een minder acceptabele vorm.

[bewerken]Ontwikkeling

De structuur van medewerkers is duidelijk verschillend van de klassieke bedrijfsstructuur. In plaats van één enkel bedrijf dat het project ondersteunt, is het meestal een combinatie van groeperingen, individuen en eventueel bedrijven.[1] Dit heeft enkele gevolgen:

  • Er is meestal geen sprake van vooropgestelde tijdsschema’s, de ontwikkelaars werken aan dat deel waar ze het liefst aan werken en niemand is verplicht om te werken. [2]
  • Er wordt samen tot een consensus gekomen over de uiteindelijke functionaliteit etc. van het programma. Er is geen management dat beslist wat er uiteindelijk in komt of niet in komt.[3]
  • Er is een vage grens tussen ontwerp en implementatie: de ontwerper implementeert en vice versa.[2]

Een groot deel van het programmeren wordt ook uitgevoerd en gecontroleerd door buitenstaanders. Iedereen kan een bijdrage leveren aan de code. In plaats van te wachten tot het programma volledig af is, worden er tijdens de ontwikkeling testversies van het programma publiek gemaakt. Zo kan het al door gebruikers getest worden voordat het werkelijk af is. Dit zorgt ervoor dat bugs die nog in het programma zouden zitten, kunnen gedetecteerd worden voordat de definitieve versie van het programma verschijnt. Vaak zijn er verschillende versies parallel beschikbaar: een stabiele versie voor algemeen gebruik en een aantal ontwikkelingsversies.[2]

Omdat er door meerdere mensen tegelijk aan wordt gewerkt, verschilt opensourcesoftware van commerciële software qua architectuur. Commerciële software is meestal onderling afhankelijk, de afzonderlijke delen zijn veel moeilijker aan te passen omdat alles zo sterk samenhangt. Bij opensourcesoftware is dit net omgekeerd: omdat er verschillende aanpassingen worden gemaakt en toepassingen worden toegevoegd, zit alles losser ineen. Dit is nodig aangezien dit type software een continu evoluerend proces is.[1]

[bewerken]Voordelen open source

Indien gekochte software open source is, heeft degene die deze software gekocht heeft de beschikking over de broncode. Hiermee is het aan de koper van software (en niet meer aan de verkoper) om aan te geven of en hoe de software aangepast moet worden. En uiteraard is het dan ook aan de koper om verschillende aanbiedingen en aanbieders te vergelijken. De originele verkoper/ontwikkelaar heeft als zwaarwegend argument bij een onderhandeling dat de benodigde ervaring en kennis voor de gewenste aanpassing bij hem/zijn organisatie beter aanwezig is. Andere aanbieders zullen een zware taak hebben om op een vergelijkbaar niveau van kennis, kunde en/of ervaring te komen. De klant/koper is degene die het bewijs van deze kennis, kunde en ervaring kan afdwingen. Hij/zij is niet meer gebonden aan de originele leverancier en dus minder afhankelijk van keuzes die ooit in het verleden gemaakt zijn.

Iedereen kan de broncode inkijken en aanpassingen aanbrengen. Dit zorgt voor een continue verbetering van het programma. Let wel dat wanneer iemand een wijziging aanbrengt in de code, deze wijziging niet meteen in het officiële programma terecht komt. Het uiteindelijke product is dus meestal van betere kwaliteit dan wanneer het door een kleine groep van programmeurs gemaakt wordt. Door het publiceren van problemen en oplossingen binnen het grote open source netwerk, zal er sneller een oplossing aangeboden worden. Om dezelfde reden zijn open source programma's vaak innovatiever dan een vergelijkbaar closed source programma.

Voor de eindgebruiker zijn open source oplossingen meestal gratis, voornamelijk omdat de broncode is opengesteld voor het publiek. Het is wel zo dat open source niet per se gratis moet zijn. Er is namelijk nog steeds ondersteuning en hardware nodig.

[bewerken]Open source voor de eindgebruiker

Vooral voor de eindgebruiker is open source interessant. Zo is er vele alternatieve software te vinden op SourceForge.net. Verder zijn er open source alternatieven te vinden voor besturingssystemen. De verzameling van open source besturingssystemen luistert naar de naam Linux.

[bewerken]Zoekmachine voor code

Met een zoekmachine zoals Google Code Search of Koders kan in de meeste opensourcesoftwareprojecten die voor iedereen toegankelijk zijn naar beschikbare programmacode gezocht worden in o.a. PHP, Javascript, Delphi, C++ en ASP.

[bewerken]Tweede Kamer

In het verlengde van deze argumentatie heeft de Tweede Kamer in 2002 de Motie Vendrik aangenomen. Hiermee heeft de Tweede Kamer van de Staten-Generaal der Nederlanden de Regering der Nederlanden opdracht gegeven om er zorg voor te dragen dat de Nederlandse Overheid uiterlijk 2006 zou overgaan tot open software en open standaarden. In het kader daarvan is onder andere het programma OSOSS opgezet.

[bewerken]Zie ook

[bewerken]Referenties

  1.  a b N. Weynants and J. Cornelis. How open is the future? Brussels University Press, 2005.
  2.  a b c C. Pavlicek. Embracing Insanity: open source software developement. Sams, 2000.
  3.  A. Story. Intellectual property and computer software. Issue Paper 10, UNCTAD-ICTSD, Geneve, 2004.

Bron: wikipedia

[bewerken]Externe links

Last Updated (Tuesday, 05 July 2011 09:29)