Partecipare allo sviluppo del kernel di un sistema operativo richiede senza
dubbio una profonda conoscenza tecnica ed ottime abilità come programmatore. La
complessità di un progetto di tale portata rende tuttavia necessaria la
collaborazione tra più persone e, conseguentemente, nasce l'esigenza di
utilizzare un insieme di regole e convenzioni per coordinare al meglio i lavori
e ottimizzare le risorse a disposizione.
La comunità che si occupa dello sviluppo del kernel open source Linux ha ben
presente questo tipo di problematiche e con il passare degli anni è riuscita ad
affinare un sistema in grado di coordinare svariate centinaia di sviluppatori
sparsi in tutto il globo, raggiungendo risultati notevoli. Purtroppo però esiste
anche un rovescio della medaglia: il processo di sviluppo di Linux è
diventato con il tempo sempre più complesso e per i nuovi sviluppatori è
diventato più difficile riuscire a contribuire con il proprio codice.
A tentare di risolvere questo problema ci ha però pensato Jonathan Corbet,
sviluppatore Linux ed executive editor di lwn.net,
che di recente ha pubblicato
una
guida intitolata "A guide to the kernel developement process", dove
vengono illustrate tutte le meccaniche e le varie fasi del ciclo di sviluppo di
Linux.
"uno sviluppatore che non ha compreso il funzionamento del processo
produttivo del kernel, avrà quasi certamente un'esperienza frustrante",
scrive Corbet. Uno dei principali problemi che si incontra nel proporre una
nuova patch riguarda le tempistiche: se ad esempio si propone nuovo codice
mentre sono in corso i lavori per il rilascio di una release candidate del
kernel, difficilmente questo codice verrà integrato nel ramo di sviluppo
principale prima di diversi mesi, a meno che non si tratti di un fix alla
release candidate stessa.
La guida si propone proprio di illustrare questa tipologia di meccanismi, al
fine di consentire a nuovi sviluppatori di avvicinarsi alla comunità di Linux il
più semplicemente possibile, per favorire ulteriormente lo sviluppo del kernel. |