Положить лицензию в каждый файл кода? [закрытый]


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

10 88

10 ответов:

один вне кода, пожалуйста! Я не знаю о других, но я ненавижу видеть то же самое поверх каждого файла.

Я думаю, что прочитал его несколько раз, просто page_down-ing через него.

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

юридически это тоже не имеет значения; авторское право не должно быть объявлено явно.

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

Я бы сказал, что лучший компромисс-поставить очень короткий заголовок, содержащий ссылку (абсолютный 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

A бесплатная электронная книга от ifrOSS объясняет и комментирует GPL 2 на немецком языке. Есть еще один для GPL 3

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

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

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

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

IANAL,

предполагая, что вы говорите о лицензировании, а не о лицензионном соглашении, вы можете поместить лицензию снаружи. Это почти всегда делается с очень длинными лицензиями, такими как GPL. Было бы глупо помещать всю лицензию GPL в каждый файл. Обычно у вас просто есть какое-то уведомление, в котором говорится, где вы можете найти фактическую лицензию. Это совершенно законно. Однако с действительно короткими лицензиями, такими как BSD / Apache / MIT / whatever, проще просто включить лицензию в каждый файл, поскольку уведомление о том, где найти лицензию, будет почти таким же длинным, как и сама лицензия.

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

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

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

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

на Copyright вы должны иметь уведомление об авторских правах на каждый кусок текста.

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

конечно, полная лицензия (все они в случае нескольких лицензий) всегда прилагается к каталогам исходного файла и выпуска.