Я хочу раскошелиться на Github среду тестирования Java TestNG (лицензия Apache 2), чтобы я мог добавлять / изменять некоторые мелочи в соответствии со своими потребностями.
Маловероятно, что все мои изменения будут одобрены в основном проекте или что другие люди будут использовать мой форк. Это никоим образом не будет конкуренцией основному проекту.
Теперь, с точки зрения именования, я хочу изменить имя артефакта (testng-mycompany) или версию (6.8.mycompany), чтобы не было путаницы с официальной версией в моем репозитории maven. Будет ли это рассматриваться как плохой этикет? Если да, каков лучший способ отличить вашу вилку?
open-source
github
etiquette
forking
Богдан Кальмак
источник
источник
Ответы:
Разворачивайся и делай свое худшее / лучшее.
Программное обеспечение с открытым исходным кодом всегда позволяло людям адаптироваться, меняться и бросать вызов соглашению. Самая сложная часть проекта - создать вокруг вас новое сообщество, которое верит в то, что вы делаете.
Например, я мог бы скачать исходники для Apache, сделать несколько модификаций и назвать это следующим большим достижением ... но если никто не попадет на борт, то я застрял, играя в догонялки с миллионами новых функций и исправлений ошибок, предоставляемых ядро сообщества Apache.
Справка: Игра престолов.
Вместо разветвления TestNG может быть проще написать модули / надстройки для него поверх существующего Repo, так что вам нужно будет только поддерживать свой собственный код.
В качестве альтернативы, если вы чувствуете необходимость изменить TestNG, возможно, это просто неправильный инструмент для работы.
[Отказ от ответственности, я никогда не слышал о TestNG до сих пор]
источник
Проекты с открытым исходным кодом предназначены для развития. Самое замечательное в проектах с открытым исходным кодом заключается в том, что они поощряют внешнее сотрудничество. Когда вы решаете раскошелиться на проект, вы просто заявляете, что взяли на себя инициативу создать свой собственный «вкус» или «интерпретацию» проекта. Многие команды в конечном итоге разрабатывают свои собственные проекты, чтобы расширить базу проекта для нескольких целей.
Пример: Webkit и Blink
Что касается наименования, вы хотите быть максимально понятным. Основные номенклатурные практики в разработке довольно неоднозначны.
Перейти: Какое «соглашение об именах версий» вы используете?
Если бы вам пришлось раскошелиться, вы бы хотели указать свое «Имя», а затем точно указать, какую версию вы используете.
Я не вижу смысла раскошелиться, если вы не планируете взять проект в совершенно ином направлении, чем предполагалось. Я обнаружил, что в большинстве случаев дополнительные функции / модификации, которые я бы предложил, предлагали отличную возможность обучения в обоих направлениях. Во всяком случае, я с Дейвом об идее создания отдельных модулей, чтобы продвигать модульность, сохраняя целостность основного проекта.
источник