2009年04月01日 星期三 01:38
于 Mon, 23 Mar 2009 13:38:05 +0800 Kermit Mei <kermit.mei在gmail.com> 写道: > On Sun, 2009-03-22 at 23:58 +0800, Bill Xu wrote: > > > > 当初RMS称之为战略妥协,也是为了让自由软件能够扩大市场占有率。由于是妥 > > 协,因此不能妥协太多,只有几个不得不妥协的库被列入LGPL,这也是当初叫 > > Libary GPL的原因。后来,担心大家误以为FSF推荐Libary都用LGPL发布,改名 > > 了,改为Lesser GPL。 > > > > 很多其他比较常用的库但非必须的,还继续用GPL,比如readline。 > > > > 巨汗! Bill提出的问题才让我注意到下面的区别,不知道我有没有理解错: > > /usr/include/c++/4.3.2/set (C++STL的头文件) : > > // This file is part of the GNU ISO C++ Library. This library is > free > // software; you can redistribute it and/or modify it under > the > // terms of the GNU General Public License as published by > the > // Free Software Foundation; either version 2, or (at your > option) > // any later version. > > 这个是C语言的stdio.h头文件: > The GNU C Library is free software; you can redistribute it > and/or > modify it under the terms of the GNU Lesser General > Public > License as published by the Free Software Foundation; > either > version 2.1 of the License, or (at your option) any later version. > > > gcc中的C是LGPL的,而C++是GPLv2的,这是否意味着,所有使用gcc开发的,链接 > 到libstdc++上的程序,都必须GPL? 我还是觉得我理解有问题,不然很多程序都 > 有问题了。 为什么不去看一看glibc,gcc的源代码呢?光干讨论有何用? 你这种做法是不可取的,据我了解,单个源文件的版权声明和整个项目的声明可以不同的, 只要它们兼容。glibc是个很好的例子,你看看其源代码中的LICENSES,COPYING.LIB ,COPYING这三个文件就知道,glibc的版权算是比较复杂的。 还有libstdc++,gcc源代码中libstdc++-v3/doc/html/faq.html提到: 2.1. What are the license terms for libstdc++? See our license description for these and related questions. 2.2. So any program which uses libstdc++ falls under the GPL? No. The special exception permits use of the library in proprietary applications. 2.3. How is that different from the GNU {Lesser,Library} GPL? The LGPL requires that users be able to replace the LGPL code with a modified version; this is trivial if the library in question is a C shared library. But there's no way to make that work with C++, where much of the library consists of inline functions and templates, which are expanded inside the code that uses the library. So to allow people to replace the library code, someone using the library would have to distribute their own source, rendering the LGPL equivalent to the GPL. 2.4. I see. So, what restrictions are there on programs that use the library? None. We encourage such programs to be released as open source, but we won't punish you or sue you if you choose otherwise. -- Do what you love, f**k the rest! F**k the regulations!
2009年04月01日 星期三 02:44
On Wed, 2009-04-01 at 01:38 +0800, WANG Cong wrote:> > 为什么不去看一看glibc,gcc的源代码呢?光干讨论有何用? 我看过了,但是一方面如之前YongWei指出的那样,“看得不够仔细”;另一方面, 也是最主要的方面,我之前没有理解这里面的一些法律术语的含义:) 不过现在明 白了。 > 你这种做法是不可取的,据我了解,单个源文件的版权声明和整个项目的声明可以不同的, > 只要它们兼容。glibc是个很好的例子,你看看其源代码中的LICENSES,COPYING.LIB > ,COPYING这三个文件就知道,glibc的版权算是比较复杂的。 > > 还有libstdc++,gcc源代码中libstdc++-v3/doc/html/faq.html提到: > > 2.1. > What are the license terms for libstdc++? > See our license description for these and related questions. > 2.2. > So any program which uses libstdc++ falls under the GPL? > No. The special exception permits use of the library in proprietary applications. > 2.3. > How is that different from the GNU {Lesser,Library} GPL? > The LGPL requires that users be able to replace the LGPL code with a modified version; this is trivial if the library in question is a C shared library. But there's no way to make that work with C++, where much of the library consists of inline functions and templates, which are expanded inside the code that uses the library. So to allow people to replace the library code, someone using the library would have to distribute their own source, rendering the LGPL equivalent to the GPL. > 2.4. > I see. So, what restrictions are there on programs that use the library? > None. We encourage such programs to be released as open source, but we won't punish you or sue you if you choose otherwise. > Thanks.
Zeuux © 2024
京ICP备05028076号