- 主题:glibc是gpl还是lgpl?
搜了下各种答案都有
1
Android是如何规避GPL的
包括两个方面:驱动和glibc
先说glibc,glibc是linux上的主流的c运行时库,几乎每个linux程序都会简介的依赖c运行时库。由于glibc是gpl授权的,因此如果采用glibc作为crt,按照前述问题的第二条,这些程序必须开源。因此安卓采用bionic作为c运行时库替代glibc来规避gpl.
再说驱动,Android是基于Linux 内核开发的,Linux内核是GPL授权。传统的驱动是要作为内核模块被加入到内核中的。按照前述的第三个问题,内核模块属于Linux内核的衍生产品,需要遵守GPL协议开源发布。Android是由开放手机联盟共同完成的,为了保护联盟中手机生产商的利益,驱动不能被完全开源。因此安卓引入HAL,给linux内核开了个后门,增加了一些系统调用。HAL在内核的部分按照GPL的要求开源。驱动开发者可以在用户态使用这些新增的系统调用完成驱动的开发。从而在驱动方面规避了GPL。
2
glibc 是 LGPL 协议。你看到的 GPL 文件头属于历史遗留的错误。
编辑于 2015-09-15 22:19
3
Under the normal circumstances that your question present (i.e. dynamic linking to a library assumed to exist on the user's system and thus not distributed with the program) the following part of the license text will save the day for any program using glibc:
A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a “work that uses the Library”. Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
--
FROM 218.66.91.*
glibc自己的主页和wiki上没提到license
不过LWN上说它是LGPL
https://lwn.net/Articles/117972/
这个算是权威的了。早期是GPL,现在是LGPL
https://directory.fsf.org/wiki/Libc#tab=Details
--
修改:z16166 FROM 114.240.244.*
FROM 114.240.244.*
看源码的copying.lib。许可证一般都是看源码。
【 在 z16166 的大作中提到: 】
: glibc自己的主页和wiki上没提到license
:
: 不过LWN上说它是LGPL
: ...................
--
FROM 114.254.10.*
那个链接里面有指向源码的url
【 在 milksea 的大作中提到: 】
: 看源码的copying.lib。许可证一般都是看源码。
--
FROM 114.240.244.*
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
下载了glibc源码,解压缩后,打开COPYING.LIB文件,第一行就是上面内容,这就是说明是LGPL了?
另外一个问题,软件的使用有很多含义:
使用现成的二进制文件,比如可执行,或者链接库
代码不修改,自己编译,然后使用
修改代码后,编译,然后使用
是不是要具体说明是哪种使用方式
【 在 milksea 的大作中提到: 】
: 看源码的copying.lib。许可证一般都是看源码。
--
FROM 218.66.91.*
那当然。你的疑问协议有说明,lgpl这种大路货网上也有翻译的
【 在 b0207191 的大作中提到: 】
: GNU LESSER GENERAL PUBLIC LICENSE
: Version 2.1, February 1999
:
: ...................
--
修改:milksea FROM 114.254.9.*
FROM 114.254.9.*