修改第三方代码后,我是否应该将自己纳入作者范围?


17

在第三方代码(无论是简单的要领还是整个库)中进行一些调整或修正是一种常见的做法。但是,其中许多代码都有自己的许可规则,并最终在每个文件上带有版权信息的标头上也很常见。

进行了这些修改之后,下一步该怎么做?保持许可证信息不变,还是尝试使用诸如@author@revision标签之类的内容来更新它?

另一个常见的问题是更改第3方名称空间/程序包以使其适合您的项目约定。某些许可证类型在其许可证栏中包含此类信息,我可以自由更改吗?

我知道这些问题的答案取决于每种许可证类型,因此让我的问题更具体...

考虑到通用许可规则(通常它们在次要方面是不同的,对吗?),在道德上(或至少允许)我自由地向许可块添加有关修改的信息,也许还修改了我在代码中如何引用它(例如YACorp.YALib用作Utils.YALib)?


2
取决于许可证和项目的既定惯例。有些项目将所有作者的版权归功于许可文本。其他人将作者放在Github上,并在许可证中按名称引用该项目。有些许可证需要注明出处,有些则不需要。
罗伯特·哈维

@RobertHarvey您说得对,但是我正在尝试为这些情况定义一些一般性准则。我已经更新了问题。
kbtz

您的编辑听起来像是叉子。 如果您要分叉项目,则可以做任何您想做的事情(您拥有分叉)。但是除非您拥有该项目,否则我不会胡闹图书馆名称。
罗伯特·哈维


1
这个问题似乎离题,因为它涉及版权的主张和转让。版权问题是社区专业知识以外的法律问题,不适合该网站。这个问题很难正确回答,因为涉及的因素太多,例如当地司法管辖区以及原始程序的许可和版权所有权。

Answers:


9

进行了这些修改之后,下一步该怎么做?保持许可证信息不可更改或尝试使用@author或@revision标签之类的内容来更新它,包括您自己?

我认为您会混淆软件许可和可能是软件一部分的任何序言。

许可证是程序版权的所有者指定其他人的使用条款(许可证)的地方。有些许可证是非常宽松的,而另一些则更为严格。

在序言中,作者可以插入@author@revision标记,以提供一种跟踪源代码更改的方法。在某些情况下,成为该代码的重要补充的作者可能会使您要求保护该代码部分的版权。解开版权问题可能很棘手,最好由律师处理。但是,您明确表示您不关心该方面,因此我继续。

另一个常见的问题是更改第3方名称空间/程序包以使其适合您的项目约定。某些许可证类型在其许可证栏中包含此类信息,我可以自由更改吗?

这实际上取决于项目的约定。

如果您分叉项目,则可以做任何您想做的事情。

如果您打算将所做的更改贡献回项目,则应遵循已建立的约定。如果迫切需要更改名称空间,则需要将其提交给应用程序社区。

考虑一般许可规则(通常它们在次要方面是不同的,对吧?),

在道德上(或至少允许)我自由地向许可证块添加有关我的修改的信息,或者还修改我在代码中如何引用它(例如,使用YACorp.YALib作为Utils.YALib)?

不要更改许可证!

首先,您可能没有更改许可证的合法权利。其次,您所做的任何更改都可能会使许可证混乱。将许可证更改留给律师。

至于更新序言,这取决于项目规范。一些项目不需要序幕,因为它们使用源代码管理来跟踪。其他项目也可以。请遵守项目的约定。

实际上,我的关注点更多是在“尊重社区”方面,而不是法律方面,我问的更多的是,如果我们的项目可以视为私人或个人项目,我们可以“狂奔”多少道德?

如果您要保留自己的更改,为什么还要关心别人的想法?您只为自己使用而从未分发给他人的东西不会对原始项目造成影响。所以他们不在乎你做什么。

如果计划分发更改或将更改重新贡献给项目,则需要评估该项目的约定。一些项目不希望被分叉,并且会拥有相应的许可证来防止这种情况。其他人甚至说“做你想做的事”,你就会得到全权委托。最终,这里的答案取决于您要查看的特定项目。


正如我所期望的那样,答案几乎是显而易见的,但是看到每个人都发表自己的想法让我感到欣慰。感谢所有答案!
kbtz

是否确实存在接受捐款但不允许分叉的项目?还是说诸如商业图书馆之类的东西也附带了源代码?
svick 2014年

@svick-两种情况都适用。存在一些(试图)防止分叉的近开源项目。想一想他们在将来某个时候试图保留商业化能力的项目。现有的商业图书馆会按照许可条款阻止分叉。

@ GlenH7我认为这样的项目(例如MySQL)通常要求将正式版本的文稿的版权分配给管理组织。然后,在通用的开源许可证(例如GPL)下发布开源版本,但它们也可以具有商业的开源版本。但这并不能阻止开源版本的分支(请参阅MariaDB)。
2013年

5

我会添加一条评论,部分是向读者表明该文件不是“原始文件”,并带有指向任何相关文档或问题跟踪系统的链接。

编辑:所以这种情况让我想起了Linux发行版打包的时候,例如库。Debian有关于如何构建和命名软件包的准则和标准,这与通常以预构建方式分发库的方式有很大不同。

我认为您不应该对命名/构建/修改库感到害羞,因为我猜您不会将结果分发给更广阔的世界吗?在这种情况下,我将包括自述文件以及描述您进行了哪些更改以及原因的源代码。例如README。$ {companyName} .changes


我也会做类似的事情,但是我的问题更多地涉及从第三部分的角度和/或一般许可规则来看正确的事情。
kbtz,2014年

2

您必须查阅代码的许可规则。

通常,许多开源前端应用程序(例如Firefox,OpenOffice)都将其应用程序名称和徽标视为商标。因此,如果您要发布该应用程序的修改版,则将无法使用原始商标/商业外观(因此,IceWeasel,Torbrowser,LibreOffice)。

但是,只要很清楚谁在做什么(通常可以从版本控制元数据中找到),大多数编程库通常就不关心商标。

作者信息有两个目的:

  1. 在适当的时候给予信用
  2. 责备应有的责任

随着更改的增加,后者变得越来越重要。通常可以在版本控件中找到实际的作者信息,但是某些项目将一组作者正式归功于单独的文件中。每个项目的正式认可起点是不同的,如有疑问,请联系原始作者。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.