Open source software ontwikkelt zich niet vanzelf. Er moeten mensen tijd en geld in investeren. Geld dat er vaak te weinig is. En dan ontstaan grote fouten, zoals Heartbleed of Shellshock.

Als je erover nadenkt, draait eigenlijk een groot deel van de software die we dagelijks (al dan niet onbewust) gebruiken op vrijwilligers. En dat is een beangstigende gedachte. Al jaren worstelen enkele belangrijke open source projecten om voldoende geld bij elkaar te sprokkelen. Het bekendste voorbeeld daarvan is OpenSSL. Jarenlang werkte maar één ontwikkelaar fulltime aan deze belangrijke encryptiebibliotheek. Het project moest bovendien rondkomen met maar $ 2.000,- per jaar.

Na de ontdekking van de belangrijke beveiligingsfout Heartbleed in OpenSSL en het besef dat men dit had kunnen voorkomen door meer in het project te investeren, richtte de Linux Foundation het Core Infrastructure Initiative op. Dit heeft als bedoeling om open source projecten die belangrijk zijn voor het functioneren van internet financieel te ondersteunen. Het eerste project dat geld van het CII kreeg, was OpenSSL.

Ook NTP is zo’n project dat iedereen gebruikt, maar waarin weinig geïnvesteerd wordt. Het CII heeft enkele jaren geld op tafel gelegd voor zowel NTP als de fork NTPsec en een mogelijke vervanger, ntimed, maar de eerste twee projecten verloren in september 2016 hun financiële ondersteuning. En dat heeft zo zijn gevolgen. Zo kreeg een beveiligingsonderzoeker die een kritieke denial-of-service fout in NTP rapporteerde en na tachtig dagen informeerde waar de update bleef, van ontwikkelaar Harlan Stenn te horen: “Reality bites – we remain severely under-resourced for the work that needs to be done.” Uiteindelijk werd de fout pas 4,5 maand na het bug report gefixt.

Het Core Infrastructure Initiative doet wat het kan, met financiële ondersteuning door allerlei bedrijven. Maar elk van ons gebruikt dagelijks projecten, zoals OpenSSL en NTP zonder dat we het beseffen of dat nu privé of professioneel is. Veel open source projecten zitten in dezelfde precaire financiële situatie. Voor ontwikkeling, onderhoud, hosting, documentatie, unit tests, integratie met andere software, security audits en het zo snel mogelijk fixen van beveiligingsfouten is immers geld nodig.

Denk eens even na met welke software je dagelijks werkt en waar je echt geen belangrijke beveiligingsfout in wilt zien. Voor een thuisgebruiker is dat misschien een programma zoals Cryptkeeper, waarmee je eenvoudig met EncFS versleutelde mappen beheert vanuit je system tray. Voor een systeembeheerder is dat waarschijnlijk Bash, Puppet of Docker. En voor een hostingbedrijf dat virtual private servers aan klanten aanbiedt, is dat wellicht Xen of KVM.

Heb je geen inspiratie en werk je veel op de commandline, bekijk dan eens met history op je Linux-machine welke opdrachten je het vaakst uitvoert. Op internet vind je snel een awk-script dat je een top tien van je meest gebruikte opdrachten op de commandline toont. Of kijk eens welke programma’s allemaal op je desktop openstaan. Zoek op nieuwsgroepen en in bug reports van een project of het niet met problemen worstelt. Slaagt het project er door tijdsgebrek maar niet in om bugs op te lossen? Worden er de laatste tijd wel heel veel beveiligingsfouten in gevonden? Doneer dan wat geld aan het project! Of ondersteun één van de vele organisaties (zoals het Core Infrastructure Initiative, maar ook Mozilla Open Source Support en het Open Technology Fund) die open source projecten financieel helpen.

Eén van mijn goede voornemens voor 2017 was om vanaf nu jaarlijks één open source project dat ik belangrijk vind, te ondersteunen met een gift. Als iedereen dat jaarlijks doet, hoe klein die gift ook is, krijgt de open source wereld een enorme boost. Hopelijk kunnen we zo samen een volgende Heartbleed voorkomen.