【问题标题】:Reimplement algorithm from Open Source project [closed]从开源项目重新实现算法[关闭]
【发布时间】:2010-08-06 09:05:16
【问题描述】:

我目前正在开展一个项目,在该项目中我们使用开源库 (GPL) 进行一些特定的算法和计算。这将在稍后被我们自己的实现所取代。

我现在想知道的是,在实现自己的库时,开源实现可以让自己“帮助”或“启发”多少,这些库以后应该由封闭源应用程序使用。将某些代码段或程序直接从开源复制到您的实现中是不合法的。但是,在不违反 GPL 条件的情况下,你能在多大程度上遵循开源实现呢?如果您学习并理解了源代码,那么在此基础上进行自己的实现是否合法?

【问题讨论】:

  • 我投票决定将此问题作为离题结束,因为它是关于许可或法律问题,而不是编程或软件开发。 See here 了解详情,help center 了解更多信息。

标签: open-source gpl


【解决方案1】:

版权仅保护算法的特定实现和描述(如学术论文),而不保护算法本身。复制粘贴显然是一种违规行为,复制粘贴然后混淆或扩展也是如此。理解算法,然后创建自己的、完全不同的实现应该没问题。

但是,该算法也可能存在专利,这是另一回事。

【讨论】:

    【解决方案2】:

    这与重新实现商业产品时的应用大致相同。

    这通常以无尘室的方式完成 - 一个团队将彻底分析产品,为其功能制定规范,然后另一个团队(其成员并非来自原始团队)仅使用该规范实施替换文件。

    正如 tdammers 所说,理解算法并进行新的实现通常没问题(不包括专利问题)。

    一旦您开始编写自己的实现代码,您真的应该完全避免引用实际的 GPL 代码 - 如果您引用它,您很可能最终无法想到自己的函数名称并最终使用与 GPL 代码中相同/相似的函数名称。虽然这在技术上可能不是问题,但如果有人发现它,你就会接受各种指控,因此最好完全避免这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 2010-09-12
      相关资源
      最近更新 更多