GPL 协议大概讲的就是,如果你用了它的代码,你的软件也要用 GPL 发布并且开源。
这里有一些争议点不太明白。
假设有库 A 是 C++写的 GPL ,现在要写个库 B 是 C#。我们发现库 A 里的一个函数叫 func 特别有用,想弄到库 B 里。
直接 1:1 把 A 里的 func 代码转成 C#放到 B 里。据我所知,这种情况下,B 必须开源并且是 GPL 协议。
把 A 里的 func 代码重构成 C#, 并且做很多抽象+改动,改的面目全非。据我所以,这种情况下,有争议。有的人认为这仍然是必须遵守 GPL ,有的人认为这可以不用遵守 GPL 了。
找到一篇文章,描述了 A 是如何写成的 func 。根据文章的原理来写 C#代码。这种情况下,如果 C#代码逻辑步骤和 A 里 C++代码一样,应该怎么判定?是必须遵守 GPL 还是完全不用管他?
GPL 中,关于 B 到底有没有用 A 的代码的判定界限,到底是在哪里?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.