我需要使用哪些文件来添加标题注释以将GPL添加到C#项目中?
表单生成的代码是否需要它?
只需要在每个* .cs文件中吗?
是否有资源或深入列出了将GPL添加到任何类型项目所需的特定于语言的步骤?
答案 0 :(得分:29)
规范的答案在GPL Howto:
无论您打算使用哪种许可证,都可以使用 过程涉及添加两个元素 到你的程序的每个源文件:a 版权声明(如“版权所有 1999年特里琼斯“)和一份声明 复制许可,说的 程序根据条款分发 GNU通用公共许可证(或 较小的GPL)。
应用GPL的推荐标题是:
版权200X我的名字
此文件是Foobar的一部分。
Foobar是免费软件:您可以重新分发和/或修改 它是根据GNU通用公共许可证的条款发布的 自由软件基金会,许可证的第3版,或 (根据您的选择)任何更高版本。
Foobar的发布是希望它有用, 但没有任何保证;甚至没有暗示的保证 适销性或适用于特定用途的适用性。见 GNU通用公共许可证了解更多详情。
您应该已收到GNU通用公共许可证的副本 和Foobar一起。如果没有,请参阅http://www.gnu.org/licenses/。
是的,它应该被添加到每个文件,因为你不能合法地依赖于每个收件人作为一个整体收到你的工作的假设。而且,不,它不一定是完整的许可证文本。
答案 1 :(得分:11)
您不需要为每个文件添加GPL通知。您可以在根文件夹中的许可证文件中指定整个项目的许可证,就是这样。
修改:建议的做法 以在每个文件中添加通知。但不这样做不会使许可证失效或改变其含义。
答案 2 :(得分:6)
提示: Visual Studio的Resharper具有指定文件头的很好功能(选项 - 语言 - 公共文件头文本)。
如果您指定它,然后对整个解决方案执行“代码清理”,则每个* .cs文件都将获得更新的标头。
这就是我如何向我的开源项目添加许可证标题,
答案 3 :(得分:4)
GPL是许可证 - 没有“要求”在每个源文件中包含许可证的实际文本。
只需提供一个名为license.txt的文件,其中包含项目中的许可证应该是我想象的足够多。
如果我错了,请告诉我你从哪里得到这个要求?
答案 4 :(得分:2)
Monodevelop建议在每个文件中添加以下内容:
$ {文件名}
版权所有(C)$ {年} [姓名] 作者]
该程序是免费软件;您 可以重新分发和/或修改它 根据GNU General的条款 公共许可证由公布 自由软件基金会;或 许可证的第2版,或(在您的 选项)任何更新的版本。
这个程序分发在 希望它会有用,但是 没有任何担保;甚至没有 适销性的默示保证 或适用于特定目的。 请参阅GNU通用公共许可证 更多细节。你应该有 收到了GNU General的副本 公共许可证以及此 程序;如果没有,请写信给Free Software Foundation,Inc.,59 Temple Place,Suite 330,Boston,MA 02111-1307美国
答案 5 :(得分:1)
请注意,FSF邮政地址不是59 Temple Place,而是下面的地址。
Free Software Foundation,Inc。
51 Franklin Street,Fifth Floor,Boston,MA 02110-1301,USA
不搞砸许可证文本的唯一方法是从GNU网站上获取它。请注意,该站点具有纯文本格式的许可证,与html相比,它通常是首选格式。