“De kernel bestaat inmiddels uit ongeveer 30 miljoen regels”

“De kernel bestaat inmiddels uit ongeveer 30 miljoen regels”

Interview met Linus Torvalds

Open source en Linux zijn nagenoeg synoniem aan elkaar. Sinds de release van de 1.0-versie van de Linux-kernel in 1994 is maker Linus Torvalds zeker van een vaste plaats in de geschiedenisboeken over binaire technologie. Eind juni werd Torvalds geïnterviewd tijdens de KubeCon + CloudNativeCon | Open Source Summit in Shanghai. ICT/Magazine was daarbij.

Dirk Hohndel, Chief Open Source Officer bij VMware, legt uit waarom hij Linus Torvalds op het podium interviewt. “Dit format is eigenlijk een noodgreep, omdat Linus er niet van houdt een presentatie te geven.”

“Dat klopt”, beaamt deze. “Het maakt mij altijd bloednerveus. En nu kan ik jou de schuld geven als jij vragen stelt die niet relevant zijn voor het publiek.”

 

Hohndel: De nieuwste release van Linux, 5.2.RC6, is net verschenen. Waar staan we nu met Linux?

Torvalds: Vanaf de eerste release, nu alweer ruim 25 jaar geleden, hebben we een jaar of tien nodig gehad om uit te vogelen hoe we de dingen rond een nieuwe release moesten aanpakken. Inmiddels hebben we dat nu al vijftien jaar echt onder de knie. Dat betekent dat we ons niet meer zoveel zorgen maken over de individuele features. Ik focus mij voornamelijk op het proces van het integreren van die nieuwe features en het maken van nieuwe releases. Hoe we dat precies doen, is niet eenvoudig uit te leggen. In essentie komt het erop neer dat wanneer je slimme en gemotiveerde mensen samenbrengt, er mooie dingen ontstaan. Ongeveer 1500 mensen werken aan de individuele onderdelen die vervolgens door 100 man worden verzameld. Uit die oogst stel ik ongeveer iedere drie maanden een nieuwe release van Linux samen.

 

Hohndel: Deze release, RC6, was best groot. Dat is ongewoon, zo laat in de releasecycli. Hoe komt dat?

Torvalds: We doen ons best om binnen twee weken al het belangrijke werk te integreren. Daarna hebben we een week of zes voor onderhoud van de release, het herstellen van bugs en om te checken dat alles echt goed werkt. Helaas loopt de werkelijkheid niet altijd in dezelfde pas als ons schema. Soms hebben we te maken met beveiligingsissues die een deadline hebben rond de afsluiting van ons releaseschema. Dat is erg pijnlijk voor ons. Ook hebben we soms gewoon pech en komen er issues bovendrijven waarvoor we eigenlijk geen tijd meer hebben om ze op te lossen. We hebben geleerd om ons daardoor niet meer van slag te laten brengen. Als zoiets gebeurt, is het meestal van: ‘Okay, het is weer eens zover’.

 

Hohndel: Hoeveel mensen buiten de kern van de Linux community houden zich nog bezig met de complexe details over het ontwikkelproces?

Torvalds: Die groep mensen groeit nog steeds, maar niet meer zo snel als in het verleden. Volgens mij hoeven deze mensen zich daar ook niet druk over te maken. Zij zouden meer aandacht kunnen hebben voor hoe stelselmatig wij werken. Zij kunnen erop vertrouwen dat heel veel mensen veel energie in het project hebben gestopt, zodat er geen twijfel bestaat dat alle processen in de nieuwe kernel zullen blijven werken. Kijk, kernel-mensen zijn een apart slag mensen. Ze hebben veel aandacht voor details, willen exact weten hoe een machine werkt, en ze willen tot in de puntjes controle hebben over ieder onderdeel van een stuk hardware. Kernel-mensen zijn zeldzaam. Maar als je bedenkt dat wereldwijd 3 miljard mensen toegang hebben tot internet, blijven er van deze zeldzame soort toch nog vele duizenden over. En daar ligt volgens mij de werkelijke kracht van open source en internet. Het stelt ons in staat om al die specialisten bij elkaar te krijgen en gezamenlijk iets moois te maken.

 

Hohndel: Aan de ene kant heb je de mensen die de code tot in detail begrijpen en aan de andere kant wat ik de ‘click & drag’ mensen noem. Die laatste groep gooit enkele grote blokken bij elkaar, zonder eigenlijk goed te doorgronden wat ze doen. Is dat niet gevaarlijk? Moeten we eigenlijk niet de code kennen die we draaien?

Torvalds: Mensen zijn verschillend. Weet je, ik begrijp ook niet alles van de kernel. Die bestaat inmiddels grofweg uit 30 miljoen regels. Volgens mij is er niet één iemand die ze alle 30 miljoen begrijpt. Daarom zijn er specialisten. Zelf ben ik bijvoorbeeld niet goed in user interfaces en dat is prima, want het is open source. Er werken mensen mee die juist erg goed zijn in user interfaces. Er is geen ‘wij’ versus ‘zij’ mijns inziens.

 

Hohndel: Security speelt een belangrijke rol in de RC6 release. Is er een specifieke focus en zo ja, waar ligt die dan?

Torvalds: Wanneer het over security gaat, is het juist beter om niet te focussen, omdat het zich om iedere hoek bevindt. Je moet veilige hardware hebben, veilige kernels, veilige bibliotheken, veilige software in iedere fase. Er zullen altijd bugs zijn en juist daarom moet je meerdere beveiligingslagen hebben, zodat het kan worden opgevangen wanneer een van die lagen gecompromitteerd wordt. Een beveiligingsprobleem in de kernel is een probleem voor iedereen in onze community.

 

Hohndel: De wet van Moore – een verdubbeling van performance iedere 24 maanden – geldt al enige tijd niet meer. Performance speelt een belangrijke rol in de ontwikkeling van de kernel. Is die behoefte aan betere performance te ondervangen door complexere software te schrijven?

Torvalds: Al een jaar of vijf zeg ik dat wanneer de hardware performance stagneert er meer druk dan ooit op de softwaremakers komt te liggen om dit te ondervangen. Het softwareproces kan er niet meer klakkeloos vanuit gaan dat de hardware dit wel zal oplossen. Wat de kernel performance betreft, verwacht ik niet dat wij verrast zullen worden. Maar andere projecten zijn aan die hardware performancegroei gewend geraakt. Daardoor letten ze niet meer op in hoeverre hun code ieder jaar blijft toenemen. Dat zal voor sommige projecten nog wel een schok veroorzaken.