作者zanyking (遥远的旅人)
看板Soft_Job
标题Re: [请益] 请问要如何规避GPL?
时间Sat May 23 02:39:19 2009
※ 引述《frostfly (frostfly)》之铭言:
: ※ 引述《odaru (答えを求めて)》之铭言:
: : GPL 不是静态 or 动态 都得开放 Source不是吗?
: : LGPL 才是动态可以免公开 Source吧?
: 端看 GPL 部分
: 用静态连结是没有办法规避的没错
: 毕竟已经把程式结合在一起了
: 而动态联结的话
: 则要视呼叫方式而定
: 律师给我们的定义是这样:
: 若用 function call 或 程式间使用相同资料结构
: 则它们算是"同一支程式"
: 整份程式都被 GPL 病毒感染了
: 另外若呼叫从另一支程式的 main function
: 用参数设定另一个程式执行行为
: 则有机会可以视为"不同支程式"而坳过去
: 今天刚好在公司有 GPL 的训练课程
: 大家分享~
有个问题想问问看大家的看法。
GPLv2要求的是使用者要有看到程式码(可於编译後执行)的权利。
你的一只程式里有叫到GPL的东西,你的程式就变成GPL的,这是GPL的病毒扩散原则。
CASE 1:
那如果,我今天写了一只程式A,用到GPL lib B与一个proprietary Lib C,
而B跟C彼此间没有任何关系。
那麽,我的A因为B的关系必须声明是GPL的,那A的使用者可以要求C的 Open Source
权利吗?
如果应该的话,我开发一个GPL系统而里面却用了proprietary的东西,我岂不该死,
因为我侵害proprietary Lib C的权利?GPL有这麽伟大吗?
CASE 2:
再来另一种情况,我开发一个proprietary 的System A, A提供一系列的介面供使用者
挂载模组。 今天有个快乐的开源工程师(又是敝人在下我)用GPL的Lib C基於A的介面开
发了模组B。
因为C的缘故,所以我的B一定得宣告成GPL的,但难道那个A就也得一样宣告成GPL吗?
那如果A不是我开发的话呢?或虽然我开发,但产权不归我呢?因为我工作得很闷搞了个
B,我就得被C的开发社群的人押着头把System A的Source Code公布出来吗?
我个人认为,GPL没那麽厉害,上面那两种情况应该都是可以继续保有proprietary
部份的权利,而不违背GPL的规定的。
所以,公司要规避GPL(合理的不把proprietary 的东西变成GPL的),应该是至少可以
从这两个方向去思考。
--
我所信仰的科学是一种谦卑的理性,承认自身的无知与渺小才能观察到世界在我们贫
弱的知觉上留下来的痕迹。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.194.181.12
1F:推 sofss:1:不公开,被告的是你不是Lib C的人 05/23 09:34
2F:推 sofss:2:记得有公司就是被押着头公开, 不过抽掉proprietary的part 05/23 09:40
3F:→ sofss:不过得是可以正常运作的.... 05/23 09:41
4F:→ sofss:不过重点可能不再做法, 而是你律师的能力... 05/23 09:43
5F:推 ykjiang:不爽不要用ㄚ :p 05/23 12:30
6F:→ ykjiang:又没人强迫说一定要挑 GPL 的来用 05/23 12:31