从开源软件中创建衍生软件

6
这个问题一直在我脑海中。
有人能基于现有的开源项目创建一个新产品吗?
比如说,你想创建一个名为“Apaxe webserver”的产品,它基本上是带有一些额外插件的Apache(比如支持ASP或类似功能)。
这是否可能?
你是否能创建一个闭源产品(免费或许可)?
对于GPL来说,似乎很明显不可能,因为源代码必须是开放的。但是Apache许可证、BSD和其他“企业友好型”许可证呢?
价格(大多数项目都是免费的)、漏洞修复以及与核心开发团队的合作是否是防止他人商业化这些OS产品的唯一障碍?
那么Khrome呢?它是一个基于Chrome并支持ActiveX的商业产品(谁敢这样做:P)。
编辑
感谢你们所有人的回答。
所以,再次问一下:
是什么阻止了类似(克隆)产品在市场上出现?
:)

注意:我知道我们不是律师,但我们可以在这里阅读每个开源软件许可证http://www.opensource.org/licenses


4
我投票将此问题作为离题关闭,因为它涉及许可或法律问题,而不是编程或软件开发。有关详细信息,请参见此处,有关更多信息,请参见帮助/主题。 - Kevin Brown-Silva
8个回答

6
没有什么能阻止克隆产品出现在市场上。以各种不同的Linux发行版为例,X.org项目是从XFree86中分叉出来的等等。
尽管如此,这种情况相对较少发生,原因有以下几点:
- 原始项目具有先发优势 - 原始版本通常是免费提供的
因此,除非你的版本比原始版本显著更好,否则你将无法得到太多的使用或赚取太多的钱。如果您的版本确实更好,那就继续吧!
从原开发者的角度来看,GPL的力量在于它强制这些克隆品与全世界分享任何改进,以便可以将其合并回原始版本中。

3
这是我对开源许可证的一个总体观点:
“真正的”开源许可证(例如:MIT、BSD、Apache等): 您可以在授权衍生作品方面做任何您想做的事情。它可以是封闭的、开放的,或者其他形式。许可证对您授权衍生作品的授权不加限制。
“受限制的”开源许可证(例如:GPL、LGPL): 衍生作品必须包括特定的许可证限制;例如,GPL要求衍生作品也必须使用GPL许可证。实质上,您的权利被限制了。
产品收费与此无关;这两种类型都不限制产品收费,尽管一些许可证对您保留和/或必须传达给软件接收者的权利施加限制(即“受限制的”许可证)。
希望这有所帮助。
编辑:将原始的“DRM”术语更改为“受限制的”,因为有些人会给DRM附上消极的含义,或者无法理解GPL如何以几乎相同的方式限制您对衍生作品的权利(即控制您可以做什么)。认真地说,您可以成为FSF的支持者,并且仍然能够理解GPL比“真正”的开源许可证更加严格的概念。问题不在于哪种类型是对还是错,而在于它们之间的区别是什么。

1
“DRM” 是一个非常负面的词语。 - thekidder
1
公平地说,GPL的初衷是防止第三方“封闭”开源应用程序,这是无法在不加任何限制的情况下实施的。因此,虽然对于那些想从他人的工作中获利的人来说可能会显得过于限制,但对于版权持有者来说则可能并非如此。 - codelogic
“DRM”这个术语所带来的“负面影响”非常主观。例如,我编写商业软件,拥有“DRM”(商业)许可证,我对此非常满意,因为它让我过上了舒适的生活。GPL支持者坚定地坚持他们所施加的权利限制。你的情况可能会有所不同。 - Nick
David:我通常将这两种类型称为“开放”和“受限”,但由于“开放”已经被发帖者与两者联系起来,所以我使用了下一个最好的描述性术语。正如我所说,商业许可证也是数字版权管理(DRM),而我编写商业软件,因此我并没有贬低这个术语。 - Nick
2
“限制您对派生作品的权利”仍然太消极了 :p GPL无疑更具限制性,但它只限制了可以分发派生作品的许可证,而不是软件是否可以被使用或研究 - 这几乎不能称为“权利”。 - ShreevatsaR
显示剩余8条评论

3
一般来说,我对这些许可证的理解如下:
  1. 您可以基于流行的许可证(即GPL、LGPL、Apache、MIT、BSD)制作任何项目的衍生作品。
  2. 您可以为您的衍生作品的分发和打包收取费用。
  3. 根据许可证的不同,您可能还需要以源代码形式分发您的修改和/或在您的分发中包含通知。
关于Apaxe的问题,据我所知,是可以的。我相信Oracle HTTPD服务器实际上是从Apache派生而来的,并且它肯定不是免费的!

2

红帽(以及大多数其他Linux供应商)收费的是支持服务,而不是他们的软件 - 这主要是公司可以通过GPL许可的代码赚钱的方式。


2

这要取决于开源项目所使用的许可证。

免责声明:我不是律师;你应该始终阅读完整的许可证条款。

如果一个项目采用GPL许可证,那么从它衍生出来的任何东西都必须在GPL(或兼容的许可证,如果有发布)下发布。你仍然可以收取费用,但任何购买者必须提供完整的源代码,你不能阻止他们也销售它或免费分享它。

如果一个项目采用BSD许可证,你几乎可以对其进行任何操作,包括将其合并到专有的闭源产品中。Windows里面就有BSD代码!

其他许可证则处于二者之间。


2

看看MyEclipse,它实际上只是Eclipse+免费插件+MyEclipse的插件,并且需要付一些费用。


2
“什么防止类似(克隆)产品出现在市场上?” “没有什么。真正的问题是:如何让一个类似的克隆产品比原始产品更受欢迎?”
“有些情况下,可能会有人克隆/分叉一个项目:”
拾起一个已死的开源项目并继续开发它。如果新产品得到定期维护并且获得比原始版本更多的更新,那么人们将开始使用新版本。这是开源的一个重要优势——好的软件不需要因为原始开发者停止开发而消失,其他人可以从他们离开的地方继续开发。其中一个例子(我用过)就是Turck MMCache在2003年停止了开发,所以eAccelerator在2004年分支了它并继续开发。我相信还有很多其他的例子。
在开源项目的开发者社区中存在分歧,导致该项目分裂成两个项目。这就是为什么在开源项目中应该努力达成共识,以避免社区无谓的分裂。如果一个项目被分裂,只有当它能够吸引足够的开发者和用户时,这些项目才可能继续存在,否则它们可能会慢慢消失。一般来说,应该避免分裂,因为这会使社区更加分散和弱小。我IRC,在Producing Open Source Software的视频演示中(很棒!)他们提到过一个案例,某个项目的原始开发者想要在开发中采取完全不同的方向,但是其他开发者社区希望保持原来的方向。结果是原始开发者被踢出了项目,于是他创建了该项目的一个分支,而社区的其他成员则继续开发原始项目。
商业封闭源衍生自以宽容许可证(例如BSD)发布的开源项目。衍生产品需要在功能或支持上比原始产品更好。否则人们会更喜欢使用原始的开放和免费产品。

1

这不是红帽公司所做的本质吗?尽管他们有 Fedora,但他们为他们的 Linux 发行版收费。当然,他们已经为此编写了很多代码,但它仍然基于开源技术。


1
他们收费了,但我以为它是开源的。他们为品牌、发行、支持等收费。 - Jason S

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接