Quelle est l'étiquette de renommer un fork open source?


29

Je veux bifurquer sur Github le framework de test Java TestNG (licence Apache 2) afin que je puisse ajouter / changer quelques petites choses pour répondre à mes besoins.

Il est peu probable que toutes mes modifications soient approuvées dans le projet principal ou que d'autres personnes utilisent ma fourchette. Ce ne serait en aucun cas une compétition pour le projet principal.

Maintenant, en termes de dénomination, je veux changer le nom de l'artefact (testng-mycompany) ou la version (6.8.mycompany) afin qu'il n'y ait pas de confusion avec la version officielle dans mon référentiel maven. Serait-ce considéré comme une mauvaise étiquette? Si oui, quelle est la meilleure approche pour distinguer votre fourche?


9
Voir aussi le projet Forking sur le processus Github et l' intersection d'étiquette et de fourche (qui contient actuellement votre question et celle liée).

Réponses:


5

Sortez et faites de votre mieux.

Le logiciel open source a toujours été de permettre aux individus de s'adapter, de changer et de contester les conventions. La partie difficile à propos de la réalisation d'un projet est de développer une nouvelle communauté autour de vous qui croit en ce que vous faites.

Par exemple, je pourrais télécharger la source pour Apache, apporter quelques modifications et l'appeler la prochaine grande chose ... mais si personne d'autre ne monte à bord, alors je suis coincé à rattraper les millions de nouvelles fonctionnalités et corrections de bugs fournis par la communauté Apache de base.

Référence: Game of Thrones.

Plutôt que de tester ForkNG, il pourrait être plus simple d'écrire des modules / add-on pour cela au-dessus du Repo existant, de cette façon, vous n'aurez qu'à maintenir votre propre code.

Alternativement, si vous ressentez le besoin de modifier TestNG, c'est peut-être simplement le mauvais outil pour le travail.

[Avertissement, je n'ai jamais entendu parler de TestNG jusqu'à présent]


-1. Cela ne répond en rien à la question.
Jon Bentley

2

Les projets Open Source sont destinés à être avancés. La grande chose au sujet des projets open source est qu'ils encouragent la collaboration extérieure. Lorsque vous décidez de créer un projet, vous déclarez simplement que vous avez pris l'initiative de produire votre propre "saveur" ou "interprétation" du projet. De nombreuses équipes finiront par forger leurs propres projets afin d'élargir la base du projet à des fins multiples.

Exemple: Webkit et Blink

En ce qui concerne la dénomination, vous voulez être aussi clair que possible. Les pratiques de base de la nomenclature en développement sont plutôt ambiguës.

Allez à: Quelle «convention de dénomination de version» utilisez-vous?

Si vous deviez bifurquer, vous voudriez indiquer votre "Nom" et ensuite transmettre exactement la version que vous utilisez.

Je ne vois pas de raison de bifurquer à moins que vous ne prévoyiez de prendre le projet dans une direction fondamentalement différente de ce qui était prévu. J'ai constaté que, dans la plupart des cas, les fonctionnalités / modifications supplémentaires que je proposerais offraient une excellente opportunité d'apprentissage dans les deux sens. Si je suis quelque chose avec Dave sur l'idée de créer des modules séparés afin de promouvoir la modularité tout en préservant l'intégrité du projet principal.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.