Home > Community > Actions > Development_model

Comunità Mandriva Linux

Cooker: a collaborative development model

Un modello di sviluppo collaborativo

I prodotti Mandriva vengono sviluppati secondo un modello di sviluppo collaborativo. Che cosa significa questo per noi, utenti "abituali" di Linux? Ciascuna nuova versione della distribuzione Mandriva Linux viene sviluppata (assemblata, creata, prodotta) da un team di sviluppatori Mandriva (programmatori, pacchettizzatori, ecc.) e da molte persone nella comunità Linux a cui piace partecipare ed essere coinvolte. Questo processo porta ad un sistema operativo con un livello di qualità molto alto che sarebbe difficile (se non impossibile) ottenere utilizzando un qualsiasi altro metodo.

Nella tradizionale (o chiusa) industria del software, lo sviluppo ha principalmente luogo a porte chiuse ed è ristretto ad un team limitato di contributori. Mettetelo a confronto con il modello collaborativo Open Source che raccoglie invece le migliori idee di sviluppatori e utenti in tutto il mondo e che porta ad una ricca varietà di tecniche e soluzioni.

Mandriva segue la filosofia Open Source e perfino la amplia con "Cooker". La Cooker è una distribuzione Mandriva Linux in costante evoluzione che viene costantemente aggiornata con il miglior software proveniente dal mondo Linux e con sviluppi della stessa Mandriva. Cooker è ampiamente disponibile al pubblico e numerosi contributori danno suggerimenti e la arricchiscono di nuove idee e pacchetti. La distribuzione Mandriva Linux, così come la conosciamo, è in realtà una "freeze" della Cooker in un certo momento, seguita da un periodo di accurato debugging. Il risultato è che Mandriva Linux segue davvero i bisogni degli utenti, dato che è proprio la comunità ad influenzare notevolmente il suo sviluppo.

Quanto segue è una breve panoramica di come il processo di sviluppo viene attuato alla Mandriva.

Mixing

La prima fase di un nuovo ciclo di sviluppo è quella in cui tutti hanno le maggiori opportunità di essere coinvolti. In questa prima fase vengono discusse le nuove idee, come, per esempio, i possibili miglioramenti ad applicazioni già esistenti o idee per il debugging, e vengono presi in considerazione nuovi pacchetti di software.

L'immagine del "cucinare" è molto adatta a questa fase. Immaginate che molti "cuochi" famosi di tutto il mondo abbiano iniziato a preparare il pasto più appetitoso che (si spera) potreste mai mangiare. Tutti insieme intorno alla stessa pentola, mescolano i vari ingredienti per darvi ciò di cui il vostro corpo ha bisogno, ben attenti ad ottenere un risultato commestibile e prelibato.

L'avanzamento del progetto consiste di cicli in cui si aggiungono pacchetti alla base già esistente del software, seguiti dalla prova e correzione di tutti i bug e/o conflitti che siano stati scoperti. Tutti i pacchetti di nuovo inserimento richiedono talvolta un adattamento o modifica del software esistente. Per esempio, l'introduzione di un nuovo "kernel" Linux (cioè il cuore del sistema operativo) porta molto spesso a modifiche del funzionamento di altro software e di conseguenza a dover testare tutto di nuovo.

I partecipanti vengono invitati a scaricare Cooker, installarla sulla propria macchina e riferire i risultati. Gli sviluppatori e i contributori leggono questi rapporti e presentano possibili soluzioni per correggere i problemi; se un'applicazione ha bisogno di essere corretta, un contributore può modificarla e proporla per l'inclusione. Se un contributore volesse veder aggiunta alla distribuzione una qualche particolare applicazione, può pacchettizzarla da sé e caricarla su un server dedicato. Gli sviluppatori Mandriva esaminano il materiale inviato ed accertano l'utilizzabilità di tutte le correzioni ed applicazioni proposte dai contributori prima di decidere se includerli o no nella Cooker.

Freezing

Ad un periodo di intenso sviluppo segue un periodo chiamato di "feature freeze" durante il quale alla Cooker vengono aggiunte soltanto le correzioni ai bug. Il team di sviluppo non controlla solamente che i bug identificati siano stati corretti, ma anche traccia e testa una gamma di problemi vari che sempre si manifestano. Lo scopo di questa fase è la stabilità: la Cooker dovrebbe essere abbastanza stabile da essere temporaneamente 'congelata' e resa disponibile come versione "beta" per esser testata su vasta scala. Di solito ne viene rilasciata un'immagine ISO, scaricabile da chiunque, per una facile masterizzazione e installazione sul proprio sistema. Le beta release ci permettono di ricevere feedback dagli utenti e da tutta la comunità GNU/Linux. In un ciclo completo ci possono a volte essere anche tre o quattro versioni beta.

Una "release candidate" è una versione completamente testata della distribuzione, di cui è stato fatto un debug completo. Se è abbastanza buona per essere una versione finale, viene nominata "Gold" e distribuita in tutto il mondo.

Cooker non dorme mai. Perfino il giorno dopo il rilascio di una versione Mandriva Linux e il passaggio al confezionamento, il ciclo di sviluppo continua per le versioni future. Non importa che giorno della settimana sia: potete essere certi che chi partecipa alla Cooker sta lavorando instancabilmente per assicurarvi di avere sempre a disposizione il più aggiornato e affidabile sistema operativo Linux.

Noi speriamo che prendiate questa breve introduzione alla Cooker e allo sviluppo Open Source come invito a partecipare a questo processo e a lasciarvi coinvolgere. Non è necessario essere un programmatore o un hacker del kernel per aiutarci: i tester delle beta sono una parte cruciale del processo e c'è sempre bisogno di testare le numerose configurazioni del sistema. Consultate questa pagina per i dettagli su come iscriversi alla mailing list della Cooker.