Лучшие практики при разветвлении кодовой базы

13

У меня есть вопрос о том, как правильно использовать код для разветвления.

Я взял кодовую базу, лицензированную по лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0, и внес в нее значительные изменения в соответствии со своими потребностями. Мне кажется, что моя версия может принести пользу другим, и я хочу ее перераспределить.

Я не уверен, какие у меня есть свободы для перераспределения или что приемлемо. Могу ли я переименовать проекты? Должен ли я начать новый v.1 или продолжить с исходного номера версии? Что считается дать надлежащую атрибуцию первоначальному автору? Должен ли я проконсультироваться с автором и спросить разрешения перед выпуском (хотя он уже в курсе)?

Sebastien
источник
1
Лицензии CC с SA не являются хорошей лицензией для кода, немного неясно, насколько велика область действия вирусности. Я бы поговорил с первоначальным автором и попытался договориться о подходящей лицензии.
CodesInChaos

Ответы:

8

Есть два пути, которые вы можете выбрать

  1. Вы предоставляете свои модификации для включения в исходный проект.
  2. Вы распространяете свою версию как альтернативный проект.

Преимущество первого варианта заключается в том, что вы не будете конкурировать друг с другом и можете разделить усилия по обслуживанию. С другой стороны, если авторские права на оригинал принадлежат одному физическому или юридическому лицу, они могут попросить вас подписать ваше авторское право, если они хотят сохранить возможность изменять лицензию.

Во втором варианте рекомендуется выпустить измененную версию под другим именем, если только оригинал не был оставлен и фактически не поддерживается.
Если вы выпускаете под новым именем, вы можете использовать любую нумерацию версий. Если это продолжение предыдущего проекта, вам следует продолжить с номера версии оригинала.
С использованием его лицензии первоначальный автор уже дал вам разрешение на выпуск (при определенных условиях). Правильная атрибуция будет

  • в первую очередь сохранение авторских прав.
  • в документации (например, в файле README) указывается, из какого проекта вы ответили. Чтобы быть уверенным, что в этом нет ошибки, я также добавил бы ссылку на домашнюю страницу проекта, но я не думаю, что это обязательство.
Барт ван Инген Шенау
источник