Innovatie & Strategie

Software-ontwikkeling
open source

Lessen van: open source

Wijsheid van open source wordt omarmd, maar toch valt er nog te leren.

21 november 2019

Wijsheid van open source wordt omarmd, maar toch valt er nog te leren.

Open source heeft de IT-wereld inmiddels wel veroverd. Software waarvan de broncode inzichtelijk en (in het meest pure geval) ook vrijelijk te gebruiken is, is haast universeel omarmd en dus nagenoeg onvermijdelijk geworden. Het is omarmd door developers, door gebruikende organisaties en zelfs door IT-leveranciers, inclusief voorheen felle tegenstanders van open source. In de praktijk blijken er nog waardevolle lessen te leren uit open source, óók voor dat fenomeen zelf.

De voorspelling dat software de wereld zal verorberen (Andreessen, 2011) is inmiddels wel uitgekomen. Voor een groot deel is het opensourcesoftware wat de wereld heeft veroverd. Daarbij is dat type software vaak minder zichtbaar: soms omdat het op de achtergrond draait, soms omdat het onderdeel is van weer andere software.

Voordelen en keerzijde

De voordelen van open source zijn namelijk groot. De wetenschappelijke traditie van ‘voortbouwen op de schouders van giganten’ is met open source ook bruikbaar voor de commerciële markt. Wat de één ontwikkelt, kan de ander ook benutten. En wat die ander eraan verandert of verbetert, komt weer ten goede aan iedereen.

Open source geeft zo een leger aan ontwikkelaars, wat codekwaliteit ten goede kan komen. Daarnaast is het voor bedrijven aantrekkelijk dat open source in eerste instantie gratis is. De hier kort genoemde voordelen van open source hebben elk ook een keerzijde. En die schaduwkant wordt lang niet altijd goed gezien of zelfs maar erkend. Tijd voor lessen van open source.

Een eerste les van open source is namelijk dat het initiële product – en de broncode ervan – weliswaar gratis is, maar dat er dan nog werk nodig kan zijn. Dat kan betaalde ondersteuning zijn, of eigen ontwikkelwerk, of integratie-inspanningen, of beheertaken. Een geruchtmakende uitspraak van eind vorige eeuw over open source heeft dan ook een kern van waarheid. “Linux is alleen gratis als je tijd waardeloos is”, aldus developer Jamie Zawinski toen. Open source legt de (kosten)lat wel lager, maar zet ‘m niet op nul.

Kan sporen van open source bevatten

Een tweede les van open source is dat het wijdverbreide, soms onzichtbare gebruik flinke gevolgen kan hebben. Open source doet ook dienst in software en hardware van anderen. Het is voor ICT-leveranciers wel zo makkelijk om bepaalde componenten, functionaliteit of libraries te betrekken uit de rijke wereld van opensourcesoftware.

Alleen komt daarmee een verantwoordelijkheid voor ontwikkelen en bijhouden om de hoek kijken. Deze verantwoordelijkheid ligt voor de hand, maar blijkt in de praktijk door lang niet iedereen gezien, beseft of erkend te worden. Zie de impact van Heartbleed: een in 2014 onthulde kwetsbaarheid in de veelgebruikte encryptielibrary OpenSSL.

Deze bug bleek wijdverbreid én moeizaam de wereld uit te helpen. De nasleep van Heartbleed was dan ook flink. Idem dito voor geruchtmakende gaten als Poodle, Ghost, Shellshock en Venom. Diverse ICT-leveranciers en ook ICT-gebruikende organisaties moesten flink aan de bak om door hun gebruikte opensourcecomponenten te controleren en te patchen.

Kijken, kijken, niet coden?

Les drie is dat de veelgeroemde codekwaliteit van open source een theoretisch voordeel lijkt te zijn. Dit betekent niet dat gesloten software veiliger is, maar wel dat open source niet per definitie veilig is. Linus Torvalds, de oorspronkelijke maker van Linux, heeft ooit al het grote ontwikkel- en securityvoordeel van open source benoemd: “Vele ogen maken alle bugs ondiep”. Fouten in opensourcesoftware komen eerder aan het licht dankzij de open inzichtelijkheid van de broncode.

Torvalds’ opmerking is zeker correct, maar heeft als probleem dat het blijft steken in de theorie. Of: dat de praktijk er niet aan blijkt te conformeren. Er zijn drie problemen. Ten eerste moeten er wel genoeg ogen naar broncode kijken. Open source is weliswaar wijdverbreid, maar dat wil niet zeggen dat elk stuk software aandacht krijgt, of de aandacht die het verdient. Dit geldt ook voor software die kernfuncties vervult.

Ten tweede moeten er dan ook mensen met genoeg kennis van zaken naar code kijken. Code ontwikkelen kan op diverse kennisniveaus: van beginner tot meester. Enerzijds ontkomt ook open source niet altijd aan basale programmeerfouten, en anderzijds is het kunnen werpen van een diepgaande securityblik een relatief zeldzaam talent.

En ten derde moet het met de blik op open source niet alleen bij oogballen blijven. Iemand moet de bugs wel fixen. Kijken, kijken, niet coden? In theorie kan dat fixen bij open source zó gebeuren, juist door de open aard. In de praktijk kan, wil of mag niet elke bughunter dit doen. In de praktijk kunnen sommige opensourceprojecten dramatisch onderbemand zijn. Bug bounties kunnen een krachtig middel zijn voor verbetering van beveiliging, maar zijn niet de volledige oplossing. De belangrijke taak van bugfixen is een les die nu wordt geleerd door de opensourcegemeenschap en door open source gebruikende ICT-leveranciers en hun afnemers.

Magazine AG Connect

Dit artikel is ook gepubliceerd in het magazine van AG Connect (novembernummer 2019). Wil je alle artikelen uit dit nummer lezen, klik dan hier voor de inhoudsopgave.

Lees meer over Innovatie & Strategie OP AG Intelligence
1
Reacties
Hans Bezemer 21 november 2019 12:54

"(..) maar dat er dan nog werk nodig kan zijn. Dat kan betaalde ondersteuning zijn, of eigen ontwikkelwerk, of integratie-inspanningen, of beheertaken". Daar verschilt Open Source niet in t.o.v. closed source - of iemand moet beweren, dat die zichzelf beheert en de kennis daarover komt aanwaaien. Sterker, de EULA van met name de BSA leveranciers wimpelt elke (juridische) verantwoordelijkheid weg. Ook diepgaande support van deze leveranciers is doorgaans niet gratis. Nog een voordeel: ook op gebied van support is er vaak geen vendor-lock-in, omdat meerdere partijen die support leveren.

"Zie de impact van Heartbleed: een in 2014 onthulde kwetsbaarheid in de veelgebruikte encryptielibrary OpenSSL". Beetje flauw om die erbij te halen. Immers, alsof Microsoft pakketten nooit een cruciale bug op hebben geleverd. Elk pakket heeft fouten. FOSS is geen uitzondering - maar de grote pakketten zijn wel een heel stuk beter:
http://thebeezspeaks.blogspot.com/2009/03/introducing-pointy-haired-bos…

Daarnaast is patchen gewoon aan de orde van de dag - bij elk bedrijf. En om even dieper op het genoemde Equifax in te gaan: "Om te beginnen bleek de firma niet bij te zijn met patches van software die het gebruikt". M.a.w. een commercieel bedrijf dat gebruik maakt van FOSS heeft zijn interne processen niet op orde - mag je dat de beheerders van de FOSS libraries verwijten? Lijkt me niet..

"In de praktijk kunnen sommige opensourceprojecten dramatisch onderbemand zijn".
Noem er 1 die wijdverbreid is en bv. niet onder een Red Hat valt. Dit is "weaselspeak".

"Enerzijds ontkomt ook open source niet altijd aan basale programmeerfouten". Closed source dan wel?

Concluderend: Open Source wordt tegenwoordig aangeboden met een ondersteuning (van bv. Red Hat), die niet of nauwelijks verschilt van closed source. De meeste bedrijven maken daar ook gebruik van. De aangehaalde voorbeelden zijn dan ook nauwelijks realistisch of stippen punten aan, die evenzeer voor closed source gelden (vaak zelfs in versterkte mate). In de FOSS wereld noemen we dit soort artikelen dan ook SOFUD (Same Old Fear Uncertainty en Doubt). Eigenlijk kan dit niet meer in de 21e eeuw.

Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.