你的代码什么时候是“衍生作品”?

时间:2009-12-11 18:54:50

标签: licensing gpl

我试图弄清楚在哪些案例中“衍生作品”的法律后果发挥作用。我的代码到底是derivative work吗?

  • 根据GPL发布的PHP框架。

这不是GPL无效,因为PHP拥有自己的许可证并且您使用PHP来构建该框架吗?

  • 商业Wordpress主题?

这不是“衍生作品”,因此无效,因为wordpress是GPL吗?

  • 插入现有GPL框架的商业类 - 但不包括该类内该框架的引用。

这是衍生作品吗?

你看,我原本以为所有基于(或构建)的代码都是衍生代码 - 但事实并非如此。例如,苹果在他们的操作系统中使用Linux部件 - 但他们的操作系统不是在GPL下发布的。

我们大多数人都为基于这些语言构建的语言或系统构建了库那么我们的代码什么时候成为别人代码的衍生

9 个答案:

答案 0 :(得分:7)

IANAL。需要记住的一件事是:有几个项目明确地围绕“衍生工作”概念划清界限,以限制其可能带来的后果。

例如,由于程序在操作系统上运行的方式,在Linux内核上运行的每个程序最终都会将内核代码包含在操作程序中。为了便于编写程序,通常在编译程序时使用头文件,以便它知道如何合并内核位。 Linus Torvalds表示,这种使用不会使程序成为内核的衍生工作。

在其他情况下,例如PHP(和C,在较小程度上),该语言不能声称是其库的衍生作品。当然,您可以调用strlen(),并在链接时或运行时将您的程序链接到您未编写的库。但程序本身不是语言或运行时的衍生作品。在许多情况下,使用的库仅暴露了标准的实现,因此该程序不是该库的衍生物。因此,调用strlen()的C程序可以链接到其中包含strlen()的任何C库。您的程序不会自动成为Glibc的衍生作品。甚至PHP也有多个实现(Resin webserver附带了Java中的PHP实现)。因此,即使PHP是GPL,您的程序也可能不需要。

框架实际上是一组扩展的库,并且适用于库的常规规则。例如,如果框架是标准的一个实现,那么可能将其与您的应用程序一起分发是违反GPL的,但仅仅使用它不会是因为您的应用程序是标准的衍生物,不是框架的这个特定实例。例如,使用EJB的应用程序可以在IBM WebSphere,RedHat的JBoss,Bea的Weblogic等上运行,而不必遵守JBoss的许可。也许在同一张CD上发布JBoss和你的应用程序会违反JBoss的许可证,但你的应用程序没有任何限制(除非它包含JBoss的部分内容)。

如果有问题的框架不是标准,没有其他人实现它,和/或您必须在自己的代码中包含框架的一部分,那么您的应用程序可能是衍生作品。考虑一个Linux内核模块:很难创建一个不违反GPL的模块,因为大多数模块必须包含内核代码才能完成工作。 nVidia通过创建一个没有内核代码的专有blob来回避这一点,但它不是一个功能齐全的模块,并添加了一些GPL粘合代码,使其成为一个模块。大多数内核开发人员认为将内核和驱动程序一起分发是一种GPL违规(因为你通过添加一个模块来创建内核的派生工作,但该模块不是GPL),但是单独分发模块并不会产生导数工作直到由最终用户合并,最终用户不再分发它,因此不受任何分发条款的约束。

请记住:并非所有项目都对他们使用的许可证有相同的解释。根据所述许可,您可能有权以某种方式使用代码,但您可能不希望被起诉,因此如有疑问,请咨询原始版权所有者的律师。

答案 1 :(得分:3)

编辑添加:我不是律师,我不在电视上播放,也不假装在互联网上。

来自版权法:

  

“衍生作品”是以作品为基础的   在一个或多个已有的作品上,   比如翻译,音乐剧   安排,戏剧化,   虚构化,电影   版本,录音,艺术   繁殖,抄袭,   冷凝,或任何其他形式   哪个作品可以重铸,   改造或改编。一个工作   由编辑修订,   注释,阐述或其他   作为一个整体的修改,   代表原创作品   作者身份,是一种“衍生作品”。

英文,来自维基百科:

  

与之相关的衍生作品   版权法,是一种表现力   创作包括专业,   受版权保护的元素   原始的,先前创建的   工作

你提到的那些都不是衍生作品,因为你完成的产品里面没有任何其他人的版权,也不是基于其他人的版权。 - 但是,使用的工具很好。

一个旁边的例子: 在之前的一生中,我曾经制作有声读物并在Ebay上出售。我被发送了一份停止销售CS Lewis书籍音频版本的停止令。即使我销售的是原创的,它也是基于受版权保护的文本,因此它是一种衍生作品。

答案 2 :(得分:3)

答案的关键取决于新作品的发行是否包含您所参考作品的代码。听起来GPL特别是你要问的问题,所以我们会坚持下去。

案例1: 如果您创建一个PHP框架并在包含该框架的源代码中包含根据PHP许可证授权的代码,那么您的代码将是衍生作品。对于PHP源代码,这意味着您必须包含PHP许可证信息并识别源代码的许可证,这些部分源代码是根据PHP许可证获得许可的。

如果您在PHP Framework源代码中编写了所有代码,那么您可以在任何您希望的许可下发布它。大多数PHP框架(来自我的简短搜索)似乎是BSD许可的,但没有什么能阻止您创建自己的GPL许可框架。

案例2: Wordpress主题是GPL(至少是PHP代码)http://wordpress.org/development/2009/07/themes-are-gpl-too/

案例3: 取决于你的要求。如果你问是否可以创建一个可以与现有框架一起使用的新类(并且没有引用框架中的任何内容,它意味着包含在内),但你不是创建一个新版本的框架,包括类,并分发这个修改过的编译,然后不,这不是一个衍生作品。

即使您确实包含它,在决定分发该版本之前,您仍然没有许可问题。此时,您将拥有衍生作品(因为它包含其他代码),并且现有代码的许可在确定是否允许您这样做时会变得很重要。

要知道为什么要问这个问题可能会有所帮助,因为涉及到很多假设。您可以联系EFF或SFLC,询问有关特定情况的具体问题。

答案 3 :(得分:1)

  

你看,我原本以为所有基于(或构建)的代码都是衍生代码 - 但事实并非如此。例如,苹果在他们的操作系统中使用Linux部件 - 但他们的操作系统不是在GPL下发布的。

如果您指的是gccbash shell,则这些不是Linux的一部分。这些是独立的程序,Apple使用它们 受GPL约束。例如,如果Apple对gcc进行修改,则必须根据GPL许可这些修改。

如果Apple要将部分Linux内核借用到他们自己的内核中,那么他们必须在GPL下发布他们自己的内核。

答案 4 :(得分:1)

IANAL,但其中很多都非常简单。从根本上说,衍生作品是基于其他东西的东西。它并不意味着由先前存在的作品创造的东西,或者与原作一起分开的东西。仔细阅读一些例子......

PHP许可证用于使用该语言,可能是解释器。用PHP编写的程序不是衍生作品,因为它们本身并不包含PHP,而是编写为与PHP一起使用并由它解释。 (即便如此,没有理由不能在软件上有多个许可证,因此它只能在条件的交集下使用。)

我不了解Wordpress主题,但它听起来像是用Wordpress创建并与Wordpress一起使用的东西。如果他们包含了预先存在的东西,比如模板,那么它们就是模板的衍生作品。

专有许可下的作品可以与GPL代码并行存在,但编译会从源代码(而不是编译器)创建衍生作品,并且链接会创建进一步的衍生作品。因此,如果您的可执行文件包含某些GPL代码,则它是该代码的衍生物(以及其他代码),并且GPL的条款必须在GPL下。

Apple实际上并没有在MacOSX中使用Linux。他们的操作系统基于BSD,它在功能上类似于Linux,但是不同的操作系统内核和不同的许可。他们像许多软件开发套件一样运送GPL软件,但任何人都可以做到。一系列独立程序不是实际工作,Apple(与其他任何人一样)可以根据GPL发布GPL软件。

如果您运送的产品中包含其他人已写入的内容,那么这是一项衍生作品。如果没有,通常不会。如果您使用其他人的程序来创建它,或者如果您需要使用其他人的程序来使用它,或者如果您将其他人的程序与您的东西一起发送,则无关紧要。

答案 5 :(得分:1)

对于不答复感到抱歉 - 我无法直接对答案发表评论。

OS X不基于Linux。它的内核名为Darwin,它基于NeXTSTEP / BSD并且是开源的:http://developer.apple.com/darwin/

有一个名为PureDarwin的项目,它基于它发布完整的发行版。

答案 6 :(得分:0)

PHP许可证不对您使用它构建的内容所做的事情施加任何限制。如果你想用PHP生成的GPL,PHP许可证中没有任何内容阻止你。

另请注意,即使有,您也可以在GPL下分发您的框架的源代码 - 特定软件的许可证不会扩展到可能会或可能不会用作输入的纯文本软件。

但是,IANAL。

答案 7 :(得分:0)

  

理论上,GPL需要任何东西   静态链接到任何代码   根据GPL将被释放回来   GPL社区。

http://63.249.85.132/open_source_license.htm

这是否意味着像Ruby& PHP不在此许可下吗?

答案 8 :(得分:0)

GPL是原始版权所有者拥有的软件分发许可证,只要您不自行分发GPL代码,就可以忽略它。

如果您将GPL代码与GPL不兼容的代码一起分发,则表示您违反了许可,因此,您无权复制,这意味着您违反了原始GPL代码的版权。您的代码仍然是您的版权,并且可以根据您选择的任何许可获得,除非它是衍生作品。

GPL断言任何与GPL代码链接的内容都是衍生作品,但至少可以说,如果该代码的接口是公开的,那就不用说了。

但是,如果他们的断言在法庭上受到支持,例如在日本版权法下,原作者将获得对您所有代码的版权,除了修改的道德权利意味着他们可以免费分发您的代码的免费副本即使您从未分发过GPL代码,您使用的任何许可证。

请注意,即使您的代码在链接时不是衍生产品,您仍然会在分发时违反GPL代码的版权。您可以将它分发给GPL程序的用户,以便他们进行链接。

甚至模糊是最初从其他代码派生但不再包含任何原始代码的代码所发生的事情。大多数人似乎认为删除代码就足够了,不是吗?没有人确切知道。