Lessen van: open source
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.
Reacties
Om een reactie achter te laten is een account vereist.
Inloggen Word abonnee