赞
踩
| 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工作的一个工具。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。