Come contribuire

Iscriversi alla nostra mailing list può essere un’ottima idea per cominciare. Le conversazioni in lista sono in Inglese. Anche se questo sito (e lo stesso Subsurface) sono tradotti in diverse lingue, la lingua comune usata è l’Inglese, in realtà il “Broken English” va benissimo… :)

Di solito, è possibile trovare degli sviluppatori nel canale #subsurface su Freenode.

Ci sono molti modi in cui puoi contribuire. Siamo sempre alla ricerca di persone che abbiano la volontà di provare il codice durante lo sviluppo. Abbiamo specialmente bisogno di persone che utilizzano il programma su Windows e Mac (dato che la maggior parte degli sviluppatori attivi sono persone Linux). Siamo anche sempre alla ricerca di volontari che ci aiutino a revisionare e migliorare la documentazione. In particolare cerchiamo traduttori che possano tradurre il programma in altre lingue. Le nostre traduzioni sono centralizzate in Transifex -- per favore, crea un account e chiedi di unirti al Subsurface Team.

Se vuoi contribuire con patch che correggono bug o aggiungono nuove funzionalità hai il nostro più caldo benvenuto. Qui c’è una breve introduzione su come creare delle commit che puoi inviare alla mailing list. Maggiori dettagli sull’utilizzo di git li puoi trovare nel git user manual.

Inizia col prendere i sorgenti più aggiornati (per scoprire come dai un’occhiata alla pagina Building).
cd subsurface
git checkout master
git pull

Bene, adesso siamo sicuri che hai la versione più recente. Crea un branch di lavoro dove tenere le tue modifiche in:
git checkout -b devel
Modifica il codice (o la documentazione), compila, testa… e quindi crea una commit:
git commit -s -a
In base al sistema operativo sui cui lavori, il comando aprirà un editor di default -- di solito puoi definirlo impostando la variabile di ambiente GIT_EDITOR. Qui inserisci il tuo messaggio di commit. La prima linea è il titolo della tua commit. Sii breve e coinciso. Quindi inserisci una spiegazione più dettagliata (più in basso troverai maggiori informazioni a riguardo e sul fatto che insistiamo che tutti i contributi contengano un signed-off by:).
Se vuoi cambiare il commento della commit, “git commit --amend” è il modo giusto. Sei libero di spezzettare le tue modifiche in tante commit più piccole. Quando hai finito lancia
git format-patch master..devel
Che crea un certo numero di file con nomi del tipo 0001-Commit-title.patch.

Quando invii del codice, per favore manda delle patch firmate o una pull request con commits firmate. Se non le firmi, non le accetteremo. In pratica significa aggiungere una linea che dica “Signed-off-by: Nome ” alla fine di ogni commit indicando che tu hai scritto il codice e hai diritto di inoltrarlo come una patch open source.

Leggi: Signed-off-by Lines

Inoltre, per favore, scrivi dei buoni messaggi di commit. Un buon messaggio consiste in qualcosa di simile:

Riga di intestazione: spiega la commit in una sola linea

Il corpo del messaggio di commit consiste di poche linee di testo
che spiegano le cose in maniera più dettagliata, possibilmente
dando qualche info di contesto riguardo il problema che si
propone di risolvere, ecc…

Il corpo del messaggio di commit può essere compost da diversi
paragrafi, e per favore, formatta bene le parole mantenendo il
testo entro i 74 caratteri. In questo modo “git log” mostrerà il
tutto in maniera corretta anche quando è indentato.

Reported-by: chiunque lo abbia segnalato
Signed-off-by: Il tuo nome

L’intestazione dovrebbe essere significativa pur rimanendo in una sola linea. La riga di intestazione è il testo mostrato da tool come gitk and shortlog e dovrebbe essere in grado di riassumere la modifica apportata in un’unica linea di testo leggibile indipendentemente dalla spiegazione più lunga.

gitk sample

Exemple with gitk