QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1514|回复: 7

我有一个非常简单但是却折磨了我很久的关于GPL开源的问题.

[复制链接]
发表于 2005-12-13 14:50:10 | 显示全部楼层 |阅读模式
关于GPL开源,我一直都不明白一个事情.

如果一个大系统A,其中有一个部件B,这个部件是基于一个GPL开源的C进行改进的.

请问: 按照GPL的规定, 是否因为使用到C, 这个系统A的所有源代码都需要公开呢? 尽管B只是A的其中一个小部件呢??


我始终没有明白这个问题,请教高手....


[email protected]

发表于 2005-12-13 15:31:17 | 显示全部楼层
A的源码中除B以外的部分可以不用开源,但B的源码必须按GPL公开。
回复

使用道具 举报

 楼主| 发表于 2005-12-13 17:36:08 | 显示全部楼层
哦, 这样.谢谢.

但是如何来确定这个边界呢. 特别是如果B不是一个很独立的运行程序,它和A有一定耦合性的话,那么这个公开代码边界就不好确定了. 是吧?

比如: GAIM是GPL开源的.我现在根据GAIM的代码开发了一个图象组件,放在一个平台上,这个平台可以调用调用这个图象组件. 这个时候,确定哪些要公开哪些不要公开应该是有比较麻烦了. 不知道确定公开代码的边界有没有什么可供查考的资料呢?
回复

使用道具 举报

发表于 2005-12-13 18:33:21 | 显示全部楼层
按你上面的这个例子,你的这个图象组件也必须要按照GPL协议开放源代码

"根据GAIM的代码开发"这一句就是法律依据。

基于gpl协议的软件源代码开发的任何软件也都必须要基于GPL协议发布。
回复

使用道具 举报

发表于 2005-12-15 17:14:38 | 显示全部楼层
老实说,比起GPL,我更喜欢SUN的开源所遵循的CDDL(通用开发和发布许可)协议,但是GPL协议也有其存在的价值,它直接推动了开源这个软件开发新文化的发展,当然,Linux也是它的一个重要成果。
回复

使用道具 举报

发表于 2005-12-15 17:15:02 | 显示全部楼层
老实说,比起GPL,我更喜欢SUN的开源所遵循的CDDL(通用开发和发布许可)协议,但是GPL协议也有其存在的价值,它直接推动了开源这个软件开发新文化的发展,当然,Linux也是它的一个重要成果。
回复

使用道具 举报

发表于 2005-12-15 17:15:35 | 显示全部楼层
受不了,竟然发了两遍。
回复

使用道具 举报

发表于 2005-12-17 16:51:26 | 显示全部楼层
B必须是GPL的开源,
但A,开不开源要看B是什么,
如果B是一个exe,A就无所谓
如果B是一个dll,so,A也得是GPL
B编译进了A,A更得GPL了.

如果C用的是LGPL,B也是LGPL,这是如果B是dll,so的话,A就无所谓.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-9-23 17:17 , Processed in 0.097687 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表