Come si prevede che un committer si comporti? [chiuso]

3

In progetti open source di solito c'è un set di sviluppatori che hanno le autorizzazioni per il commit del codice - i committer - e altri che "pull request" o send patches, il "pubblico generico".

Trovo fastidioso quando

  1. il committer firma il commit con il proprio nome e scrive nel messaggio di commit "Grazie a ...".

  2. il committer modifica la patch prima di eseguire il commit senza chiedere se l'autore originale è d'accordo.

Considerando questi due fastidi, sono costretto a pensare che dovrei mettermi dall'altra parte e chiedere come dovrebbe comportarsi un core committer. Ci si aspettano queste due situazioni particolari?

Voglio dire, è questo il comportamento corretto per costruire e mantenere una comunità attiva di "pubblico generico"?

EDIT:

Non sto chiedendo se hanno il diritto di farlo o sono legalmente obbligati a farlo. IMO un committer non dovrebbe accontentarsi di seguire la legge, ma dovrebbe essere interessato a costruire / mantenere la comunità entro i limiti degli obiettivi del progetto. Questo è quello che sto chiedendo: come dovrebbe comportarsi per realizzare questo.

    
posta Jorge Leitão 12.12.2013 - 08:26
fonte

2 risposte

5

Annuncio 1.

Questa è la ragione per cui git ha voci separate di autore e committer nei metadati di commit. Quindi è ovvio che dovrebbero mantenere il contributore in "autore" e se stessi come "committer".

Git e Linux projects hanno anche questo tag 'Signed-Off-By:'. Viene semplicemente usato come parte del commit stesso, quindi siamo tornati a "grazie a ...", solo un po 'formalizzato, che elenca tutti i titolari del copyright in quanto anche il singolo commit può avere più di uno. Succede spesso quando il manutentore apporta modifiche significative al contributo, ma a volte un contributo semipremiato viene selezionato da qualcun altro e rielaborato, anche più volte, quindi non è insolito avere 3 o più firme su un commit.

Altri sistemi di controllo delle versioni (come Subversion) mantengono solo il committer e li seguono automaticamente, quindi non c'è altro modo che menzionare l'autore nel messaggio.

Annuncio 2.

Il manutentore di solito ha uno stile che desidera mantenere e varie interazioni nel progetto possono far sì che preferiscano una soluzione piuttosto che un'altra. Quindi spesso modificano le submission per abbinarle.

Hanno pieno diritto di farlo. L'autore originale era d'accordo mettendo il contributo sotto la licenza del progetto! Per qualificarsi come open-source una licenza deve consentire la modifica.

D'altro canto, un buon maintainer distingue tra lavoro di integrazione e lavoro degli sviluppatori e non privilegia se stesso come sviluppatore. Quindi, come parte del lavoro di integrazione, sceglieranno cosa unire e dove, ma i cambiamenti si faranno sotto il lavoro degli sviluppatori. Quindi quando cambiano qualcosa di significativo (non solo errori di battitura nei commenti, negli spazi bianchi e nella formattazione), creano una nuova sottomissione con le modifiche rielaborate e la pubblicano per i commenti. Quindi l'autore originale o chiunque altro può segnalare problemi con la rielaborazione.

Nota comunque che non consente ancora all'autore originale di vietarlo per motivi legali, perché hanno già reso il contributo originale sotto licenza che consente di modificarlo. Permette loro di sottolineare qualsiasi tecnica (o estetica, ma il manutentore è comunque in grado di attenersi al loro gusto) comunque contro la modifica.

    
risposta data 12.12.2013 - 08:58
fonte
3

Sul primo punto, la maggior parte dei manutentori open source fa di tutto per dare credito laddove il credito è dovuto. Non tutti i sistemi di controllo delle versioni rendono facile o addirittura possibile mantenere separati i campi dell'autore e del committer, specialmente se vi lavorano più persone. Sii soddisfatto del riconoscimento. A volte potresti anche avere una sorpresa in più, come essere elencato come autore nella finestra di dialogo about.

Sul secondo punto, i manutentori si occupano di molti contributori "incendi e dimentichi", che vogliono fare una sottomissione e andare avanti. Mentre alcuni contributori preferiscono possedere il proprio codice dall'inizio alla fine, la maggior parte è perfettamente adatta a consentire a qualcun altro di apportare modifiche ai problemi di stile e di risolvere potenziali bug che non hanno visto a causa della mancanza di familiarità con il codice. È è open source, dopotutto, quindi sarà finalmente cambiato, ed è molto più semplice apportare la modifica che spiegarla e aspettare. Se sei il primo tipo di contributore, devi chiarire questo aspetto.

    
risposta data 12.12.2013 - 14:48
fonte

Leggi altre domande sui tag