Я считаю, что это излишне дублируется, чтобы иметь его в каждом файле кода, но я вижу это в большинстве проектов с открытым исходным кодом. Должен ли я сделать то же самое или просто включить одну лицензию вне кода?
Я считаю, что это излишне дублируется, чтобы иметь его в каждом файле кода, но я вижу это в большинстве проектов с открытым исходным кодом. Должен ли я сделать то же самое или просто включить одну лицензию вне кода?
Ответы:
Один-единственный вне кода, пожалуйста! Не знаю, как насчет других, но мне неприятно видеть одно и то же поверх каждого файла.
Думаю, я читал это несколько раз, просто просматривая page_down.
evidence for the legal situation
. Perhaps a lawyer can add a link to a court decision
.
Лицензионное соглашение - неправильный термин, поскольку люди, просматривающие исходный код, обычно не являются конечными пользователями.
С юридической точки зрения это тоже не имеет значения; об авторских правах не требуется явно заявлять.
По сути, все, чего вы добиваетесь, - это снижение риска случайного попадания людей нарушения условий вашей лицензии. Вам придется решить, насколько это важно для вас.
Я бы сказал, что лучший компромисс - это поместить очень короткий заголовок, содержащий ссылку (абсолютный URL-адрес, а также относительный URL-адрес в рамках проекта) на полный текст лицензии в каждый файл исходного кода. Таким образом, любой, кому небезразлична лицензия, знает, где ее найти (в идеале, люди, которые готовы платить огромные лицензионные сборы; вы, безусловно, хотите, чтобы эти люди могли связаться с вами!)
Нет, вам не нужно помещать лицензию в каждый файл исходного кода.
Если присмотреться, большинство приложений FOSS этого не делают. Они помещают заявление об авторских правах в верхней части каждого файла и короткое предложение, в котором говорится, под какой лицензией находится файл, и где вы можете найти полный текст лицензии. Обычно они указывают вам на файл КОПИРОВАНИЯ или ЛИЦЕНЗИИ, содержащий полный текст лицензии, и / или на веб-сайт, содержащий полный текст (в случае, если файла КОПИРОВАНИЯ больше нет).
Как сказал Майкл Боргвардт в своих ответах, по закону этого делать не нужно. Но желательно использовать исходный код, который вы собираетесь распространять, поскольку люди могут сразу увидеть, у кого есть авторские права и какая лицензия.
Это может зависеть от лицензии. В GPL различаетpreamble
иlicense
. В нем четко указано, что (раздражающая) преамбула должна быть частью кода :
Могу ли я опустить преамбулу GPL или инструкции по ее использованию в ваших собственных программах, чтобы сэкономить место?
Преамбула и инструкции являются неотъемлемой частью GNU GPL и не могут быть пропущены. Фактически, GPL защищена авторским правом, и ее лицензия разрешает только дословное копирование всей GPL. (Вы можете использовать юридические условия для создания другой лицензии, но это не будет GNU GPL.) (1)
Источник: 1) http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble
Смотрите также http://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html.
Бесплатная электронная книга из ifrOSS объясняет и комментирует GPL-на немецком языке. Там есть еще один для GPL 3
Для получения обоснованного ответа вам следует обратиться за юридической консультацией, которой нет на sx. Если вы не можете найти юриста для своего (открытого) проекта, обратите внимание на юридическую сеть ЕФСПО .
[...] attach the following notices to the program.
- следующие уведомления - это лишь небольшой раздел полной лицензии. safest to attach them to the start of each source file
- самый безопасный, но не обязательный. each file should have at least the "copyright" line and a pointer to where the full notice is found.
- единственное требование - это строчка копирайта с указателем на все остальное. Можно поместить полную лицензию в один отдельный файл.
Я думаю, что причина помещения его в каждый файл является законной. Если соглашение находится в каждом файле, нет никаких шансов, что кто-то наткнется на фрагмент кода, не получив лицензии.
Возможно, это не очень хорошо, но все большие парни используют его, поэтому, если это просто визуальная боль, я бы нашел лучшую причину, чтобы не делать то же самое.
Если вы используете GPL, это скорее проблема, но если вы используете лицензии общественного достояния, такие как BSD или MIT, я не думаю, что вам все равно, что люди делают с кодом. Полагаю, это зависит от того, насколько строга ваша лицензия.
IANAL,
Предполагая, что вы говорите о лицензировании, а не о лицензионном соглашении, вы можете разместить лицензию извне. Это почти всегда делается с действительно длинными лицензиями, такими как GPL. Было бы глупо помещать всю лицензию GPL в каждый файл. Обычно у вас будет просто уведомление о том, где вы можете найти действительную лицензию. Это совершенно законно. Однако с действительно короткими лицензиями, такими как BSD / Apache / MIT / что угодно, проще просто включить лицензию в каждый файл, так как уведомление о том, где найти лицензию, будет почти такой же длины, как и сама лицензия.
Это зависит от того, что диктует лицензия. GPL, например, предписывает вам помещать краткое уведомление в каждый исходный файл, включать всю лицензию где-нибудь в исходный дистрибутив и делать ваш исходный дистрибутив доступным для всех, кто получит копию двоичного дистрибутива.
Если вы не согласны с этим, и это ВАШ код, вы можете выбрать более подходящую лицензию или создать свою собственную.
Если ваш код будет скомпилирован, так что вы просто распространяете двоичный файл, это действительно не имеет значения. Потому что, когда вы создаете двоичный файл, комментарии удаляются до того, как начнется процесс компиляции. Имеет значение только то, будете ли вы распространять фактический исходный код с открытым или закрытым исходным кодом. Это обычно имеет значение, если вы будете распространять приложение на языке сценариев, который не компилируется.
Он вам не нужен для лицензии, достаточно одного внешнего файла, если ясно, какие файлы он охватывает.
Однако для защиты авторских прав вы должны иметь уведомление об авторских правах на каждом фрагменте текста.
Что я делаю, так это помещаю двухстрочный комментарий в верхней части файла, в котором указывается название моей компании, дата последней редакции и имя лицензии, имеющейся у исходного файла, а затем в самом низу файла короткую версию лицензия.
Конечно, полная лицензия (все они в случае нескольких лицензий) всегда прилагается к исходному файлу и каталогам выпуска.