首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新实现开源项目中的算法

重新实现开源项目中的算法
EN

Stack Overflow用户
提问于 2010-08-06 17:05:17
回答 2查看 1.3K关注 0票数 6

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-06 17:33:56

这与重新实现商业产品时的应用程序基本相同。

这通常是在净室风格中完成的--一个团队将彻底分析产品,为它所做的事情产生一个规范,然后另一个团队(其成员不是来自原始团队)仅使用规范文档来实现替换。

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

一旦你开始编写自己的实现,你真的应该避免引用实际的GPL代码-如果你引用它,你很可能最终无法想到自己的函数名称,最终使用与GPL代码相同/相似的函数名称。虽然从技术上讲这可能不是一个问题,但如果有人发现了它,你会招致各种各样的指责,所以最好完全避免这个问题。

票数 4
EN

Stack Overflow用户

发布于 2010-08-06 17:10:06

版权仅保护算法的特定实现和描述(例如学术论文),而不保护算法本身。复制-粘贴显然是一种违规,就像复制-粘贴然后模糊或扩展一样。理解算法,然后创建你自己的,本质上不同的实现应该是可以的。

然而,也可能有一个算法的专利,这是一个不同的故事。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3422351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档