由C/C++的开源项目和开源协议说开去——和CSDN博客专家王绍全的讨论记录

由C/C++的开源项目和开源协议说开去

 

        ——和CSDN博客专家王绍全的讨论记录

 

以下,是 2009/11/30 在 CSDN博客专家群,我(liigo)与CSDN博客专家王绍全(Eric)的讨论记录,发表之前已征得他的同意。内容上,主要表达了我私下里对于C/C++开源项目的抱怨,和由于版权的关系不能有效地将其应用于工作中的烦恼。

 

 

 

王绍全[wwwsq]  14:55:22

http://www.theregister.co.uk/2009/01/21/open_source_projects_08/print.html

在18万个开源项目中,有47%是用C,28%用Java,11%用PHP

 

庄晓立[liigo]  17:32:34

不要单纯比数量,从实用上来比。如PDF生成器、FLASH生成器、报表生成器,成熟的C/C++开源项目基本找不着,GOOGLE出来的有名的开源项目多是JAVA的。

庄晓立[liigo]  17:33:10

这个我深有体会。

庄晓立[liigo]  17:34:06

(二进制)数据文件生成,按说是C/C++的强项,是JAVA的弱项。

庄晓立[liigo]  17:34:20

表现出来却相反。

 

庄晓立[liigo]  17:36:03

而且,C/C++的开源项目多是GPL/LGPL协议,对商业使用不友好;而JAVA的开源项目多是Apache2.0,对商业使用是友好的。

王绍全[wwwsq]  17:36:13

除了eclipse,有哪些著名开源项目是java的?

王绍全[wwwsq]  17:37:37

OpenOffice官网主页说,它是C/C++的

庄晓立[liigo]  17:37:47

看上下文,是说的PDF生成器、FLASH生成器、报表生成器,又是与C/C++对比

王绍全[wwwsq]  17:38:35

linux/firefox/emule/putty/gcc/apache这些都是c/c++的

庄晓立[liigo]  17:39:28

而且,C/C++的开源项目多是GPL/LGPL协议,对商业使用不友好;而JAVA的开源项目多是Apache2.0,对商业使用是友好的。

例如GNU BFD(Binary File Descriptor),开源的,看上去发展的很成熟了,可是它是GPL的,我开发商业链接器(linker)的话,就不能用它。

 

王绍全[wwwsq]  17:40:48

可以绕的,有些公司专门写个程序来link GPL的lib

王绍全[wwwsq]  17:40:57

别的模块和这个小程序通讯

王绍全[wwwsq]  17:41:13

这个link GPL lib的小程序可以开源

庄晓立[liigo]  17:41:25

哦。

王绍全[wwwsq]  17:42:52

具体问题,可以咨询知识产权法律专家。小公司不用担心,大公司自然有专门的法律顾问的。

 

庄晓立[liigo]  17:43:02

有时候对GPL和LGPL很无奈,干看着,偏偏用不上。呵呵。LGPL的库(lib),还不允许静态链接。

庄晓立[liigo]  17:43:22

我们虽然是小公司,但对版权还是很小心的。

王绍全[wwwsq]  17:43:58

对版权小心,是要付出成本的。如果你们觉得值得,那么就需要考察一下别的公司是怎么对付这个问题的。

王绍全[wwwsq]  17:44:08

我刚才说的绕的方式,只是其中一种方式。

庄晓立[liigo]  17:44:22

嗯,多谢。

王绍全[wwwsq]  17:44:24

不客气:)

 

庄晓立[liigo]  17:46:47

国内外有名的视频播放器,如kmplayer,QQ影音,暴风影音,都是非法使用ffmpeg库,都进入人家的耻辱名单了。

庄晓立[liigo]  17:47:13

可见“绕”也不见得绕过去,嘿嘿

王绍全[wwwsq]  17:47:47

那些播放器是绕都懒得绕吧?

王绍全[wwwsq]  17:48:09

多媒体的库直接和硬件打交道,可能也比较难绕

庄晓立[liigo]  17:52:06

据说GPL/LGPL也是法律专家们研究的结晶

王绍全[wwwsq]  17:52:21

这个倒是

王绍全[wwwsq]  17:52:40

GPL/LGPL也是有一大帮律师参与帮助制定的

庄晓立[liigo]  17:53:24

是啊。

王绍全[wwwsq]  17:54:03

跟着大公司做了,绕的方法是被很多大公司采用的。要有法律麻烦,也是他们先遇到。天塌下来有高个子顶着呢。

王绍全[wwwsq]  17:54:46

我没有具体证实过。你要是打算采用这个方式,请自己证实一下。

庄晓立[liigo]  17:55:00

 

庄晓立[liigo]  17:57:26

还接前面说,wxWidgets是类LGPL协议的,我们如果静态链接WX库,编译出一个动态库给易语言用,用起来就很方便。偏偏LGPL不允许静态链接。那么就麻烦许多,将来发布程序还得带着WX的动态库,还得考虑它的路径问题。

庄晓立[liigo]  18:00:02

有谁知道,VC6的链接器(link.exe),未经许可可以直接使用吗?多谢。

庄晓立[liigo]  18:00:41

我的意思是随程序发布出去

庄晓立[liigo]  18:00:58

我的意思是随程序发布出去,内部调用。

王绍全[wwwsq]  18:01:05

多半是不行的

庄晓立[liigo]  18:02:08

我估计也是不行的

王绍全[wwwsq]  18:02:18

link.exe是微软的版权软件,它的使用许可99%不会让你再发布的

王绍全[wwwsq]  18:02:39

gcc打包再发布应该是可以的,只要声明一下,并且提供代码

庄晓立[liigo]  18:03:06

VC6是十年前的软件了,有没有过期一说?

王绍全[wwwsq]  18:03:25

专利会过期,软件所有权没听说有过期的

庄晓立[liigo]  18:03:41

对,是的。

 

你可能感兴趣的:(java,apache,Flash,报表,Descriptor,linker)