Come dovrei contribuire a un progetto GitHub (per lo più) abbandonato?

41

Recentemente ho cercato di entrare nella collaborazione open source in GitHub e mi sono imbattuto in una situazione per la quale sono curioso quale sia il modo preferito di procedere.

Circa un mese fa, ho trovato un progetto su GitHub per una libreria che stavo già usando da un po 'e in cui avevo trovato (e corretto) alcuni bug.

Come prima incursione nella collaborazione con GitHub, ho trovato il repository che sembrava avere il più alto volume di attività recenti, risolto un bug, aggiunto test di unità, inviato a GitHub e fatto una richiesta di pull. Nel giro di poche ore, il manutentore del repository che avevo biforcato aveva accettato il PR e si era fuso in altri PR di altre persone che lo stavano aspettando.

Spronato da questo, ho corretto altri tre bug che avevo trovato, ciascuno in un ramo separato del mio repository, e ho archiviato un problema e richiesto una richiesta per ognuno separatamente.

Questo accadeva poco più di un mese fa e da allora le richieste di tiro erano rimaste intatte, intatte. L'utente il cui repository che avevo biforcato non sembra essere molto attivo, avendo realizzato solo 7 contributi totali su GitHub nell'ultimo anno, e che il repository non ha avuto alcun commit da quella prima richiesta di pull che ho fatto.

Quindi la mia domanda:

Come si procede in questa situazione? Idealmente, vorrei evitare di creare la frammentazione della libreria andando fuori e facendo un sacco di cambiamenti nel mio repository che non sono uniti nel repository padre. Tuttavia, mi piacerebbe continuare a fare correzioni di bug e aggiungere funzionalità, ma se unisco tutto nel mio ramo master e base tutte le nuove correzioni da quel ramo, allora se il manutentore del repository che ho biforcuto mai torna, ho vinto essere in grado di suddividere tutte le modifiche in richieste di pull separate per ogni funzionalità / correzione di errori (ho letto che le richieste di pull dovrebbero essere generalmente una richiesta pull per funzionalità o correzione di errori).

Devo mantenere un ramo che è al passo con il repository originale, basare tutti i miei nuovi rami su di esso, e quindi mantenere tutti i commit uniti nel mio ramo principale? Sembra che questo mi lascerebbe con un sacco di rami e un compito sempre più gravoso ogni volta che ho bisogno di unire nuove modifiche al mio ramo principale.

Qual è il modo tipico in cui ci si avvicina a una situazione come questa? Sembra essere abbastanza comune che un progetto venga semplicemente abbandonato con i contributori originali che non sono presenti per esaminare le nuove richieste di pull. È una situazione in cui qualcuno dovrebbe prendere il timone e correre con esso? Sembra che creerebbe la frammentazione se i contributori originali torneranno e vorranno lavorare di nuovo al progetto.

    
posta JLRishe 13.02.2015 - 19:24
fonte

2 risposte

37

Non ho ancora avuto questa situazione, ma è quello che vorrei provare:

Prova a contattare il proprietario

Forse hanno davvero perso interesse, ma sono disposti a trasferire il progetto a qualcun altro, in particolare qualcuno che ha già mostrato un impegno premuroso.

Ma forse sono solo occupati con qualcos'altro (lavoro, vacanze, malattia, altri progetti) e non hanno avuto il tempo di gestire il tuo PR, ma hanno intenzione di farlo in seguito.

O forse hanno davvero smesso di lavorare sul progetto in modo permanente per qualsiasi motivo.

Senza chiedere, non lo scoprirai.

Mettiti in contatto con la community

Sicuramente ci sono altre persone che hanno contribuito, o almeno hanno usato il progetto. Controlla chi ha biforcato il progetto (anche se non hanno apportato alcuna modifica, potrebbero comunque essere interessati a vedere fiorire questo progetto); controlla chi ha segnalato problemi o commentato. Forse c'è anche una community esterna a GitHub, ad esempio un elenco di mailing list, forum o StackOverflow.

Finalmente ti occuperò del progetto, potresti volere il loro supporto. E hanno bisogno di sapere dove si trova il nuovo repository principale.

Continua a fare buone richieste di pull

Questo dimostra sia al proprietario che alla comunità che tu sei serio in merito, e lascia che siano loro a giudicare i tuoi contributi.

    
risposta data 13.02.2015 - 22:15
fonte
15

Se il proprietario del repository originale non viene trovato da nessuna parte e assente per un considerevole, pubblico il mio repository come versione diversa del progetto.

Con questo, prendi il comando dello sviluppo della biblioteca, e non lasciarlo morire in un angolo senza essere aggiornato di nuovo. Se il proprietario originale chiude mai il repository, il mondo può ancora utilizzare la versione biforcata.

    
risposta data 13.02.2015 - 20:13
fonte

Leggi altre domande sui tag