Я искал различные лицензии, которые я мог бы использовать для моего проекта с открытым исходным кодом, но все проекты, которые я видел, со всеми видами лицензий, похоже, имеют гигантский, противный (по моему мнению) обратите внимание, что в каждом исходном файле указано, что этот файл указан под определенной лицензией. Я не думаю, что нашел проект с одним исходным кодом, который не является общественным достоянием и не имеет такого уведомления.
Это просто кажется пустой тратой времени и файлового пространства. Я планирую поставить @license
и @author
тег в своих проектах, но я не понимаю , почему я должен перечислить такое гигантское уведомление в каждом отдельном файл , если я не хочу , чтобы мой код публичного домена.
Есть ли причина , почему я хотел бы включить такое уведомление в моих проектах, или просто в то числе уведомления в README
и @license
тег должен быть достаточно хорошо? Влияет ли это на «четко сформулированное» правило большинства лицензий, или это просто излишество, чтобы люди не спорили?
Ответы:
В моем понимании, GPLv3 настоятельно рекомендует (или даже, возможно, требует, по крайней мере, того, как я понимаю текст « Как применять эти условия к вашим новым программам» , после раздела 17), уведомление об авторских правах в каждом исходном файле. Это говорит
И проекты GNU, принадлежащие FSF, такие как GCC, имеют такое уведомление в каждом файле.
Я также знаю о программе (система CAIA J.Pitrat), в которой было отказано на веб-сайте сообщества свободного программного обеспечения, поскольку в каждом файле такого уведомления не было.
Я не юрист , но я считаю, что такое уведомление практически обязательно в каждом исходном файле программы GPLv3 .
(если вы используете другую лицензию, в частности не-FSF, внимательно прочитайте о том, как ее применить; YMMV; однако AFAIK, написав уведомление в каждом файле, не повредит.)
источник
Я видел много проектов, в которых упоминается только лицензия в файле README или в файле LICENSE или COPYING.
Ваше программное обеспечение автоматически защищено авторским правом в соответствии с международным законодательством. (Если вы не работаете в правительстве США или какой-либо другой организации, авторские права на которую не распространяются.)
Если кто-то использует ваше программное обеспечение, он должен соблюдать лицензионное соглашение или соблюдать ограничения в отношении добросовестного использования в отношении своих действий.
Предположим, что этот человек хочет использовать один из файлов в вашем дистрибутиве кода, который, конечно, требует копирования, и, следовательно, применяется закон об авторском праве. По умолчанию они НЕ имеют права использовать ваше программное обеспечение в соответствии с законом об авторских правах. Только когда они знают и соблюдают лицензионные ограничения, им разрешается его использовать.
Поэтому, если они используют файл без лицензии на программное обеспечение, они нарушают закон об авторских правах. Поскольку во всех лицензиях указано что-то вроде «Вышеуказанное уведомление об авторских правах и это уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения», они обязаны где-то разместить эту лицензию.
Это может быть в самом файле, или когда я использовал код в качестве библиотеки, я поместил соответствующие части в его собственный каталог и добавил «README» или «LICENSE» в этот подкаталог.
Короче говоря, вам не нужно помещать лицензию в каждый файл. Я думаю, что это излишне. При этом нет никакой дополнительной правовой защиты. Это немного помогает нижестоящему пользователю, но не сильно.
Я думаю, что традиция большого количества основанных на комментариях метаданных (лицензия, дата создания каждой функции, журнал изменений и т. Д.) - это очень старые традиции, которые существуют потому, что их легко сделать, и которые являются скорее талисманом, чем полезными.
Например, шаблон Eclipse по умолчанию добавляет то, что я считаю бесполезными метаданными, перед каждой функцией, которая, я думаю, намного лучше фиксируется контролем версий. Но такая практика распространена во многих магазинах.
источник
Проблема заключается в том, что очень легко отделить один файл исходного кода от более крупного проекта, например, кто-то просто извлекает, отправляет электронное письмо, загружает один файл, а остальное не содержит полного авторского права. И затем этот файл может передаваться до бесконечности во времени N-м сторонам, которые могут не иметь представления о происхождении файлов.
Уведомление об авторском праве в верхней части напоминает всем, кто просматривает этот одиночный файл, что оно на самом деле защищено авторским правом, а не общественным достоянием, и, следовательно, некоторые лицензии могут или не могут быть вовлечены в его распространение или использование. Вместо того, чтобы позволить искателю делать свои собственные случайные предположения.
источник
В подземном бункере нет секретной встречи сверхдержав, в которой говорится, что вы должны поместить в каждый исходный файл.
Это действительно дает понять пользователю, что этот файл находится под любой лицензией, и на самом деле большинство программ GPL содержит краткую преамбулу с надписью read license.txt. Помните, что проекты разделяются, а файлы используются повторно, поэтому размещение сообщения в одном файле может быть плохой идеей.
Если в маловероятном случае, когда он когда-либо попадет в суд, у вас может быть больше претензий, если вы четко пометили каждый файл как свою работу и под какой лицензией он был - тогда никто не мог утверждать, что он думал, что этот файл не был покрыт.
источник
Я почти опубликовал удивительно похожий вопрос. Меньше о раздражениях и больше о технических деталях. TL; DR: я считаю, что ответ является вопросом приоритетов автора. Может быть, намерение будет более точным, чем приоритеты ...
Я полагаю, что в вашем источнике можно ссылаться на лицензию, в зависимости от вашего определения «все в порядке». Давайте согласимся, что термин «несопровождаемый» указывает на исходный файл, являющийся частью проекта, который был безжалостно отделен от его любящей базы кода. Указанный файл содержит следующую строку:
Или намного более прохладная линия, как это:
"Но ждать!" Вы восклицаете: «Вы только что сказали, что файл был отделен от его проекта! И goodlics.com перенаправляет на доменный скваттер! Вы правы, я это сказал, но это может быть хорошо, и перестаньте на меня кричать. Вот мои аргументы не юриста:
nyancat-bcminer-algo.qbasic
файл, который вы написали и опубликовали в Живом Журнале, верите вы или нет, не является общественным достоянием. Нет, если вы не скажете, что это общественное достояние. По умолчанию это только вы и только вы. Это ... драгоценно . (По крайней мере, на 25-50 лет, если вы не Дисней.)Это рассуждение делает два эпических и, вероятно, неверных предположения:
Спасибо за то, что ездите на дыхательных путях обезьяны.
Отказ от ответственности: это кажется мне логичным, так как я на 90% уверен, что я на 100% неправ.
источник
Существует разница между лицензией и преамбулой .
В некоторых своих проектах я использую стандартную общественную лицензию GNU версии 3.0 . GNU GPL делает необходимым иметь преамбулу для каждого файла исходного кода:
Источник: http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble
Итак, вот что я делаю:
1. Добавить License.txt
Чтобы следовать правилам, я поместил файл LICENSE.txt в корень репозитория моего проекта. Это также предлагается GitHub (см. « Где живет лицензия» ).
2. Добавьте преамбулу, используя функцию автоматического сгиба
Затем я включаю преамбулу GPL поверх каждого файла исходного кода, НО, чтобы это не мешало мне скрывать ее в IDE. Большинство IDE имеют функцию автоматического свертывания блоков кода. NetBeans поддерживает функцию Custom Code Folding, а WebStorm также поддерживает сворачивание комментариев .
Вот как это выглядит:
Я думаю, что это очень хороший компромисс между удобством и юридической безопасностью.
Если у вас есть много проектов, в которых вам нужно добавить лицензию, то http://www.addalicense.com/ может помочь.
Обратите внимание: мой совет относится к GPLv3. Другие типы лицензий могут не требовать преамбулы.
источник
LICENSE
файла, то есть вы не можете изменить текст GPL, удалив его.Есть еще один практический способ, еще не упомянутый здесь.
SPDX-License-Identifier
тег. https://spdx.org/using-spdxИспользуя его, ваш «юридический шаблон» в заголовке каждого исходного файла сводится к двум строкам:
Кроме того, люди, которые автоматизируют анализ цепочки поставок программного обеспечения, будут благодарны за то, что вы придерживаетесь общего стандарта машиночитаемого описания лицензии.
источник