Who Write Linux: uno sguardo quantitativo allo sviluppo del Pinguino

Who Write Linux: uno sguardo quantitativo allo sviluppo del Pinguino

Chi c'è alle spalle del più grande progetto open source al mondo? La Linux Foundation pubblica l'annuale documento sullo stato dei lavori dello sviluppo del kernel del Pinguino, che fa luce su interessanti elementi

di Andrea Bai pubblicato il nel canale Software
 

Introduzione

Lo scorso 16 settembre, in occasione della LinuxCon Conference di New Orleans, la Linux Foundation ha pubblicato la quinta edizione del documento Linux Kernel Development (informalmente conosciuto anche con il nome di "Who Writes Linux") che dettaglia gli sviluppo del kernel linux offrendo una visione di insieme del lavoro che sta alle spalle del rilascio degli aggiornamenti stabili del kernel del pinguino. Il documento è pubblicato, seppur senza una cadenza precisa, circa una volta ogni anno con la prima edizione resa disponibile nel corso del 2008 coprendo lo sviluppo dalla release 3.3 alla release 3.10.

Questa edizione del documento si concentra sul periodo tra aprile 2012 e agosto 2013: nel periodo in esame sono stati proposte oltre 92 mila modifiche da parte di 3738 singoli sviluppatori che rappresentano 536 organizzazioni. La versione precedente del documento ha invece coperto il periodo tra dicembre 2010 e marzo 2012. Il ritmo dello sviluppo è cresciuto in maniera abbastanza sensibile, con la community che integra una media di 7,14 patch all'ora rispetto alle 6,71 del report precedente. Il kernel linux è ora composto da quasi 17 milioni di linee di codice, in crescita di circa 2 milioni di linee rispetto all'ultimo report.

Il kernel che sta alla base di Linux è di fatto uno dei più grandi progetti software collaborativi mai portati avanti. Ogni due o tre mesi viene rilasciato un aggiornamento stabile a Linux, che include nuove funzionalità, il supporto a nuovi dispositivi e una ottimizzazione delle prestazioni. Sin dal 2005 quasi 10 mila sviluppatori individuali provenienti da oltre 1000 compagnie differenti hanno apportato il loro contributo al kernel linux. Il kernel è diventato una risorsa comune sviluppata su larga scala da compagnie che sono acerrime rivali in altre aree.

Molte nuove caratteristiche sono state integrate nella mainline, tra cui operazioni full tickless, user namespace, virtualizzazione KVM e Xen per ARM, per-entity load tracking nello scheduler, user-space checkpoint/restart, supporto all'architettura ARM a 64-bit, filesystem F2FS flash-oriented, molte migliorie sul lato networking mirate a risolvere problemi di latenza e di dilatazione del buffer, due sottosistemi indipendenti in grado di offrire caching veloce per dispositivi di block storage e molto altro.

Di notevole importanza è inoltre il progressivo spegnersi della questione sulle caratteristiche specifiche per Android: a titolo di esempio le funzionalità "wakelocks" (per la gestione energetica) è stata sostituita da una soluzione differente nella mainline che viene utilizzata dai più recenti dispositivi Android. Il contributo allo sviluppo del kernel proveniente da realtà che operano nel mondo mobile ed embedded continua a crescere: Linaro, Samsung e Texas Instruments, ad esempio, insieme contribuiscono all'11% dei cambiamenti effettuati nel periodo in esame, rispetto al 4,4% registrato nel periodo precedente.

In questa occasione viene inoltre rilevato un incremento significativo nell'impiego di strumenti automatizzati per trovare bug nei kernel in via di sviluppo, con il risultato di accorciare il ciclo di sviluppo e permettere alla community di consegnare release di maggior qualità.

 
^