我有一个非常简单但是却折磨了我很久的关于GPL开源的问题.
关于GPL开源,我一直都不明白一个事情.如果一个大系统A,其中有一个部件B,这个部件是基于一个GPL开源的C进行改进的.
请问: 按照GPL的规定, 是否因为使用到C, 这个系统A的所有源代码都需要公开呢? 尽管B只是A的其中一个小部件呢??
我始终没有明白这个问题,请教高手....
[email protected]
:oops: A的源码中除B以外的部分可以不用开源,但B的源码必须按GPL公开。 哦, 这样.谢谢.
但是如何来确定这个边界呢. 特别是如果B不是一个很独立的运行程序,它和A有一定耦合性的话,那么这个公开代码边界就不好确定了. 是吧?
比如: GAIM是GPL开源的.我现在根据GAIM的代码开发了一个图象组件,放在一个平台上,这个平台可以调用调用这个图象组件. 这个时候,确定哪些要公开哪些不要公开应该是有比较麻烦了. 不知道确定公开代码的边界有没有什么可供查考的资料呢? 按你上面的这个例子,你的这个图象组件也必须要按照GPL协议开放源代码
"根据GAIM的代码开发"这一句就是法律依据。
基于gpl协议的软件源代码开发的任何软件也都必须要基于GPL协议发布。 老实说,比起GPL,我更喜欢SUN的开源所遵循的CDDL(通用开发和发布许可)协议,但是GPL协议也有其存在的价值,它直接推动了开源这个软件开发新文化的发展,当然,Linux也是它的一个重要成果。 老实说,比起GPL,我更喜欢SUN的开源所遵循的CDDL(通用开发和发布许可)协议,但是GPL协议也有其存在的价值,它直接推动了开源这个软件开发新文化的发展,当然,Linux也是它的一个重要成果。 受不了,竟然发了两遍。 B必须是GPL的开源,
但A,开不开源要看B是什么,
如果B是一个exe,A就无所谓
如果B是一个dll,so,A也得是GPL
B编译进了A,A更得GPL了.
如果C用的是LGPL,B也是LGPL,这是如果B是dll,so的话,A就无所谓.
页:
[1]