Startpagina
Artikelen
Missie
Contact
Bedrijven
Internationaal

Op deze pagina treft u het oorspronkelijke artikel van Henk Klöpping aan over "Open Source" dat (vrijwel integraal) verscheen in de Computable van 16 oktober 1998. Zie ook de site van Computable.


'Waterdichte' software

Er is een stille revolutie gaande - al is het misschien beter te spreken over de 'coming-out' van iets dat geleidelijk aan is geëvolueerd. De impact van wat gaande is zal groot zijn: er is een parallel te trekken met de opkomst van het Internet. Ook daar zagen we dat een ontwikkeling van tientallen jaren plots 'doorbrak' naar de publieke sfeer - en met uiteindelijk significant succes, niettegenstaande alle scepsis en ongeloof. Het bleek 'The Right Thing' te zijn.

Of Open Source ook 'The Right Thing' is moet nog blijken. Maar er zijn veel signalen die daar op wijzen. Zo heeft Oracle - toch niet de eerste de beste - recentelijk besloten om haar commerciële software te porten naar het Linux operating systeem. Zij volgde daarmee Informix. Eerder had Sun al aangegeven ook een vinger in de Linux-pap te willen houden en zich aangesloten bij "Linux International". En Marc Andreesen van Netscape spreekt enthousiast over de verbetering van de kwaliteit die ontstond toen de Netscape browser broncode beschikbaar kwam voor het publiek. Als u straks de URLS volgt die ik aan het eind van dit artikel opgeef, maakt u ook al gebruik van 'horizontaal geprogrammeerde software' - ook wel Open Source of Free Software genoemd. De broncode van deze software is vrijelijk beschikbaar.
De wereld verandert - organisatiestructuren wijzigen meer en meer van een verticaal model naar een horizontaal model. Coöperatie en concurrentie blijken elkaar niet langer meer uit te sluiten. En de ontwikkelmethodieken veranderen mee: van verticale naar horizontale software.

Kort en goed: de tijd is rijp. Open Source heeft de toekomst.

De verticale ontwikkelmethode

De meeste software wordt van oudsher 'verticaal' gebouwd: een kleine groep programmeurs knutselt ijverig, in opdracht van 'een baas', aan een product wat van juist voldoende kwaliteit is. Wat precies 'voldoende kwaliteit' is, wordt uiteraard gedefinieerd door de afnemer.

Als die afnemer niet in staat is om de kwaliteit zelf te bepalen - IT is nu eenmaal een complexe aangelegenheid - kan hij bijvoorbeeld een IT deskundige in dienst nemen, die hem hierbij helpt.
Bedrijven of personen die het zich niet kunnen veroorloven om een eigen expert in te huren en die verder de kennis niet (kunnen) hebben hoe je kwaliteit van software beoordeelt hebben geen andere keus dan blind te varen op de optiek en expertise van de softwarebouwer/leverancier, die uiteraard met flair de eigen standaard-producten adviseert. Het is een bekend fenomeen dat de bedrijfsprocessen in dat geval op de software worden aangepast inplaats van andersom.

Het verticale ontwikkelmodel voldoet dus goed, zolang er door de leverancier voldoende kundige specialisten te werven zijn, er bij de afnemer voldoende geconcretiseerd kwaliteitsbesef aanwezig is en terugkoppeling naar de bouwer tot de mogelijkheden behoort. Kwaliteitssoftware is dus afhankelijk van - een fraaie open deur - de beschikbaarheid van specialisten.

Als de markt aantrekt en de instroom van specialisten additioneel gering is - een wereldwijd optredend fenomeen - is er structureel te weinig capaciteit beschikbaar om de kwaliteit van de software hoog te houden. Een sterk bepalende factor is daarbij ook dat elk bedrijf in zo'n situatie zijn uiterste best doet om goede mensen te werven, die dan vervolgens slechts voor een beperkt doel worden ingezet: het heil van het bedrijf waar ze voor werken, wat op zijn best correspondeert met slechts een deel van het heil van de klanten van dat bedrijf.

Maar met de toenemende complexiteit van software, de toenemende vraag naar producten en de toenemende schaarste op de markt lukt het de meeste bedrijven niet meer om voldoende kennis in huis te halen. De kwaliteit van de software neemt daardoor af.

Gelukkig is de productiviteit van de ontwikkelaars dramatisch toegenomen, dankzij het gebruik van RAD toolsets. Maar die medaille heeft ook een keerzijde: de tools die bij ontwikkeling gebruikt worden zijn vaak ook van 'juist voldoende kwaliteit' - dit ter beoordeling van de testteams van de leverancier, in plaats van de gebruiker. En een toolset kan structureel 'minder goede' applicaties genereren. De toenemende omvang en afnemende efficiency van onze programmacode geeft hiervan een goede indicatie.

Een aanvullend probleem is dat commerciële bedrijven de broncode het liefst voor zichzelf houden - enerzijds om de voorsprong op de concurrent niet te verliezen, anderzijds om de klant te binden. Het is commercieel gezien prettig dat de fouten in een gesloten pakket van leverancier A zodoende niet door leverancier B opgelost kunnen worden. Als afnemer zit je dus vast aan je leverancier, of je moet al kunnen leven met een knappe kapitaalvernietiging. Maar vaak is dan het enig resultaat dat je nu niet meer gebonden bent aan A, maar aan B en het hele verhaal opnieuw begint. En de binding tussen leverancier en afnemer bestaat dan feitelijk niet meer omdat de leverancier de juiste kwaliteit levert, maar domweg omdat er geen weg terug bestaat zonder zeer forse investeringen. Een kwalijke zaak.

Voor managementlagen binnen bedrijven is het juist in die situaties, waarbij je dus feitelijk een slechtere functionaliteit casu quo kwaliteit krijgt dan je zou willen, verleidelijk om zich met een beroep op het "Kwik- Kwek- en Kwakeffect" vrij te pleiten: men hamert er dan op dat 'de anderen' het pakket ook gebruiken en de typische redenatie wordt dan dat "het nog niet zo slecht kan zijn, want de anderen gebruiken het ook, dus is het standaard". Kwik zegt het, dus Kwek en Kwak ook.

Eindgebruikers van verticaal gebouwde software die massaal wordt gebruikt zijn de grootste slachtoffers van de verticale ontwikkelmethode: enerzijds hebben zij geen mogelijkheid om hun individuele wensen en eisen op te leggen aan de producent - die luistert al lang niet meer naar het individu - anderzijds is de markt voor massa-software ook nog verworden tot een feitelijk monopolie, zodat je 'wel mee moet doen'. De massale 'reboot'-ziekte die ons al bijna 10 jaar in zijn greep heeft is een goede indicatie dat er ergens iets niet goed is gelopen.

Het zou mooi zijn als de schaarse specialisten met elkaar zouden mogen overleggen, elkaars broncode konden controleren en elkaar konden helpen bij de voltooiing van projecten - maar dat wordt door het management van bedrijven veelal nog gezien als een verraad aan de broodheer - ontslag kan het gevolg zijn.

De horizontale ontwikkelmethode

Gelukkig is er in de laatste decennia toch een verschuiving ontstaan: tegen de stroom in, en voornamelijk gevoed uit noodzaak, wordt meer en meer software 'horizontaal' gebouwd. Met name de beschikking over het wereldwijde Internet heeft een impuls gegeven aan het horizontale ontwikkelmodel.

De horizontale ontwikkelmethodiek houdt in dat een probleem dat opdoemt van meet af publiek - via het Internet - wordt bediscussieerd. Dat 'publiek' moet niet worden gelezen als 'door iedereen' - het zijn de ervaren specialisten die onder elkaars gelijken de discussie voeren.

Anderen, die het probleem ook herkennen en opgelost willen zien participeren dan in het 'project', geven commentaar en dragen suggesties aan. Veelal wordt vanaf de eerste dag al een stukje code gepubliceerd dat althans een deel van het probleem oplost. Die code mag zelfs van slechte kwaliteit zijn, maar omdat er zoveel ogen van kundige heren en dames op worden gericht evolueert zo'n kristallisatiepunt vaak heel snel tot software van uitstekende kwaliteit.

Typisch voor de horizontale benadering is het dat er vaak een coordinator of team van coordinatoren ontstaat - vaak is dat degene die het probleem als eerste oppakte - die alle wijzigingen verzamelt en verwerkt in de broncode, waarna deze broncode opnieuw ter beschikking wordt gesteld. Linus Torvalds vervult deze rol bijvoorbeeld voor het Linux besturingssysteem, maar bij het (commerciële) Netscape is het een team van experts.

Maar wordt het dan niet al heel snel een warrige puinhoop? Gaat dan niet iedere hacker zijn eigen versie van de software maken? Wel, het staat inderdaad een ieder vrij om 'eigen' afsplitsingen van de software te maken. Maar dat gebeurt niet vaak, omdat de coordinatoren veelal de strategie volgen om zoveel mogelijk van de gesuggereerde wijzigingen ook daadwerkelijk in de broncode op te nemen. Blijkt dan in retroperspectief dat dit minder geslaagd is, wordt dat door het vaak steeds verder groeiende team van participerende experts gesignaleerd en alsnog ongedaan gemaakt.

Om nu te voorkomen dat de gebruiker van de software met een soort permanente beta-release zou moeten werken - al is deze vaak al beter van kwaliteit dan de middels verticale methoden gebouwde gelijksoortige software - wordt bijvoorbeeld voor het Linux operating systeem gezorgd dat er twee versies van de software zijn: een experimentele lijn, die dus nog in ontwikkeling is en een ietsje oudere, stabiele lijn. Als de experimentele lijn stabiliseert, volgt een overgang naar de stabiele lijn en wordt een nieuwe experimentele lijn gestart. Iets soorgelijks zien we bij Netscape, waar we een 'officiële' versie van de browser hebben en een ontwikkellijn.

Dit alles resulteert in softwaresystemen waarvan de broncode vrijelijk beschikbaar is en die voor een ieder die dat wil toegankelijk is. De meest recente naam voor dit soort software is "Open Source".

"Hee!" zult u zeggen, "maar dat was er toch altijd al? Heet dat niet 'Free Software'?" - en inderdaad, Open Source software is in feite hetzelfde, maar onder een nieuwe naam. Deze nieuwe naam werd op 5 februari 1998 gekozen door een klein team van experts, waarvan er een - Eric Raymond - was gevraagd om Netscape te helpen bij de planning van de vrijgave van de broncode van de Netscape browser. Dat werd door de daar aanwezigen gezien als een cruciale stap op weg naar massieve acceptatie van de horizontale software en aangegrepen om nu ook eens marketing te bedrijven - een punt waar de horizontalen wat slecht in zijn - en dus kan de link tussen "Free Software" en "Open Source" worden geschets als volgt: Open Source is het marketinginstrument van Free Software. "Free" moet je dan wel lezen als 'in vrijheid geschreven' en niet per se als 'gratis verkrijgbaar'.

De schaarste aan specialisten kan denkelijk niet zo maar worden opgelost door een andere ontwikkelmethode. Maar de specialisten die werken volgens het Open Source model kunnen wel veel efficienter werken: ze maken uitputtend gebruik van elkaars broncode en kennis. Omdat er geen restricties zijn om Open Source software ook commercieel in te zetten - mits de modificaties op het origineel maar terug worden gekoppeld aan de Open Source gemeenschap - kan een bedrijf zeker geld verdienen met de inzet van Open Source. Het bedrijf kan dan niet meer profiteren van het unieke bezit van de broncode - maar de kwaliteit van de software wordt wel een stuk beter en de klant zal minstens even graag betalen voor goede ondersteuning als voor software.

Een voordeel van Open Source is ook dat het in eerste instantie de experts zelf zijn, die de afnemers van de producten zijn. Zij worden dus zelf het eerst geconfronteerd met de ellende die gebricoleer oplevert, waardoor de impuls om 'er iets aan te doen' veel groter is.

"Maar.. is die software dan niet vooral gericht op programmeurs en engineers? Hoe zit het met eindgebruikerssoftware?". Ik citeer uit de FAQ van de internationale Open Source site:

    Vijftien jaar geleden zeiden de mensen "Die lui van de free software beweging hebben een paar mooie speeltjes en demo's gebouwd, maar ze hebben de capaciteit niet om echte tools te bouwen". De FSF bewees dat ze het bij het verkeerde eind hadden. Vijf jaar geleden zeiden dezelfde mensen "Nou goed, de GNU toolkit is een prachtige toolkit voor programmeurs, maar ze zullen nooit een waardevol besturingssysteem bouwen". Linux bewees opnieuw dat ze het bij het verkeerde eind hadden. Nu zegt men "Nou goed, Linux is een leuke speeltuin voor hackers en het is aardig goed in Internet-toepassingen, maar ze zullen nooit nette eind-gebruikers toepassingen schrijven." Als de nee-zeggers het deze keer bij het goede eind zouden hebben zou dat de eerste keer zijn.

Er zijn inmiddels Open Source kantooromgevingen (StarOffice) [opm], Open Source grafische pakketten van hoogstaande kwaliteit (GIMP), en er is natuurlijk de Netscape browser. Maar er kondigt zich nu ook een golf van meer eindgebruikers-toepassingen aan, en er is de tendens te zien dat ook commerciële bedrijven hun producten porten naar Open Source of zelfs Open Source maken (Oracle, Corel, Netscape, Red Hat, Caldera.)

Open Source software vormt nu al de basis van het wereldwijde Internet. TCP/IP, DNS, Sendmail en bijvoorbeeld de Apache webserver zijn daarbij onmisbare pijlers. Maar er is meer: Open Source manifesteert zich nu ook op de massa-markt en helpt zo mee om de monopolies die we daar zien te verbreken. Met name het Linux operating systeem - zie ook het eerder in dit blad gepubliceerde artikel van Arthur Donkers - mag zich verheugen in de belangstelling van honderdduizenden hooggeschoolde specialisten.

In deze laatste observatie ligt ook het succes van Linux besloten: het zijn de engineers, de techneuten, die uit liefde voor hun vak en uit onvrede met de 'standaard'-oplossingen de oude wetten van de commercie met voeten treden. Want het zijn dezelfde specialisten die dagelijks met de slechte kwaliteit van het verkrijgbare worden geconfronteerd. En het is een gegeven dat, wanneer de technologen een keuze hebben gemaakt, deze keuze binnen een paar jaar ook doordringt op de werkplekken van de niet-technologisten. De golf is niet meer te stuiten.

Kruispunt of puzzle?

De vraag kan terecht worden gesteld of de Open Source benadering de oplossing is voor alle kwaliteitsproblemen. Moet alle software nu dus 'horizontaal' worden gebouwd? Wie betaalt dan de salarissen van de ontwikkelaars, bijvoorbeeld? Welnu, zeker 75% van het werk van bijvoorbeeld programmeurs bestaat uit het onderhouden van verticale software. Die taak blijft bestaan. Verder zijn er veel gebieden die zich niet (nog niet?) goed lenen voor een volledig horizontale benadering, denk maar eens aan de programmering van hardware-besturingen, zoals de injectiemotor in uw auto, of aan software die de bedrijfsprocessen van banken en verzekeringsmaat- schappijen ondersteund - en daar gaat het toch echt om het overgrote deel van het werk in onze branche. Wel verwacht ik dat commerciële bedrijven meer en meer hun experts de vrijheid zullen geven om een deel van hun werktijd betaald door te brengen met het schrijven van 'software in het algemeen belang'. Niet omdat men aan liefdadigheid wil doen, maar gewoon, omdat het algemeen belang ook het belang van het bedrijf blijkt te zijn.

Bedrijven als Vertis, Netscape en Oracle hebben dit ingezien - het is een kwestie van tijd en dan volgt ook uw bedrijf. Maar evenals uw bedrijf jaren geleden wellicht dankzij uw vooruitziende blik nu een vooraanstaande rol speelt in de Internetmarkt, zou u uw baas en uzelf de dienst moeten bewijzen om meer Open Source software in te zetten. De bal ligt bij u.


Noot: Ivo Jansch merkt hierbij op dat StarOffice zelf geen Open Source pakket is, maar wel gratis verkrijgbaar is voor Open Source besturingssystemen.


URLS:

Een goede beschrijving van het Open Source model kan worden gevonden in Eric Raymonds geschrift "De kathedraal en de bazaar" - zie www.opensource.nl/bazaar.html als u een Nederlandse vertaling van zijn stuk wilt lezen. De internationale Open Source site is te vinden onder http://www.opensource.org.

Het artikel van Arthur Donkers kan ook op de Nederlandse Open Source pagina's worden opgevraagd: /artlinux.html

Zie voor meer uitleg over de diverse gangbare benamingen van vrije software, maar ook voor het commentaar van de vader van Free Software, Richard Stallman op de marketingnaam "Open Source": http://www.gnu.org/philosophy/categories.html, of raadpleeg de generieke "Free Software" site http://www.fsf.org.

Omdat het in het belang is van het Internet dat er altijd voldoende Open Source beschikbaar blijft om het Internet onafhankelijk van verticalisten operationeel te kunnen houden, is er een werkgroep Open Source in oprichting van de Internet Society Nederland. Als u wilt participeren, kunt u mij een email sturen. Zie verder ook http://www.isoc.nl.

De NLUUG heeft een special interest groep opgezet voor Linux en Open Source. U kunt informatie opvragen over deze werkgroep via e-mail: buro@nluug.nl. Zie ook www.nluug.nl.

En verder: www.mozilla.org, www.oracle.com/html/linux.html, www.li.org, www.linux.org, en www.vertis.nl.