美文网首页
软件许可证LGPL与GPL

软件许可证LGPL与GPL

作者: WB莫遥燚 | 来源:发表于2016-12-24 17:21 被阅读225次

    作者:游云庭律师

    链接:https://www.zhihu.com/question/19568896/answer/12284793

    来源:知乎

    著作权归作者所有,转载请联系作者获得授权。

    GPL协议、LGPL协议与BSD协议的法律区别。

    简而言之,GPL协议就是一个开放源代码协议,软件的初始开发者使用了GPL协议并公开软件的源程序后,后续使用该软件源程序开发软件者亦应当根据GPL协议把自己编写的源程序进行公开。GPL协议要求的关键在于开放源程序,但并不排斥软件作者向用户收费。虽然如此,很多大公司对GPL协议还是又爱又恨,爱的是这个协议项下的软件历经众多程序员千锤百炼的修改,已经非常成熟完善,恨的是必须开放自己后续的源程序,导致竞争对手也可以根据自己修改的源程序开发竞争产品。

    正因大公司对GPL协议在商业上存在顾虑,因此,另两种协议被采用的更多,第一种是LGPL(亦称GPL V2)协议,可以翻译为更宽松的GPL协议。与GPL协议的区别为,后者如果只是对LGPL软件的程序库的程序进行调用而不是包含其源代码时,相关的源程序无需开源。调用和包含的区别类似在互联网网网页上对他人网页内容的引用:如果把他人的内容全部或部分复制到自己的网页上,就类似包含,如果只是贴一个他人网页的网址链接而不引用内容,就类似调用。有了这个协议,很多大公司就可以把很多自己后续开发内容的源程序隐藏起来。

    第二种是BSD协议(类似的还有MIT协议)。BSD协议鼓励软件的作者公开自己后续开发的源代码,但不强求。在BSD协议项下开发的软件,原始的源程序是开放源代码的,但使用者修改以后,可以自行选择发布源程序或者二进制程序(即目标程序),当然,使用者有义务把自己原来使用的源程序与BSD协议在软件对外发布时一并发布。因为比较灵活,所以BSD深受大公司的欢迎。

    作者:狂男风

    链接:https://www.zhihu.com/question/31946929/answer/54644435

    来源:知乎

    著作权归作者所有,转载请联系作者获得授权。

    GCC 中,STL 的实现是 libstdc++。

    https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license.any_program

    2.2. So any program which uses libstdc++ falls under the GPL?

    No. The special exception permits use of the library in proprietary applications.

    程序使用该库并不会被 GPL 传染。特别例外条款允许在专属(或者翻译成专利?)软件中使用该库。

    https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license.what_restrictions

    2.4. I see. So, what restrictions are there on programs that use the library?

    None. We encourage such programs to be released as free software, but we won't punish you or sue you if you choose otherwise.

    使用该库的软件没有任何约束,我们鼓励程序以自由软件发布,如果你选择了其它协议我们也不会为难你。

    再来看看例外条款:

    https://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html

    When you use GCC to compile a program, GCC may combine portions of

    certain GCC header files and runtime libraries with the compiled

    program. The purpose of this Exception is to allow compilation of

    non-GPL (including proprietary) programs to use, in this way, the

    header files and runtime libraries covered by this Exception.

    当使用 GCC 编译程序,GCC 将会把一部分 GCC 的头文件和运行库与目标程序组合在一起。这个例外的目的是允许非 GPL 程序可以这样使用。换句话说,头文件和运行库的使用被这种例外情况所涵盖。

    不过这种例外不是无限制的,只有程序是独立模块才能算作例外。具体可看上面授权许可协议链接的详细规定。

    相关文章

      网友评论

          本文标题:软件许可证LGPL与GPL

          本文链接:https://www.haomeiwen.com/subject/bstrvttx.html