各种开源授权许可协议对比分析

 

GPL

LGPL

Apache

BSD

类库引用再发行

用作商业用途必须开源

基于类库以上的软件程序用作商业用途可不必开源,需表明出处,原作者相关信息。

基于类库以上的软件程序用作商业用途可不必开源,但在源文件中需包含原作者的协议、商标、专利声明和其他原作者规定需要包含的说明Apache开源许可协议具有延续性

基于类库以上的软件程序用作商业用途,可不必开源,但需标明原作品出处。并且在此基础上,可定义自己的开源授权许可。BSD协议不具有延续性

修改源码再发行

用作商业用途必须开源

用作商业用途必须开源

修改后的软件程序软件程序用作商业用途可不必开源,但在源文件中需包含原作者的协议、商标、专利声明和其他原作者规定需要包含的说明Apache开源许可协议具有延续性

基于类库以上的软件程序用作商业用途,可不必开源,但需标明原作品出处。并且在此基础上,可定义自己的开源授权许可。BSD协议不具有延续性

 

 

 

操作系统开源授权协议说明

 

Linux

Andriod

开源授权协议

GPL

Apache

 

 

特别说明:

GPL协议是绝对意义上的开源协议,一经使用,新的代码既被感染,同样需要遵守GPL协议。但是目前国内的大部分企业是这样躲避开源风险的,他们把自己的设备作为产品发布,只有硬件设备是用于商业用途的,至于操作系统以及系统以上的应用程序,并不是作为商用用途的,所以不必开源,相当于利用了协议的灰色地带;

LGPL协议是GPL协议的低配版本,通常一些开源软件使用LGPL协议,与GPL的不同是,如果仅仅是类库引用,用作商业用途,则不需开源。但是修改源码则必须开源。

Apache与BSD协议的初衷是在保持对原作者尊重的前提下进行开源,两者的区别是,Apache对于后续软件具有延续性,而BSD则不具有延续性。

对软件的保护效果:BSD > Apache > LGPL > GPL,而协议的传染能力则刚好相反。

andriod虽然基于Linux内核,但是剔除了Linux中的一些GPL协议的内容(包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等),使用自己的软件包取而代之,进而执行Apache开源授权许可

Android 是运行于Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。

Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 Userspace,使得Linux driver 与 Linux kernel彻底分开。

Bionic/Libc/Kernel/ 并非标准的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所产生的,这样做是为了保留常数、数据结构与宏。

Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值