Ich möchte das Java-Testframework TestNG (Apache 2-Lizenz) auf Github verteilen, damit ich einige kleinere Dinge hinzufügen / ändern kann, um sie meinen Bedürfnissen anzupassen.
Es ist unwahrscheinlich, dass alle meine Änderungen im Hauptprojekt genehmigt werden oder dass andere Leute meine Gabel verwenden. Dies wäre in keiner Weise ein Wettbewerb zum Hauptprojekt.
In Bezug auf die Benennung möchte ich nun den Artefaktnamen (testng-mycompany) oder die Version (6.8.mycompany) ändern, damit keine Verwechslungen mit der offiziellen Version in meinem Maven-Repository auftreten. Wäre das eine schlechte Etikette? Wenn ja, wie lässt sich Ihre Gabel am besten unterscheiden?
open-source
github
etiquette
forking
Bogdan Calmac
quelle
quelle
Antworten:
Fork away und mache dein schlechtestes / bestes.
Bei Open Source-Software ging es seit jeher darum, Einzelpersonen die Möglichkeit zu geben, Konventionen anzupassen, zu ändern und in Frage zu stellen. Der schwierige Teil beim Entwickeln eines Projekts ist die Entwicklung einer neuen Community um Sie herum, die an das glaubt, was Sie tun.
Zum Beispiel könnte ich den Quellcode für Apache herunterladen, ein paar Änderungen vornehmen und ihn als das nächste große Ding bezeichnen. Aber wenn niemand anderes an Bord kommt, muss ich mich an die Unmengen neuer Funktionen und Fehlerbehebungen halten, die von bereitgestellt werden die Kern-Apache-Community.
Hinweis: Game of Thrones.
Anstelle von Fork TestNG ist es möglicherweise einfacher, Module / Add-Ons für TestNG auf das vorhandene Repo zu schreiben. Auf diese Weise müssen Sie nur Ihren eigenen Code pflegen.
Alternativ, wenn Sie das Gefühl haben, TestNG ändern zu müssen, ist es vielleicht einfach das falsche Werkzeug für den Job.
[Haftungsausschluss, ich habe noch nie von TestNG gehört]
quelle
Open Source-Projekte sollen weiterentwickelt werden. Das Tolle an Open Source-Projekten ist, dass sie die Zusammenarbeit von außen fördern. Wenn Sie sich für ein Projekt entscheiden, geben Sie einfach an, dass Sie die Initiative ergriffen haben, um Ihr eigenes "Aroma" oder "Interpretation" des Projekts zu erstellen. Viele Teams werden am Ende ihre eigenen Projekte forken, um die Basis des Projekts für mehrere Zwecke zu erweitern.
Beispiel: Webkit und Blink
Bei der Benennung möchten Sie so klar wie möglich sein. Grundlegende Nomenklaturpraktiken in der Entwicklung sind eher zweideutig.
Gehe zu: Welche "Versionsnamenskonvention" verwenden Sie?
Wenn Sie sich trennen möchten, möchten Sie Ihren "Namen" angeben und dann genau mitteilen, welche Version Sie verwenden.
Ich sehe keinen Grund zum Verzweigen, es sei denn, Sie planen, das Projekt in eine grundlegend andere Richtung zu lenken als beabsichtigt. Ich habe festgestellt, dass in den meisten Fällen die hinzugefügten Funktionen / Änderungen, die ich vorschlagen würde, eine großartige Lernmöglichkeit aus beiden Richtungen bieten. Wenn überhaupt, bin ich mit Dave auf der Idee, separate Module zu erstellen, um die Modularität zu fördern und gleichzeitig die Integrität des Kernprojekts zu wahren.
quelle