De unieke werking van open source

De unieke werking van open source

“Wij staan op de schouders van reuzen”

Dag: 25 juni 2019. Locatie: Shanghai, China. Gelegenheid: KubeCon|CloudNativeCon|Open Source Summit. De conferentie wordt geopend door Jim Zemlin, executive director van de Linux Foundation. Na zijn praatje van krap 20 minuten, neemt Dan Kohn de microfoon over, executive director van de Cloud Native Computing Foundation (CNCF). Hun beider verhaal geeft een boeiende inkijk in ‘the inner workings’ van open source en van de hoopvolle en inspirerende werking van het ‘open’ principe.

Doorgaans besteden wij op de kolommen van ICT/magazine relatief weinig aandacht aan open source onderwerpen. Dat komt deels door het vaak hoge ‘nerd-gehalte’ en omdat de ontwikkelingen binnen de open source community vaak zo snel gaan, dat ze al achterhaald zijn zodra onze inkt is opgedroogd. In deze editie brengen we daar verandering in, want open source is ongelooflijk belangrijk voor de technologie-industrie. Volgens Jim Zemlin is open source “een van de belangrijkste innovatiestimulatoren in de geschiedenis van technologie. Open source software speelt in vrijwel ieder belangrijk technologisch product of service een onmisbare rol. Het kan overal vandaan komen. Zo ontstond Linux op een studentenkamer in Finland en kwam de Apache webserver voort uit een project op de Universiteit van Illinois. Het maakt niet uit waar het zaadje wordt geplant, iedereen heeft toegang tot open source projecten, omdat het internet directe distributie van de broncode mogelijk maakt. Iedereen kan bijdragen, maar nog belangrijker: iedereen kan de vruchten plukken van open source software. Concurrenten doen hun voordeel met elkaars innovaties. Het is een wereldwijde beweging die erg goed werkt.”

 

Een sandwich

Linux is uitgegroeid tot het belangrijkste besturingssysteem ter wereld. Alle supercomputers ter wereld draaien op Linux, het heeft een aandeel van 82 procent in de smartphonemarkt en 90 procent van de werkstromen in de publieke cloud draait op Linux, om maar enkele cijfers te noemen. Kubernetes is een ander belangrijk open source project dat zich momenteel als een ecosysteem heel snel over de wereld verspreidt. De Linux Foundation is actief in praktisch alle technologische domeinen van security en netwerken tot aan cloud, automotive en het web. “Hoe kan het,” vraagt Zemlin zich af, “dat concurrenten via open source samenwerken aan een goed resultaat?” Als iedereen deelt, hoe kun je dan nog concurreren? Zemlin gebruikt de metafoor van een sandwich. De onder- en bovenkant van je sandwich – het brood – bestaat uit 80 tot 90 procent van de totale code van een modern systeem. Dit – het framework en praktisch alle denkbare open source bibliotheken die problemen oplossen – is allemaal generiek, kant-en-klaar, bewezen en uitgekristalliseerd. Het beleg van je sandwich, dat wat jouw sandwich speciaal maakt, is ongeveer 10 procent van je code. Die maak je zelf. Daarin kun je jezelf onderscheiden van de concurrent. Dus 90 procent is gedeelde code en 10 procent is eigen. Als je iedere keer alles helemaal zelf zou moeten creëren, zou je niet eens kúnnen concurreren.

 

Kubernetes

Kubernetes is oorspronkelijk door Google ontworpen. Simpel gezegd is het een platform dat containers managet. Een container bevat een applicatie, die geïsoleerd van het systeem waarop het draait wordt bewaard. Een ontwikkelaar kan daardoor de code van een applicatie met alle benodigde onderdelen, zoals bibliotheken en andere afhankelijkheden inpakken. Dit consistente pakketje kan dan vervolgens probleemloos worden verstuurd, gekopieerd en in productie worden gezet. Dankzij open source zijn Kubernetes en andere vergelijkbare platforms, overdraagbaar en uitbreidbaar. Inmiddels zijn er talloze container services, tools en ondersteuning beschikbaar.

 

Winnaars en verliezers

Dan Kohn, Executive Director, Cloud Native Computing Foundation (CNCF), gaat nader in op de ogenschijnlijke toevalligheid van winnende technologieën. Er zijn diverse cloud native platforms, maar hoe komt het dat Kubernetes daar met kop en schouders bovenuit steekt? “Laten we teruggaan in de tijd,” vertelt Kohn, “en kijken waarom de ene technologie wel overleeft en de andere niet. In 2003 kwam een student engineering in Columbia op het idee voor een sociaal netwerk voor studenten. Het werd een succes en binnen no time had de site honderdduizenden gebruikers. Die student was Adam Goldberg en zijn netwerk heette Campus Network. Een maand na Goldberg lanceerde Mark Zuckerberg The Facebook op Harvard.”

Nog los van de vraag waarom de één wint en de ander verliest, stelt Kohn eerst een andere vraag: “Hoe kan het dat twee nagenoeg dezelfde innovaties op praktisch hetzelfde moment los van elkaar werden ontwikkeld? Ik vond het antwoord terwijl ik Sid Meiers game Civilization speelde.”

 

Simultane innovatie

Een van de belangrijkste innovaties van Sid Meier is dat het spel met een expliciete technologieboom werkt, aldus Kohn. “Als je ridders aan jouw beschaving wilt toevoegen, moet je eerst de stijgbeugel ontwikkelen, waardoor paarden gedomesticeerd kunnen worden. Ook moet je eerst leren hoe je metaal bewerkt voordat je harnassen kunt maken. De ontwikkeling van nieuwe technologieën hangt af van de beschikbaarheid en soms alomtegenwoordigheid van andere technologieën. Het Campus Network van Goldberg en The Facebook van Zuckerberg konden alleen worden ontwikkeld, omdat er computers en internet beschikbaar waren in de studentenkamers, plus diverse andere technologieën. Dit fenomeen van simultane innovatie zien we door onze hele geschiedenis.”

 

Inspanning en creativiteit

Kohn laat een foto zien van een Brits naturalist die kevers verzamelde en tijdens zijn beginjaren als wetenschapper walvissen bestudeerde. “Deze man vertrok op een meerjarige expeditie om specimen te verzamelen. Nadat hij een boek over bevolkingsgroei had gelezen van Thomas Malthus, formuleerde hij in 1858 de evolutietheorie. Dit lijkt exact op de biografie van Charles Darwin, wiens beroemde boek ‘On the origin of species’ verscheen in 1859. Alleen is de man op de foto Alfred Russel Wallace. Geschiedenis beschrijft hem als ‘die andere man die de evolutietheorie ontdekte’.”

Twee andere voorbeelden. “Nagenoeg gelijktijdig ontdekten Gottfried Leibniz en Isaac Newton differentiaalrekening (calculus) rond 1687. En hoewel John Tyndall lange tijd bekend stond als de ontdekker van het feit dat kooldioxide een broeikaseffect heeft (1859), had Eunice Newton Foote dit al drie jaar eerder ontdekt.”

Volgens Kohn kan simultane innovatie ontstaan omdat er iets in de lucht hangt. “Andere benodigde ontdekkingen waren al gemaakt en de volgende stap omhoog in de technologieboom vereist niets meer dan veel inspanning én een vonkje creativiteit.”

 

Definitie Cloud Native

Ingebouwde cloud-technologieën stellen organisaties in staat om schaalbare applicaties te bouwen en uit te voeren in moderne, dynamische omgevingen zoals publieke, private en hybride clouds. Containers, verzamelde services, microservices, onveranderlijke infrastructuur en declaratieve API’s zijn een voorbeeld van deze aanpak. Deze technieken maken losjes gekoppelde systemen mogelijk die veerkrachtig, beheersbaar en waarneembaar zijn. In combinatie met robuuste automatisering stellen ze ingenieurs in staat om frequent en voorspelbaar grote veranderingen aan te brengen met minimale inspanning.

De Cloud Native Computing Foundation streeft naar aanvaarding van dit paradigma door een ecosysteem te bevorderen van open source en leverancier-neutrale projecten, en deze in stand te houden. We democratiseren state-of-the-art patronen om deze innovaties voor iedereen toegankelijk te maken.

 

Technologische oerknal

Terug naar ons hier en nu. CNCF hanteert een definitie van wat cloud native nu precies inhoudt (zie kader). Met de noodzakelijke technologieën in positie (onder meer Linux en internet) werd de technologische oerknal gecreëerd waar veel container arrangeurs uit konden voortkomen. “Al deze systemen,” vertelt Kohn, “die voldoen aan de cloud native definitie, maken het bedrijven mogelijk om snel een zekere schaal op het web te bereiken met minder servers en minder medewerkers dan ooit. Denk aan Alibaba Sigma, Amazon Apollo, Baidu Matrix, Docker Swarm en Spotify Helios, om er slechts enkele te noemen. Deze en andere organisaties zijn in staat om hun schaaluitdagingen op een vergelijkbare manier aan te vliegen. Je zou dus kunnen zeggen dat de benodigde technologieën al in de lucht hingen. Of, zoals Isaac Newton schreef: ‘Wij staan op de schouders van reuzen’. Een uitspraak die Newton hergebruikte van Bernardus van Chartres die een slordige 600 jaar eerder leefde. En ik doe precies hetzelfde, aangezien ik deze twee quotes tegenkwam in het fantastische video-essay ‘Everything is the remix’.”

 

Drie redenen

Terug naar de vraag waarom Kubernetes uitsteekt boven de andere systemen. Of in de woorden van Kohn: “Waarom zijn we hier aanwezig op de KubeCon en niet op de HeliosCon, MatrixCon of ApolloCon? Volgens mij zijn er drie redenen:

  1. Het werkt erg goed. Het eerste container management systeem werd bij Google intern ‘Borg’ genoemd. Hier kwam ‘Omega’ uit voort, wat evolueerde tot Kubernetes. Toch komt Kubernetes niet slechts voort uit de tienjarige leercurve binnen Google. Het heeft ook wezenlijke architectuurideeën geïncorporeerd van Red Hat, Huawei en tientallen andere bedrijven.
  2. Het is leverancier-neutrale open source. Bedrijven die op een bepaald platform gaan bouwen, willen er zeker van zijn dat deze technologie breed wordt ondersteund. Niemand wil vastzitten aan een bepaalde leverancier, waardoor ze een leven lang belasting moeten betalen om op een bepaald platform te mogen blijven werken. Vanaf het begin heeft Google andere bedrijven gestimuleerd leiderschapsrollen op zich te nemen.
  3. De mensen. Het project wordt ontwikkeld door een buitengewone groep medewerkers, die indrukwekkend werk verrichten.”

 

Basis voor de toekomst

Kohn sluit af met een citaat van klimaatactivist David Roberts. Deze zegt: “Het aan elkaar hechten van dingen, instituten opbouwen die werken, beleidsmechanismen vinden die levens verbeteren zonder onverwachte bijwerkingen, uitzoeken hoe je verschillende interesses op dezelfde koers kunt houden, dit is allemaal moeilijk, emotioneel en intellectueel.” En toch is dit precies wat open source doet. “De magie van de technologieboom,” vervolgt Kohn, “is dat we dit moeilijke, emotionele en intellectuele spel kunnen spelen dankzij reeds ontwikkelde buitengewone innovaties. Zoals Linux en TCP/IP, maar ook de evolutieleer en differentiaalrekening. Het werk dat wij doen binnen de open source community, het als dwergen voortbouwen op de schouders van reuzen, verloopt misschien niet vloeiend of eenvoudig, maar het legt wel de basis voor de komende generatie aan innovaties. Deze innovaties worden zelfs nu al gebouwd op de fundamenten van Kubernetes en Linux.”