Проект Forking GPL: есть ли у меня полные права на новый форк или все еще зависимости от первоначального владельца?

34

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

Когда я разветвляю код, я вынужден выпустить новый проект под той же лицензией (GPL), что и я, но могу ли я также решить выпустить его под двойной лицензией, одна из которых коммерческая?

Разветвляя проект, я автоматически владею авторским правом всего этого? Это актуально, например, при принятии решения об изменении лицензии в будущем или для возможности применения лицензии GPL к третьей стороне.

Visiedo
источник
10
если бы это было возможно, любой мог бы просто раскошелиться на проект GPL и получить то же программное обеспечение с совершенно новой лицензией, эффективно устраняя любые ограничения, связанные с GPL, и аннулировать лицензию GPL одним простым движением.
user2485710
GPL разрешает коммерческое использование!
Фекли

Ответы:

74

Краткий ответ: когда вы разветвляете существующий проект, вы, как правило , не имеете разрешения на изменение лицензии и не получаете авторских прав на код, который вы скопировали.

Вы делаете есть авторские права на любые (нетривиальным) изменения или дополнения , которые вы делаете.


Длинный ответ:

Единственный способ получить авторское право на фрагмент кода - это написать его самостоятельно или получить назначенное вам право на основании договора. Это означает, что разветвление существующего проекта не меняет авторских прав на код исходного проекта или разветвления.

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

Барт ван Инген Шенау
источник
2
Хорошее объяснение вопросов авторского права.
Рори Хантер
2
@ArtB, не уверен насчет GPL -> AGPL, но LGPL специально позволяет вам выпускать модифицированную версию под GPL ( см. Статью 2 ). То, что вам разрешено делать, зависит от первоначальной лицензии.
Бруно
3
@ 2rs2ts не уверен, что вы говорите правду (см. Раздел 13 GPLv3 ... конечно, это зависит от того, говорим ли мы о GPLv2 или GPLv3). Кроме того, ваши изменения, как правило, всегда ваши. Если вы добавите магический виджет в проект GPL A, вам, возможно, придется действительно перераспределить лот под GPL, но если вы добавите тот же магический виджет в проект BSD B, вы можете повторно лицензировать свои вещи (а не вещи из проекта A) любым способом (совместимым с лицензией проекта B). (Как всегда, обратитесь за юридической консультацией, если хотите быть уверенным. Это не так.)
Бруно,
1
Имейте в виду, что AFAIK (но IANAL) ваш код принадлежит вам независимо от того, что, то есть вы можете выпустить патч под любой лицензией, которая вам нравится, независимо от лицензии целевого проекта.
о0 '.
4
@Lohoris: Вы правы в том, что можете выпускать патчи, которые пишете, с любой лицензией, которую захотите. Но если небрежный выбор этой лицензии может сделать исправленный код нераспространяемым, потому что будет невозможно выполнить все лицензионные требования.
Барт ван Инген Шенау
24

Ваш разветвленный проект является производной от исходного кода проекта. Другими словами, ваш проект использует исходный проект, и поэтому вы связаны его лицензией. Если бы это было не так, лицензия вообще не имела бы смысла.

Итак, нет, вы не можете выпускать код по закрытой лицензии, если он создан на основе кода, который этого не допускает.

большой нос
источник
Ответ Барта подразумевает более строгие, чем у вас, условия лицензирования разветвленного кода - какой из них является точным в общем случае?
Томас
Ваш ответ создает разветвленную работу, созданную в результате проекта, что дает возможность повторно лицензировать, если исходный код был лицензирован, что позволяет повторно лицензировать производные работы. В ответе Барта говорится, что вы никогда не сможете повторно лицензировать раздвоенный код, если не приобретаете авторские права, независимо от того, что говорится в оригинальной лицензии. Это эквивалентно?
Томас
4
@ Томас Дэн прав: если оригинальная лицензия допускает повторное лицензирование, вы можете повторно лицензировать новый проект. Я не уверен, что ответ Барта говорит о том, к чему вы его интерпретируете. OP говорит о коде, лицензированном в соответствии с GPL, поэтому в данном случае они эквивалентны.
Taemyr
5
@ Томас, я не думаю, что там есть конфликт. Смысл обоих наших ответов заключается в том, что вы по-прежнему связаны лицензией на код, с которого вы ответили . Тем не менее, вы можете делать все, что позволяет лицензия этого кода. Барт отмечает, что, если лицензия на оригинальное произведение дает вам разрешение, вы можете выдать свое произведение под другой лицензией.
@Taemyr Да, я думаю, что меня смутило то, относится ли ответ Барта ко всем лицензиям (как предполагает написание) или только к GPL (как предполагает этот вопрос).
Томас
17

Забудьте о GPL на мгновение и посмотрите на авторские права. Когда вы разветвляете проект, весь код, который присутствовал в исходном проекте, является авторским правом того, кто написал этот код в исходном проекте. Весь код, который вы пишете впоследствии, является вашим авторским правом. Поэтому, если вы не переписываете весь код из исходного проекта, этот код не ваш и у вас нет законных прав.

Затем вы смотрите на лицензию GPL и проверяете, какие права она дает вам помимо прав, предусмотренных законом об авторском праве. Это позволяет вам создавать производные работы, что делает весь бизнес-бизнес легальным в первую очередь - с простым законом об авторском праве вам не разрешат создавать производные работы. Далее, он позволяет вам использовать код, если вы его не распространяете. Таким образом, пока никто не может завладеть раздвоенным кодом, GPL позволяет вам делать с ним все, что вы хотите.

Однако, если вы распространяете раздвоенный код, включая чужой код, защищенный авторским правом, у вас есть разрешение владельца авторских прав, только если вы следуете их правилам. Одним из правил является то, что вы должны лицензировать весь код в соответствии с GPL (включая ваш собственный). Другое правило заключается в том, что вы должны передавать исходный код другим; проверьте GPL для деталей.

Изменение лицензии будет затруднено, пока какой-либо оригинальный код все еще существует. Вы не можете лицензировать свой код способом, который не позволяет следующему парню использовать код так, как это разрешено GPL, вы также не можете позволить им делать то, что не разрешено GPL.

gnasher729
источник
1
Я в целом согласен с вашим ответом, но я думаю, что вы можете перефразировать это предложение: «с простым законом об авторском праве вам не разрешат создавать производные работы». Как правило, вероятно, достаточно сделать вид, что это верно, но есть исключения. (Истекшие авторские права, пародия и т. Д.) Однако я признаю, что большинство из них не применимо к GPL.
Патрик М