我发现不必要地将其复制到每个代码文件中,但是在大多数开源项目中都可以看到它。我应该这样做还是只在代码之外包含一个许可证?
我发现不必要地将其复制到每个代码文件中,但是在大多数开源项目中都可以看到它。我应该这样做还是只在代码之外包含一个许可证?
Answers:
请在代码外添加一个!我对其他人一无所知,但是我讨厌在每个文件的顶部都看到相同的东西。
我想我已经读过几次了,只是通过page_down-through它。
evidence for the legal situation
。Perhaps a lawyer can add a link to a court decision
。
EULA是错误的术语,因为查看源代码的人员通常不是最终用户。
从法律上讲,这也没有区别。版权不需要明确声明。
基本上,您获得的所有结果都是人们意外违反许可条款的风险较低。您必须决定这对您来说有多重要。
我想说的最好的折衷方法是在每个源代码文件中放置一个非常短的标头,其中包含指向完整许可证文本的链接(绝对URL以及项目中的相对URL)。这样,任何关心许可证的人都知道在哪里可以找到它(理想情况下,愿意支付巨额许可证费用的人;您当然希望那些人能够与您联系!)
不,您不必将许可证放在每个源代码文件中。
如果您仔细观察,大多数FOSS应用程序也不会这样做。他们在每个文件的顶部放置了版权声明,并在简短的句子中告诉您该文件所处的许可证以及在何处可以找到许可证的全文。他们通常会将您指向包含许可证全文的COPYING或LICENSE文件,和/或指向包含全文的网站(以防COPYING文件不再存在)。
就像迈克尔·伯格沃德(Michael Borgwardt)在回答中所说的那样,从法律上讲,您不必这样做。但是建议您打算分发源代码,因为人们可以立即看到谁拥有版权以及许可证是什么。
它可能取决于许可证。在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 2。GPL 3还有另外一个
要找到一个有根据的答案,您应该寻求sx上没有的法律建议。如果找不到您(开放源代码)项目的律师,请查看FSFE法律网络。
[...] 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之类的公共领域许可证,那么我认为您实际上并不关心人们对代码的处理方式。我想这取决于您的许可证有多严格。
如果您的代码将要编译,那么您只是分发二进制文件,那么实际上就没有关系。因为当您创建二进制文件时,注释会在编译过程之前被删除。仅当您要分发开放源代码或封闭源代码的实际源代码时,这才有意义。如果您将使用无法编译的脚本语言来分发应用程序,那么这通常很重要。
您不需要许可证就可以使用它,只要清除了它涵盖的文件,就可以使用一个外部文件。
但是对于版权,您应该在每段文本上都有版权声明。
我要做的是在文件顶部加两行注释,注明我公司的名称,最新修订日期和源文件具有的许可证名称,然后在文件的最底部放一个简短的版本。执照。
当然,完整的许可证(如果有多个许可证,则全部包含在内)始终包含在源文件和发行目录中。