Overslaan en naar de inhoud gaan
Dit Pro artikel heb je cadeau gekregen van Jasper Bakker.
Maak een account aan en lees 3 Pro artikelen gratis.
ACCOUNT AANMAKEN
of

Lessen van: open source

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.
boekcover
© Peter Wayner
© Peter Wayner

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

Melden als ongepast

Door u gemelde berichten worden door ons verwijderd indien ze niet voldoen aan onze gebruiksvoorwaarden.

Schrijvers van gemelde berichten zien niet wie de melding heeft gedaan.

Bevestig jouw e-mailadres

We hebben de bevestigingsmail naar %email% gestuurd.

Geen bevestigingsmail ontvangen? Controleer je spam folder. Niet in de spam, klik dan hier om een account aan te maken.

Er is iets mis gegaan

Helaas konden we op dit moment geen account voor je aanmaken. Probeer het later nog eens.

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in

Maak een gratis account aan en geniet van alle voordelen:

Heb je al een account? Log in