如何在提供新文件而不是修改文件时编写GPL版权声明?在项目中,所有文件都以:
/**
* Some open source application
* Component Foo
* (C) 20?? by Scruffy H. Hacker (scruffy@foo.bar)
* Released under the GPL
*
* Awesome description here.
*/
Run Code Online (Sandbox Code Playgroud)
我应该只在版权声明中加入我的名字,如下:
/**
* Some open source application
* Component Bar
* (C) 20?? by Tobier Hackerson <tobier@foo.bar)
* Released under the GPL
*
* Awesome description here.
*/
Run Code Online (Sandbox Code Playgroud)
或者我应该包括项目的原始创建者:
/**
* Some open source application
* Component Bar
* (C) 20?? by Scruffy H. Hacker (scruffy@foo.bar)
* (C) 20?? by Tobier Hackerson (tobier@foo.bar)
* Released under the GPL
*
* Awesome description here.
*/
Run Code Online (Sandbox Code Playgroud)
hak*_*kre 21
GPL不是每个文件的copyleft许可证,而是整个包.
所以新文件也应该在GPL下许可.由于原始许可证标头未指定GPL版本,您可以选择任何您喜欢的GPL版本.如果您想了解更多关于为什么有多个版本的GPL以及它如何与升级许可证版本一起使用,请参阅:
因此,在澄清许可证版本后,您会询问有关版权声明以及放置您的姓名的位置.我不是你的律师,而是作为一名软件开发人员在这里发言,从它可以拥有的所有角度来完全回答这个问题并不容易,所以我试着概述我对我认为发挥作用的部分的理解.
根据版权,您将多位作者的多件作品汇集在一起.你正在创造一个综合的工作.对于版权意义上的每件作品,您都有作者和版权所有者.
对于合并后的作品,您也可以将此版权合并.
因此,对于单个文件,如果您自己编写它,假设它是2012,因为您是作者,您可以编写自己的版权标题:
/**
* My Extension to some open source application
*
* Copyright 2012 by Tobias Eriksson <author@tobier.se>
*/
Run Code Online (Sandbox Code Playgroud)
如果该文件位于您的硬盘驱动器上,那将完全没问题.然后,您想要分发它,因此明智的做法是明确许可证.假设您选择了GPL-3.0 +.遵循指导方针
和一些评论/ docblock标记指南:
您可能希望使用牌照扩展它,如下例所示:
/**
* My Extension to some open source application
*
* Copyright 2012 by Tobias Eriksson <author@tobier.se>
*
* This file is part of some open source application.
*
* Some open source application is free software: you can redistribute
* it and/or modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation, either
* version 3 of the License, or (at your option) any later version.
*
* Some open source application is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Foobar. If not, see <http://www.gnu.org/licenses/>.
*
* @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
*/
Run Code Online (Sandbox Code Playgroud)
此牌照可确保收到该文件的人员可以查看此文件所属的许可证,以及他们对该代码拥有的权利.他们也可以在您的版权声明中看到原作者.在我看来,最重要的部分是明确:a)谁是作者/版权所有者,b)什么是许可证.这样的信息不会丢失,是可见的.如果您想遵循由您决定的建议.为了不削减你自己作者的权利,我强烈建议至少为你的名字留下信用,即使是法律也不要求(但如果你不这样做,你会有问题记录你的作者身份而其他人也会在那里的名字).
所以现在你可以建议将这个文件添加到上游.这是您第一次与该软件的原始作者联系到目前为止.他们可能有自己的做事方式,可能想要更喜欢自己的标题等.所以你离开法律领域一点,进入社交领域,协作,共同努力.
您可以事先询问如何在项目中管理它,通常有多种方法可以做,两种常见的方法是:
当项目开始时,每文件方法很方便.当项目变得更大时,核心方法很方便.
上面概述了每个文件的方法,它需要跟踪每个文件的许可和copyirght/authors信息的变化.
在一个中心方法中,一个被接受的程序是有一个所谓的AUTHORS(可能还有一个贡献者)文件,列出软件的作者,并有一个包含许可证的COPYING文件(如果它是整个软件包的一个,否则主要加上附加许可证).
也可能发生这两个概念混合,例如整个包在GPL下,但在代码库内部还有MIT或BSD类型的许可下的代码.然后,您应该保留这些部件的许可证信息,以便将这些部件的更改返回给上游.此外,应该让参与这些部分的作者知道他们需要在MIT/BSD下许可他们的更改,以保留该部分的许可.如果您想了解更多有关该文档以及如何以及在何处记录许可的一些详细信息,请阅读以下内容:
然后,中央方法允许在每个文件的顶部减少版权标题和牌照:
/**
* Some open source application
*
* Copyright 2010, 2012 by it's authors.
* Some rights reserved. See COPYING, AUTHORS.
*/
Run Code Online (Sandbox Code Playgroud)
如果您正在寻找压缩信息,并且作者可以在每个文件中看不到他们的名字.超级明星你不能这样做,是的.所以可能会有一个社会排名,谁的名字是第一位的.但是不要让自己被愚弄:如果你是作者,你有权看到你的名字.如果有人否认你是对的,你就是被骗了.这也说明了(免费)软件项目中的尊重,你可以想象.
从技术上讲这是完全正常的添加您的版权线之上,因为它是你谁做的最新变化.许可证仅表明您需要保留原始版权,而不是您需要将其置于最佳状态:
/**
* Some open source application
*
* Copyright 2012 by Tobias Eriksson <author@tobier.se>
* Copyright 2010, 2011 by Scruffy H. Hacker <scruffy@foo.bar>
*
* Licensed under GNU General Public License 3.0 or later.
* Some rights reserved. See COPYING, AUTHORS.
*
* @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
*/
Run Code Online (Sandbox Code Playgroud)
可能是这种许可/版权标题docblock的更常见/真实的例子.并且记住要像对待自己一样尊重其他作者.这通常在合作项目中最有效,而法律方面除外.当事情不再内联时,你只需要合法的时间.
另见:
如果原始作者贡献了该文件中的任何代码(例如,您复制了他的一个文件并对其进行了修改),则两个文件均应记入。如果您编写了所有代码,则只需输入名称。
您应该符合项目模板,但通常会包含以下内容:
* Released under the GNU General Public License
Run Code Online (Sandbox Code Playgroud)
“ GPL”实际上并没有应有的精确。您可能还需要指定版本。有关详细信息,请参阅许可证(版本2或版本3)本身。从目前的角度来看,它理论上可以在GPL版本1下发布,尽管这不可能是任何人的初衷(但是律师对此假设不会发现任何问题)。
GNU GPL版本2建议(最后,在“如何将这些条款应用于新程序”下):
one line to give the program's name and an idea of what it does.
Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
Run Code Online (Sandbox Code Playgroud)
(还有另外两个段落)。