如果我有一个使用开源软件的工具,那意味着整个工具是开源的吗?

时间:2010-02-01 16:42:42

标签: open-source

我有一个我想销售的软件项目,它使用的是开源软件(不是开源软件的直接衍生产品,而是用于某些功能)。这是否要求整个项目现在是开源的?

编辑:我使用的开源软件的许可证是LGPL

edit2:我发布的软件将为用户提供对源代码的完全访问权限,我只想确保再分发的权利仅由我的公司持有。

5 个答案:

答案 0 :(得分:4)

这取决于该工具使用的OpenSource许可证。有些人比其他人更宽容。例如,GPL是相当严格的,我相信要求任何衍生或使用GPL源的工作本身都是GPL。另一方面,LGPL更宽松,但仍然有一些限制:

虽然我不是专家,但following link provides information关于每个最受欢迎的许可证允许您使用该许可证下使用或源自开源的代码。

对于LGPL(根据上述链接),非衍生作品的软件不需要发布其代码。发布您所依赖的工作是:

  

允许有一些限制:你   必须提供的源代码   分发LGPL库(如果有的话)   修改,改变LGPL   图书馆应该被允许排在第三位   派对,如果BC你的app / lib应该   仍然使用修改后的LGPL   LIB /应用

答案 1 :(得分:2)

通常不会。这个问题可能有所帮助 When is your code a "Derivative work"?

答案 2 :(得分:1)

我看到3个主要案例(可能还有更多灰色区域):

  1. 您按原样使用LGPLed软件(未修改的源代码):您不必在LGPL下分发您的应用程序的源代码。您可以按照自己的条款分发软件。 (例如:您的产品使用第三方LGPL库)。
  2. 您修改了LGPLed软件(但您的产品不是基于它):只要您根据LGPL许可证对LGPL软件进行修改,您就可以按照自己的条件分发软件。
  3. 衍生作品(即:您的软件建立在开源LGPL软件之上):您必须使用与原始LGPLed软件相同的许可证发布您的作品。例如:我修改了Qt 4.6源代码(即LGPL)以支持Android。在这种情况下,我不能将最终产品作为专有产品或其他许可证发布。它必须以LGPL的形式发布。

答案 3 :(得分:0)

如果您使用的是LGPL,那么答案通常是否定的。但是,对于像C ++模板这样的事情是否存在这种情况存在一些疑问,所以你可能想问律师。

答案 4 :(得分:0)

如果它是LGPL许可软件的衍生作品,衍生作品不需要开源。

这就是“LGPL”中的“L”代表“较小”的原因 - 总的来说,限制性较小。