我应该在项目中提供LICENSE.txt或COPYING.txt文件吗?

Joe*_*Joe 36 licensing open-source file-structure project-setup

有关系吗?我应该使用其中一个吗?或两者,甚至?许可证文件可以是任何名称吗?(有任何扩展吗?)

我确信有一个包含所有这些的"最佳实践"指南,但我找不到任何运气.

Bri*_*ell 37

COPYING是GNU项目的标准.我认为,任何一个COPYINGLICENSE将会明了.FSF有一个关于如何使用GPL的指南,这表明COPYING,而制作开源软件书建议使用COPYINGLICENSE.在Apache许可建议一个样板,只是指向许可证网上,虽然Apache项目似乎也包含LICENSE在含有相关许可证或许可证的代码文件.

是否要添加.txt后缀取决于您; 在Windows和Mac OS X上,它往往有助于默认文件关联,而在Linux或大多数其他Unix类型的操作系统上,后缀是可选的,并且通常假定文件是纯文本.

  • 合法的是,您突出并清楚地提供有关您的代码如何获得许可的信息.实际上,这意味着您应该在每个文件中提供版权和许可证信息(因此,如果该文件与其他源代码分开,则不会丢失此信息).对于短许可证,例如MIT许可证,只需将它们内嵌在源代码中即可.对于像GPL或Apache这样的较长许可证,请在每个文件中包含标准样板,并将许可证分发到项目中突出的位置.注意:我不是律师,这不是法律建议. (3认同)
  • @Joe正如我所说,您通常希望在每个文件中包含样板文件,以指定文件所在的许可证.例如,GPL样板引用GPL许可证,Apache样板引用Apache许可证,并且如果代码中没有许可证,则两者都告诉您可以获得许可证的位置.剥离它通常不是一个好主意,因为人们不喜欢看到它; 它将来会引起头痛.例如,如果您使用不同但兼容的许可证与另一个项目合并,则需要跟踪哪个文件位于哪个许可证下. (3认同)