请假一个关于GPL问题软件中,其中一个功能模块使用了GPL的代码,将这个GPL代码封装成一个DLL,在这个DLL中,GPL代码占了80%左右,但整个DLL代码只占我软件的30%左右,我在发布软件的时候,整个软件的代码都必须同时发布出去吗?还是只需要发布这个DLL的代码希望大侠们给出法律上的规定,谢谢!

解决方案 »

  1.   

    发布的时候不需要,但你的用户向你要代码的时候必须给(你也应当告诉他们有这个权力)。
    GPL需要发布所有代码,不管静态还是动态编译,LGPL动态编译的时侯无需发布其他代码。
    不过也有一个解决方法,把GPL的程序封装成一个命令行程序,再用createprocess调,就可以只发布这个命令行程序的代码了。
      

  2.   

    那象 gzlib.dll libeay32.dll 这些GPL代码很多软件都在用,但没看到这些软件提供src那里有相关规定?
      

  3.   

    如果你使用gpl协议的代码,如果是dll,那么你必须把所有调用dll的模块和dll本身代码公布出去,在下载你软件的地方要有代码下载连接.
    如果你作成exe的样子,那你只需要公布exe的代码就可以了,所以你可以做成exe形式的com,呵呵还有,关于gpl的法律地位,好象截止目前没有被法官明确承认,以前看一篇文章说的,自己去搜搜
      

  4.   

    还有一个疑问
    象google desk以及 ms 使用gpl的库怎么没看到开放对应模块的代码呢?