Qual è l'etichetta di rinominare un fork open source?

19

Voglio biforcarsi su Github il framework di test java TestNG (licenza Apache 2) in modo da poter aggiungere / modificare alcune cose secondarie in base alle mie esigenze.

È improbabile che tutte le mie modifiche vengano approvate nel progetto principale o che altre persone utilizzino la mia forcella. Questo non sarebbe in alcun modo una competizione per il progetto principale.

Ora, in termini di denominazione, voglio cambiare il nome del file (testng-mycompany) o la versione (6.8.mycompany), quindi non c'è confusione con la versione ufficiale nel mio repository di Maven. Questo sarebbe considerato una scarsa etichetta? Se sì, qual è l'approccio migliore per distinguere la forcella?

    
posta Bogdan Calmac 26.02.2013 - 19:11
fonte

2 risposte

5

Forcella e fai il tuo peggio / il migliore.

Il software open source ha sempre avuto come obiettivo quello di permettere alle persone di adattarsi, cambiare e sfidare le convenzioni. La parte difficile nel creare un progetto è sviluppare una nuova comunità intorno a te che crede in quello che stai facendo.

Ad esempio, potrei scaricare il sorgente per Apache, apportare alcune modifiche e chiamarlo la prossima grande cosa .. ma se nessun altro viene a bordo, sono bloccato a fare il catchup con gli zillions di nuove funzionalità e bug correzioni fornite dalla comunità centrale di Apache.

Riferimento: Game of Thrones.

Invece di fork TestNG potrebbe essere più semplice scrivere moduli / add-on per questo sopra il Repo esistente, in questo modo sarà sufficiente mantenere il proprio codice.

In alternativa, se senti la necessità di modificare TestNG, forse è semplicemente lo strumento sbagliato per il lavoro.

[Disclaimer, non ho mai sentito di TestNG fino ad ora]

    
risposta data 20.04.2013 - 13:31
fonte
1

I progetti Open Source sono destinati ad essere avanzati. La cosa grandiosa dei progetti open source è che incoraggiano la collaborazione esterna. Quando decidi di biforcarti un progetto, dichiari semplicemente di aver preso l'iniziativa per produrre il tuo "sapore" o "interpretazione" del progetto. Molti team finiranno per forgiare i propri progetti al fine di espandere la base del progetto per molteplici scopi.

Esempio: Webkit e Blink

Per quanto riguarda la denominazione, devi essere il più chiaro possibile. Le pratiche di nomenclatura di base nello sviluppo sono piuttosto ambigue.

Vai a: Quale "convenzione di denominazione della versione" usi?

Se dovessi biforcare dovresti dichiarare il tuo "Nome" e quindi comunicare esattamente quale versione stai usando.

Non vedo un motivo per biforcarsi a meno che tu non abbia in programma di portare il progetto in una direzione fondamentalmente diversa da quella prevista. Ho riscontrato che, nella maggior parte dei casi, le funzionalità / modifiche aggiunte che proporrei offrivano una grande opportunità di apprendimento da entrambe le direzioni. Se mai, sono d'accordo con Dave sull'idea di creare moduli separati per promuovere la modularità preservando l'integrità del progetto principale.

    
risposta data 03.05.2013 - 16:40
fonte

Leggi altre domande sui tag