2011-01-20 7 views
31

Sto facendo un po 'di tempo libero codificando su CultureGrid. Hanno una API SOLR per accedere a manufatti culturali 1.2m. Ho rilasciato una gemma per consumare il loro servizio, ma ho una bella idea sull'uso di Datamapper con un backend per adattatore SOLR per farlo in un modo migliore.Quali sono l'etica e il galateo del biforcarsi al progetto di github di qualcun altro per renderlo un gioiello?

Ho appena trovato un progetto dello scorso anno su Github chiamato dm-solr-adapter. È un fork del lavoro di qualcun altro dal 2008 e per usarlo devi clonare il progetto ed eseguire un rake task per installarlo (non serve molto su heroku, quindi dovrei venderlo). Sfortunatamente quell'attività è stata interrotta perché non ha bloccato le loro versioni gem, e Bones è cambiato considerevolmente tra la versione 2 e 3.

Fondamentalmente - ha bisogno di un po 'di ricodifica per farlo diventare una gemma, e se Lo farò anche io potrei rilasciarlo da solo e farlo nel modo in cui lo so - usando invece Jeweler.

Quindi, naturalmente, lascerò cadere una riga su tutti gli autori, ma mi chiedo quale sia l'etica e l'etichetta qui. Includo il mio nome utente nella gemma o utilizzo il nome della gemma originale? Potrebbe potenzialmente cestinare l'installazione di qualcun altro, anche se la gemma non è elencata su Rubygems.org? Seguo la loro convenzione di numerazione? Sembra che abbiano scelto "1.0.0" e siano rimasti attaccati, senza ulteriori attività. Oppure ricomincio dalla versione 0.1.0?

In caso contrario, devo solo prendere i bit che voglio, includerlo nel mio nuovo progetto e dare una punta di cappello? Ciò non sembra molto utile per gli altri che potrebbero voler fare le stesse cose.

O forse prendo i bit che ritengo utili, creare una gemma completamente nuova chiamata qualcosa come dm-solr-backend e andare da zero?

Oh, i dilemmi - cosa faresti?

+6

Prima di preoccuparti troppo delle specifiche, potresti voler scrivere gli autori originali e confermare che hanno abbandonato il progetto. Se per caso stessero per iniziare a lavorarci di nuovo, sarebbe un peccato preoccuparsi di tutto questo quando collaborerai. – Cascabel

risposta

18

Quindi, se non hai intenzione di rilasciare un gioiello, basta andare avanti e forchetta (supponendo che la licenza lo consenta) e non preoccuparti. Questo è OK al 100% e anche il comportamento previsto a questo punto. Le forcelle sono in realtà uno dei modi più semplici per accettare patch dai contributori. Il grafico di rete è spesso un buon modo per valutare sia lo stato di salute di un progetto, sia le potenziali aree di miglioramento.

Se avete intenzione di rilasciare un gioiello perché l'originale è diventato non più mantenuto, si debbono:

  • uscita come username-originalgemname
  • Contatta l'autore originale e di offrire a prendere il sopravvento. Quindi spingere nuove gemme sotto il nome originale.

Se avete intenzione di rilasciare una gemma perché è necessario modificare la gemma che non a beneficio della comunità nel suo insieme, è necessario uno:

  • Estrarre la gemma in una cartella vendor e mai rilasciare
  • uscita come username-originalgemname

Nella maggior parte dei casi, non c'è nessun problema con un rilascio gemma di nome username-originalgemname. Questo è stato il modello utilizzato dal repository Gem GitHub, quindi è così che la maggior parte delle persone gestisce le forche a questo punto.

4

L'unico esempio di ciò che conosco attualmente è la gemma cache-money. E 'stato biforcuta un paio di volte, in questo ordine:

In ogni caso, il progetto era andato in sospeso per un bel po' di tempo. A parte il link su GitHub che mostra da dove proviene la forcella, in nessuno di questi casi non c'era alcuna attribuzione al codice originale (la forcella centrale si è persino dimenticata di aggiornare la documentazione per specificare quale fork installare quando si installa da gem).

Fintantoché si fa uno sforzo in buona fede per contattare il manutentore originale e il progetto è rimasto inattivo per qualche tempo, provaci. Assicurati di aggiornare la documentazione. ;)

4

Per quanto riguarda il controllo dello stato di un progetto, c'è un nuovo sito chiamato http://stillmaintained.com/ in cui alcune persone registrano se il loro progetto viene mantenuto, in cerca di un manutentore o abbandonato.

+0

Questa è una grande idea per un sito. Molto facile aggiungere i miei progetti e quindi visualizzare gli altri '. Grazie – stef

+3

Questo sito non esiste più. – Naktibalda

+2

@Naktibalda Forse è semplicemente alla ricerca di manutentori ... qualsiasi idea di dove possiamo trovare informazioni su questo? –

Problemi correlati