我是一个开源项目的作者,该项目是根据GPL2发布的。我开始独自工作2年。
在我的每个源代码文件中,我在其顶部附加了以下信息。
/*
* 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.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Copyright (C) 2009 Yan Cheng Cheok <yccheok@yahoo.com>
*/
现在,该项目受到了公众的关注。越来越多的程序员加入进来。我想知道:
(1)当程序员修改我的原始源代码文件时,是否需要在版权部分添加他的名字。但是,随着程序员数量的增加,这不会使标题几乎不可读吗? 例如:
(2)如果程序员添加新的源代码文件,源代码版权应属于谁?我?还是他?
(3)如果项目中有混合的版权源代码,比如说,
A.c,B.c,C.c源代码文件是受版权保护的Yan Cheng Cheok D.c,E.c,F.c源代码文件是受版权保护的John
会有问题吗?比如说,在将来,John决定使用不同的许可转换D.c,E.c,F.c,并且Yan Cheng Cheok不同意......谁会有最后的发言权呢?
为了避免这种类型的冲突,我是否应该强制执行所有提交的源代码?但是,我也不希望新开发者觉得他的工作没有被正确记入。
(4)版权信息真的有“年”吗?如果我把2009年,这意味着在2010年,我不再持有版权?
答案 0 :(得分:4)
我不是律师,但我一直在研究这个问题。
作为软件的作者,无论是补丁还是新功能,您都拥有源代码的完全版权。您可以决定如何许可或许可谁。
当有人为您的项目提供资源时,您至少应该从他们那里收到一封电子邮件,说明他们的代码获得许可的条款。例如,如果您有一个MIT项目,并且某人贡献了一个GPL补丁,那么您就是一个非常大的泡菜。要接受它,您必须根据GPL重新许可您的项目。
所以,首先要做的事情是:
很多开源项目都希望能够改变开源许可证,例如你想在GPLv3下重新许可。你必须联系每个贡献者来做到这一点,其中一些可能无法访问,而且你会再次陷入困境。
为了打击许多大型开源项目都有JCA(联合版权转让),技术上的说法是:“你所有的贡献都属于我们”(参见例如太阳贡献者协议:http://www.openoffice.org/licenses/sca.pdf)
当JCA到位时,您的来源可以拥有简单的版权:“Copyright(C)2009 Yan Cheng Cheok yccheok@yahoo.com”,因为您是版权所有者。
如果没有JCA,我觉得东西有点乱,你需要修改文件并在正确的文件上放置正确的贡献者名称。或者更好的是,只维护一个License.txt,并在一个地方拥有所有的确认。
所以为了避免所有这些麻烦,最简单的事情就是:
版权文件上的年份并不意味着它在下一年到期。
答案 1 :(得分:1)
您可以考虑删除此条款:
, or (at your option) any later version.
因为它会根据将来对许可证的任何更改来更改您的权利。
我不是律师,但是一旦某人根据特定版权向您提供其源代码的副本,他们将很难更改您的许可证。
如果他们实施了一个全新的文件,我会让他们将自己的版权归档。
您可以每年更新版权文件中的年份。
Nolo出版社出版了有关版权问题的优秀书籍。如果您担心,请找律师。
答案 2 :(得分:0)
(IANAL)
其他贡献者所做的更改是作者的版权。当贡献者为您提供这些更改时,您可以在GPL下重新分发它们。您不能做的是在GPL不兼容的条款下重新授权贡献者的更改。
就贡献者决定更改许可证而言,这应该不是问题。一旦你有贡献,例如GPL,贡献者可以停止提供他们代码的新副本,但他们不能收回您已有的副本。
答案 3 :(得分:0)
IANAL
每个贡献者都拥有他们所写部分的版权,但这不应该是一个大问题。
John已经在GPL下发布了代码之后无法收回他的代码,但是他可以在另一个许可下重新发布代码,或者创建一个非GPL分支,假设该分支中的每一行代码都是他的,或者他得到其他贡献者的许可。
如果某人窃取了该项目,违反了GPL,您仍然可以追踪他们所写的部分内容,而其他开发者也可以为他们做同样的事情。
一些大型开源项目需要贡献者进行版权分配,以确保他们整体保护项目的能力,以及他们将来重新许可项目的能力,而无需返回并获得过去每个贡献者的许可。
http://www.gnu.org/licenses/why-assign.html
http://wiki.services.openoffice.org/wiki/SCA