Vorige week schreef Henk Klöpping van Vertis dat ‘open source’ software, zoals Linux, een stille revolutie op het gebied van software-ontwikkeling veroorzaakt. Twee reacties. Van CMG en Oracle.
Wij zijn het met de schrijver van ‘Waterdichte software’, Henk Klöpping, eens dat ‘open source’ software een hoge kwaliteit kan hebben. Ook wij zijn Linux-adepten.
De hoge kwaliteit van een product als Linux is terug te voeren op de toegepaste peer-reviews op de broncode en het uitgebreide testen. Op het moment dat er een nieuwe versie van Linux wordt gepubliceerd, gaat er wereldwijd een legertje enthousiaste testers en debuggers aan de slag. Deze zijn bereid dit zonder betaling te doen omdat het voor hen een intellectuele uitdaging vormt. Eric S. Raymond noemt dit in een lezenswaardig artikel het bazaar-model.
Zie http://www.earthspace.net/~esr/writings/cathedral-bazaar/.
Ontwikkelproces
Software-ontwikkelaars weten dat strakke oplevertermijnen en beperkte budgetten slecht zijn voor de kwaliteit. Er is altijd een spanningsveld tussen de kwaliteitsbewuste ontwikkelaar en de prijsbewuste opdrachtgever. De kwaliteit van het eindproduct is daardoor een compromis. Voor ‘open source’ software gelden deze beperkingen niet. Dat is inderdaad goed voor de technische kwaliteit.
Het gaat bij software-ontwikkeling echter niet alleen om de kwaliteit van het eindproduct zelf. Ook de kwaliteit van het ontwikkelproces moet in ogenschouw worden genomen. Hierbij spelen vragen een rol als: is het gebouwd volgens de specificaties, binnen de gestelde termijn en binnen het budget? Vooral deze aspecten zijn van belang in de commerciële software-industrie. De werkwijze van een bedrijf als CMG is wat betreft organisatie, kwaliteitssystemen en ontwikkelmethodieken zodanig, dat ook aan deze aspecten voldoende aandacht wordt besteed.
Wij zijn het daarom niet eens met de stelling dat er een revolutie zal komen in systeemontwikkeling. Naar onze mening werkt het concept ‘horizontaal programmeren’ uitsluitend voor een beperkte klasse van systemen.
- Het te bouwen systeem moet een intellectuele uitdaging vormen, anders zullen er geen goede ontwikkelaars tegen geen of een geringe vergoeding aan willen werken. En wat kan de ontwikkelaar winnen? Ego satisfaction and reputation among other hackers! (The Cathedral and the Bazaar);
- Het moet een systeem zijn met potentieel veel gebruikers, daar anders de pool van ontwikkelaars te klein is;
- De ontwikkelaars moeten het ook zelf willen gebruiken;
- Op hoofdlijnen moet consensus bestaan over de doelstellingen en oplossingsrichting, zodat daarover geen eindeloze discussie ontstaat;
- De kwaliteit van het ontwikkelproces zoals hierboven omschreven, mag geen rol spelen.
Marginaal verschijnsel
Overigens is hoge kwaliteit geen exclusief kenmerk van ‘open source’ software. Bij kritieke systemen (in bijvoorbeeld vliegtuigen of kerncentrales) worden ook peer-reviews op de code toegepast en wordt er uitgebreid en formeel getest of zelfs formeel gespecificeerd (zoals bij het door Rijkswaterstaat en CMG ontwikkelde Bos-systeem dat onlangs met de Computable Innovatieprijs 1998 werd beloond). Omdat de hieraan bestede uren wel gewoon doorberekend moeten worden is zulke software dan ook niet goedkoop……
Op bepaalde gebieden is een horizontale aanpak echter zeker adequaat en het is waarschijnlijk dat er nog meer producten uit die hoek zullen verschijnen. Wij zien ‘open source’ software niet als concurrentie, raden het gebruik ervan geenszins af en zullen het in sommige gevallen zelfs adviseren.
In verhouding tot de producten uit de ‘reguliere’ software-industrie zal horizontaal ontwikkelde software echter een betrekkelijk marginaal verschijnsel blijven. Vooralsnog verwachten wij op dit gebied dus geen doorbraak.
Geert Mooi en Michiel Perdeck, consultants CMG Finance, Advanced Technology