从开源创建软件衍生产品

时间:2009-01-29 23:35:51

标签: open-source licensing derived

这个问题一直都在我的脑海里。

有人可以根据现有的开源项目创建新产品吗?

假设您想要创建一个“Apaxe webserver”,它基本上是Apache,带有一些额外的插件(比如支持ASP或类似的东西)

这可能吗?

您是否可以创建封闭源产品(免费或许可)

至于GPL似乎很清楚它是不可能的,因为源应该是开放的。但是Apache许可证,BSD和其他“公司友好”

呢?

价格(对于大多数项目是免费的),错误修复以及与核心开发团队一起计算是阻止其他人将这些OS产品商业化的唯一因素吗?

怎么样:Khrome是一个基于Chrome的商业产品,支持ActiveX(谁敢做这样的事情:P)

修改

谢谢大家的答案。

所以,再次

什么阻止类似(克隆)产品出现在市场上?

:)

注意:我知道我们不是律师,我们可以在此处阅读每个OSS许可http://www.opensource.org/licenses

8 个答案:

答案 0 :(得分:6)

没有什么能阻止克隆产品出现在市场上。例如,查看所有各种Linux发行版。 X.org项目是从XFree86派生的。等等。

但是,由于以下几个原因,这种情况相对较少发生:

  • 原始项目具有首次上市优势
  • 原件通常免费赠送

因此,除非您的版本明显优于原版,否则您不会得到太多的吸收或从中赚取太多钱。如果您的版本 明显更好,请继续!

从最初的开发人员的角度来看,GPL的强大之处在于它迫使这些克隆与世界其他地方分享任何改进,因此可以将它们合并到原始版本中。

答案 1 :(得分:3)

这是我对开源许可证的10,000英尺视图:

“真正的”开源许可证(例如:MIT,BSD,Apache我认为等): 您可以使用许可衍生作品做任何您想做的事情。它可以是封闭的,开放的等等。许可证对衍生作品的许可没有任何限制。

“受限制的”开源许可证(例如:GPL,LGPL): 衍生作品必须包含特定的许可限制;例如,GPL要求派生作品为GPL。基本上,您的权利仅限于衍生作品。

产品充电与其中任何一种产品分开;尽管某些许可证限制了您可以保留和/或必须传达给您的软件接收者的权利(即:“受限制”许可证),但两种类型都不限制对产品收费。

希望这有帮助。

编辑:由GPL类型许可的原始“DRM”条款更改为“受限制”,导致某些人对DRM附加负面含义,和/或无法掌握GPL如何以几乎相同的方式限制您对衍生作品的权利任何其他类型的DRM(即:控制你可以用它做什么)。说真的,你可以成为FSF的支持者,并且仍然认为GPL比“真正的”开源许可更具限制性。问题不在于哪种类型是对还是错,而在于它的区别在于什么。

答案 2 :(得分:3)

通常,我对许可证的阅读是:

  1. 您可以根据一个流行的许可证(即GPL,LGPL,Apache,MIT,BSD)制作任何项目的衍生作品。
  2. 您可以至少收取分配费用。包装您的衍生作品。
  3. 根据许可证的不同,您可能还需要在源代码表格中分发您的修改和/或在您的发行版中包含通知。
  4. 关于Apaxe的问题:是的,就我所知,你可以做到这一点。我相信Oracle HTTPD服务器实际上是派生自Apache的,它绝对不是免费的!

答案 3 :(得分:2)

Red Hat(以及大多数其他Linux供应商)收取的是支持,而不是他们的软件 - 这主要是公司如何从GPL许可的代码中赚钱。

答案 4 :(得分:2)

这实际上取决于开源项目使用的许可证。

免责声明:我不是律师;您应该始终阅读许可证以获取完整的详细信息。

如果项目属于GPL,那么您从中获得的任何内容也必须根据GPL(或兼容许可证,如果它完全发布)发布。您仍然可以为此收取费用,但是购买它的任何人都必须获得完整的来源,并且您无法阻止他们出售或免费赠送。

如果某个项目属于BSD许可证,您可以使用它做很多事情,包括将其合并到专有的闭源产品中。 Windows中有BSD代码!

其他许可证介于两者之间。

答案 5 :(得分:2)

看看MyEclipse,它真的只是eclipse +免费插件+ myeclipse的插件,而且花了一些钱。

答案 6 :(得分:2)

  

什么阻止类似(克隆)产品出现在市场上?

无。 真正的问题是:类似的克隆产品如何比原始产品更受欢迎?

某些人可能克隆/分叉项目的情况:

  • 挑选一个死的开源项目并继续开发。如果定期维护新的派生产品并且它获得的更新比原始版本更多,那么人们将开始使用新版本。这是开源的一大好处 - 好的软件不需要死,只是因为原始开发人员停止开发它,但其他人可以从他们离开的地方继续。这个项目(我曾经使用过)的一个例子是Turck MMCache的发展在2003年已经消失,因此eAccelerator分叉并在2004年继续发展。我确信有很多其他的例子。

  • 开源社区对开源项目存在分歧,该项目分为两部分。这就是为什么最好在开源项目中争取共识,这样社区就不会被不必要地拆分。如果项目被拆分,项目可能会继续生活,如果他们设法吸引足够的开发人员和用户,但否则他们可能会慢慢死亡。一般来说,应该避免分裂,因为它会使社区更加分散和变弱。 IIRC,在Producing Open Source Software(好东西!)的视频演示中,他们提到了一个案例,一些项目的原始开发人员希望在开发中采取全新的方向,但其他开发人员的社区希望保持旧的方向。结果是原始开发人员被踢出项目,因此他创建了项目的分支,而社区的其他人继续开发原始项目。

  • 开源项目的商业闭源衍生产品,是在许可许可下发布的(例如BSD)。衍生产品在功能或支持方面需要比原始产品好得多。否则,人们会更喜欢使用原始的开放和免费产品。

答案 7 :(得分:1)

这不是红帽子的本质吗?尽管他们有fedora,但他们正在为他们的linux发行收费。当然,他们为此编写了大量代码,它仍然基于开源代码。