Скажем, разработчик разработал библиотеку для своего закрытого коммерческого приложения. Поскольку они хотят отдать себя сообществу открытого исходного кода, они публикуют эту библиотеку, скажем, под лицензией GPL, но продолжают использовать ее в своем собственном приложении. Так как они владеют авторским правом, это нормально.
Теперь пользователь версии GPL находит ошибку, исправляет ее и отправляет патч первоначальному разработчику. Насколько я понимаю, чтобы использовать это исправление в своем приложении с закрытым исходным кодом, разработчику необходимо получить разрешение от отправителя. Если отправитель отказывается, разработчик должен найти другой способ исправить ошибку в версии с закрытым исходным кодом.
Но что, если само исправление действительно тривиально? Как правильно инициализировать переменную или проверить нулевой указатель? Что-то, что любой полукомпетентный программист может найти и исправить за считанные минуты при наличии описания ошибки? Патч для этого все еще защищен авторским правом? Или оригинальный разработчик может внедрить идентичное исправление в свое приложение с закрытым исходным кодом без согласия отправителя?
Примечание: это действительно гипотетический сценарий, а не один из тех вопросов «у моего« друга »есть эта проблема»
источник
Ответы:
Предостережение: я не юрист!
Обновлено: тривиальные исправления, скорее всего, не защищены авторским правом. Посмотрите ответ Майкла Шоу, который я считаю более точным, чем я первоначально сказал, для получения дополнительной информации.
Однако, даже учитывая это, эта ситуация не идеальна:
Вывод: публичная лицензия Gnu специально ограничивает использование кода в программах с закрытым исходным кодом. Таким образом, выпуск вашего кода под лицензией GPL означает намеренное создание форка вашего кода, который не может быть включен обратно в исходную программу. Это не имеет большого смысла.
Вам будет лучше обслужить, выпустив свой код под более разрешительной лицензией, такой как одна из лицензий BSD или Artistic License . Эти лицензии позволяют включать код в программное обеспечение с закрытым исходным кодом без дополнительного разрешения. Обычно любое дальнейшее развитие со стороны сообщества происходит под той же лицензией, которую вы использовали, поэтому вы сможете включить любые изменения, которые были внесены (незначительные или существенные) в ваше программное обеспечение.
Технически, кто-то может решить обновить ваш код и затем выпустить его под лицензией GPL, но ему придется активно сделать этот выбор. Это не будет позиция по умолчанию. И при этом они будут отрезать свой выпуск от любых обновлений, которые вы делаете, так что это, вероятно, не принесет им пользы (учитывая, что это ваше программное обеспечение, вы, вероятно, будете разрабатывать его больше, чем кто-либо другой).
источник
Если исправление действительно тривиально, то, скорее всего, оно вообще не защищено авторским правом, особенно если на самом деле нет другого способа написания кода. Существуют сотни миллионов способов написания любовной поэмы или видеоигры, на самом деле существует не более одного или двух способов написания
if (*p == NULL)
. Авторское право - это выражение идеи, поэтому, если на самом деле нет никакого выбора в выражении идеи, не может быть авторского права.Однако, если исправление все еще довольно тривиально, может быть несколько десятков способов выразить его, поэтому оно может быть защищено авторским правом. И может быть нелегко сказать, является ли что-то, что является довольно тривиальным, едва защищенным авторским правом или едва не защищенным от копирования.
Также возможно, что это может быть защищено авторским правом, но использование его будет добросовестным использованием. Добросовестное использование немного сложнее, поскольку оно зависит от взвешивания нескольких факторов и может оказаться бесполезным, поскольку вопрос о том, будет ли применяться добросовестное использование, будет решаться судом - в идеале, вы вообще не хотите, чтобы дело было в суде. Как бы сильно ни был твой случай. Одним из факторов добросовестного использования является доля работы, которая была использована (это против вас, поскольку вы все это взяли), а другой - коммерческий потенциал работы (это для вас, поскольку коммерческая ценность тривиальное исправление само по себе равно нулю), поэтому угадывание того, каким образом суд может принять решение, подвержено ошибкам.
Вероятно, лучший способ справиться с этим - передать точное описание ошибки и ее точное местоположение разработчику, который не видел патч. Затем они могут самостоятельно исправить ошибку (что займет очень мало времени, так как эта ошибка тривиальна), и все потенциальные проблемы с авторским правом исчезнут, так как, если она защищена авторским правом, вам принадлежат авторские права. Ваш разработчик может получить почти такой же код, как и патч, потому что есть только один способ написать его, но в этом случае он не защищен авторским правом.
источник
После прочтения http://www.ifosslr.org/ifosslr/article/view/30/64 мое неопытное мнение таково:
Оригинальное произведение имеет единоличное авторство, и этот человек владеет авторским правом и может выбрать лицензирование произведения так, как он этого желает и действительно имеет.
Теперь разработчик находит ошибку и вносит исправление. Это можно было бы считать не защищенным авторским правом (слишком маленький вклад), но сказать, что это был существенный вклад. Первоначальный автор принимает вклад, тем самым делая работу коллективной работой, поскольку оба лица согласились на слияние.
В коллективном произведении каждый автор владеет своими частями, но каждый из них также обладает неразделенным интересом ко всему произведению, и, таким образом, каждый может выпустить целое произведение на любых условиях, которые они пожелают.
Если это разумное толкование, то спор не в том, может или нет оригинальный автор использовать исправление ошибки в своем коммерческом выпуске, какой IMO они могут. Потенциальный конфликт заключается в том, считает ли исправитель ошибок свое собственное неделимое владение работой в целом. В этом случае первоначальному автору может быть целесообразно получить релиз от средства исправления ошибок, в котором четко указано, что он не принимает участия в работе.
источник