Free Software Project Management HOWTO

Benjamin "Mako" Hill

      
    

Diario delle Revisioni
Revisione v0.3.215 aprile 2002Revisionato da: bch
Revisione v0.3.118 giugno 2001Revisionato da: bch
Revisione v0.35 maggio 2001Revisionato da: bch
Revisione v0.2.110 aprile 2001Revisionato da: bch
Revisione v0.28 aprile 2001Revisionato da: bch
Revisione v0.0127 marzo 2001Revisionato da: bch
Prima versione

Questo HOWTO è diretto a persone che hanno esperienza di programmazione, e qualche capacità nella gestione di un progetto software, ma che sono nuove all'esperienza del software libero. Questo documento vuole fungere da guida agli aspetti non-tecnici della gestione dei progetti di software libero, ed è stato scritto come corso accelerato per quelle capacità relazionali che non vengono insegnate ai programmatori commerciali, ma possono determinare il successo o il fallimento di un progetto di software libero. Traduzione a cura di Andrea Giancola. Revisione di Giulio Daprelà ed Elisabetta Galli.


Sommario
1. Introduzione
1.1. Copyright Information
1.2. Disclaimer
1.3. Nuove versioni
1.4. Riconoscimenti
1.5. Il feedback
1.6. Traduzioni
2. Iniziare un progetto
2.1. Scegliere un progetto
2.1.1. Identificare ed articolare l'idea
2.1.2. Valutare l'idea
2.2. Dare un nome al progetto
2.3. Adottare una licenza per il programma
2.3.1. Scegliere la licenza
2.3.2. Il meccanismo delle licenze
2.3.3. Avvertimento finale sulle licenze
2.4. Scegliere un metodo di numerazione delle versioni
2.5. Documentazione
2.5.1. Pagine di manuale
2.5.2. Documentazione accessibile a linea di comando
2.5.3. File che gli utenti si aspettano di trovare
2.5.4. Sito web
2.5.5. Altri suggerimenti sulla documentazione
2.6. Altri problemi di presentazione
2.6.1. Nomi dei file di pacchetto
2.6.2. Formati dei pacchetti
2.6.3. Sistemi di controllo di versione
2.6.4. Suggerimenti e dritte utili per la presentazione
3. Mantenere un progetto: interagire con gli sviluppatori
3.1. Delegare il lavoro
3.1.1. Come delegare
3.2. Accettare e rifiutare patch
3.2.1. Incoraggiare un buon patching
3.2.2. Giudizio tecnico
3.2.3. Rifiutare delle patch
3.3. Rami stabili e rami di sviluppo
3.4. Altri problemi nella gestione dei progetti
3.4.1. Congelamento
3.5. Forks
4. Mantenere un progetto: interagire con gli utenti
4.1. Collaudo e collaudatori
4.1.1. Collaudo automatizzato
4.1.2. Collaudo eseguito da collaudatori
4.2. Impostare un'infrastruttura di supporto
4.2.1. Documentazione
4.2.2. Mailing list
4.2.3. Altre idee di supporto
4.3. Rilasciare il programma
4.3.1. Quando rilasciare
4.3.2. Come rilasciare
4.3.3. Rilasci alpha, beta, e di sviluppo
4.4. Annunciare il progetto
4.4.1. Mailing list e Usenet
4.4.2. freshmeat.net
4.4.3. Mailing List di progetto
Bibliografia
A. GNU Free Documentation License
A.1. 0. PREAMBLE
A.2. 1. APPLICABILITY AND DEFINITIONS
A.3. 2. VERBATIM COPYING
A.4. 3. COPYING IN QUANTITY
A.5. 4. MODIFICATIONS
A.6. 5. COMBINING DOCUMENTS
A.7. 6. COLLECTIONS OF DOCUMENTS
A.8. 7. AGGREGATION WITH INDEPENDENT WORKS
A.9. 8. TRANSLATION
A.10. 9. TERMINATION
A.11. 10. FUTURE REVISIONS OF THIS LICENSE

1. Introduzione

Basta scorrere freshmeat.net per ricavare una montagna di ragioni per l'esistenza di questo HOWTO: Internet è disseminata di programmi utili e scritti in modo eccellente, che però si sono dissolti nell'universo dell'oblio del software libero. Questo triste scenario mi ha portato a chiedermi: "Perché?"

Il presente HOWTO cerca di fare molte cose (probabilmente troppe), ma non può rispondere a questa domanda, e non ci proverà. Ciò che l' HOWTO cercherà di fare è fornire al proprio progetto di software libero una chance da giocarsi, un vantaggio. Se si scrive una porcheria che non interessa a nessuno, si può leggere questo HOWTO fino a recitarlo a memoria nel sonno, e nonostante questo il progetto probabilmente fallirà. Non solo, si può scrivere un software bello, utile, e seguire tutte le istruzioni di questo HOWTO e il proprio software ancora potrebbe non farcela. Certe volte la vita è così. Comunque, mi sbilancerò sino a dire che se si scrive un bellissimo ed utile software ed si ignorano i consigli di questo HOWTO, probabilmente si fallirà più spesso.

Molte delle informazioni di questo HOWTO sono questioni di buon senso; naturalmente, come ogni dibattito sulle interfacce può provare, ciò che è buon senso per alcuni programmatori si dimostra completamente controintuitivo per altri. Dopo aver spiegato frammenti di questo HOWTO a sviluppatori di software libero in diverse occasioni, ho compreso che scrivere questo HOWTO potrebbe fornire una risorsa utile ed un punto d'incontro affinché i programmatori si scambino idee su ciò che ha o non ha funzionato per loro.

È necessaria una breve introduzione alla questione licenze: ne è cosciente chi si è trovato coinvolto in quella che sembra un'infinita lotta al diritto di proprietà intellettuale.

1.1. Copyright Information

This document is copyrighted (c) 2000 Benjamin "Mako" Hill and is distributed under the terms of the GNU Free Documentation License.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be found nelAppendice A.

1.2. Disclaimer

No liability for the contents of this documents can be accepted. Use the concepts, examples and other content at your own risk. As this is a new edition of this document, there may be errors and inaccuracies, that may of course be damaging to your project (and potentially your system). Proceed with caution, and although this is highly unlikely, the author(s) does not take any responsibility for that.

All copyrights are held by their by their respective owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark.

Naming of particular products or brands should not be seen as endorsements.

1.3. Nuove versioni

Questa versione è parte del terzo ciclo di pre-rilascio di questo HOWTO. È stato scritto per essere rilasciato agli sviluppatori per ricevere critiche e nuove idee. Si ricordi per favore che questa versione dell'HOWTO è ancora in uno stadio infantile e continuerà ad essere ampiamente revisionata.

L'ultimo numero di versione di questo documento dovrebbe sempre essere riportato sulla homepage del progetto residente su yukidoke.org.

La versione più recente di questo HOWTO sarà sempre resa disponibile sullo stesso sito web, in una varietà di formati:

1.4. Riconoscimenti

In questa versione ho il piacere di ringraziare:

I colleghi sviluppatori Debian Martin Michlmayr e Vivek Venugopalan, che hanno inviato informazioni e collegamenti ad articoli estremamente interessanti. Entrambi sono stati aggiunti alla bibliografia, e sono state aggiunte all'HOWTO informazioni ricevute da ognuno. Grazie ad Andrew Shugg che ha segnalato diversi errori nel documento. Un grande grazie anche a Sung Wook Her (alias RedBaron) che sta facendo la prima traduzione dell'HOWTO in coreano. Sono stato felice di notare che la gente fino ad ora ha tratto giovamento e beneficio da questo HOWTO.

Ringraziamenti meno recenti, ma che non voglio eliminare, includono: Josh Crawford, Andy King e Jaime Davila, che hanno letto questo documento per intero e hanno dato dei feedback molto utili per correggerlo e migliorarlo. Non posso ringraziarvi abbastanza per il vostro aiuto. Un "grazie" extra va ad Andy King, che ha riletto il documento diverse volte, ed ha inviato delle correzioni che mi hanno reso la vita più facile.

Karl Fogel, l'autore di Open Source Development with CVS, pubblicato dalla Coriolis Open Press. Lunghi estratti del suo libro sono disponibili sul web. 225 pagine del libro sono disponibili sotto licenza GPL, e costituiscono il miglior manuale introduttivo per CVS che abbia mai visto. Il resto del libro copre "le sfide e gli innati problemi di principio connessi alla conduzione di un progetto Open Source usando CVS." Il libro fa un buon lavoro nel coprire alcuni degli argomenti trattati in questo HOWTO, e molti altri. Il sito web del libro offre informazioni su come ordinare il libro, e fornisce diverse traduzioni dei capitoli su CVS. Se si è seriamente interessati alla conduzione di un progetto di software libero bisogna avere questo libro. Ho cercato di citare Fogel nelle sezioni di questo HOWTO in cui ero consapevole di stare attingendo direttamente dalle sue idee; se ne ho dimenticata qualcuna, chiedo venia, cercherò di correggerle nei rilasci futuri.

Karl Fogel può essere contattato presso

Anche Eric S. Raymond ha fornito materiale di supporto e ispirazione per questo HOWTO, con le sue discussioni prolifiche, coerenti e meticolose, e Lawrence Lessig mi ha ricordato l'importanza del software libero. Inoltre, voglio ringraziare tutti gli utenti e sviluppatori coinvolti nel progetto Debian. Debian mi ha fornito una casa, un posto dove praticare il patrocinio del software libero, un posto dove ottenere dei risultati, un posto dove imparare da quelli che sono parte del movimento da molto più tempo di me. Debian mi ha anche fornito la testimonianza di un progetto di software libero che funziona davvero bene.

Soprattutto, voglio ringraziare Richard Stallman, per il suo lavoro alla Free Software Foundation, e per non essersi mai arreso. Stallman ha stabilito e articolato le basi filosofiche che mi spingono verso il software libero, e che mi portano a scrivere un documento per far sì che esso abbia successo. RMS può essere sempre raggiunto via email a .

1.5. Il feedback

Ogni feedback su questo documento è sempre, senza fallo, il benvenuto. Senza le segnalazioni ed aggiunte dei lettori, questo documento non esisterebbe. Pensate che manchi qualcosa? Non esitate a contattarmi per farmi scrivere un capitolo, sezione o sottosezione, o per scriverne una voi stessi. Voglio che questo documento sia un prodotto di quel processo di sviluppo del software libero che mira a promuovere, e penso che il suo successo finale si fondi sulla sua capacità di esserlo davvero. Per favore inviate le vostre aggiunte, commenti e critiche al seguente indirizzo email: .

1.6. Traduzioni

Non tutti parlano inglese. Le traduzioni sono una buona cosa, e sarebbe molto bello che questo HOWTO raggiungesse quella portata internazionale che la traduzione di un documento comporta.

Sono stato contattato da un lettore che promette una traduzione in coreano. Tuttavia, questo HOWTO è ancora giovane, ed oltre alla promessa del coreano, solamente l'inglese è disponibile; se voleste contribuire a, o eseguire per intero, una traduzione, otterreste il mio completo rispetto e ammirazione, e diventereste parte di un processo molto interessante. Se siete interessati, per favore non esitate a contattarmi a: .