开源≠免费 常见开源协议介绍
不根据协议使用开源软件可能面临的风险 2003 年 Linksys 公司(同年 3 月被思科收购)推出 WRT-54G,这款路由器采用了基于 Linux 的固件,而 Linux 使用的是 GPL 开源协议,所以思科迫于压力,开放了 WRT-54G 的源码,这使得爱好者们知道了路由器固件的实现方式,进而促成了各种相关开源项目的繁荣,其中就包括 OpenWRT Android 和 Linux 内核 的关系 Android 使用了 Linux 内核,而 Linux 内核采用的是 GPL 的开源协议,所以 Google 修改了 Linux 内核,使得驱动程序可以在 Linux 内核的上层运行,这样上层的代码可以绕过GPL协议。这也使得所有 Android 上的开源驱动,不经过修改无法直接用在 Linux 内核上,造成了Linux 内核的分裂,所以 Linux 内核开发小组撤下了 Android 所贡献的代码 而非内核部分,Android 开源项目 (AOSP) 许可提到了: 对于用户空间(非内核)软件,相比其他许可(例如宽通用公共许可证 (LGPL)),我们更倾向于 Apache 2.0(以及 BSD 和 MIT 等类似许可) 我们为自己的代码首选 Apache 2.0 因为 AOSP 采用了 Apache 2.0 协议,所以任何人都可以基于 AOSP 开发自己的 Android 系统,而且不需要开源,国内的一些定制 Android 系统都是基于 AOSP,具体可以参考定制Android固件列表。虽然 AOSP 是开源的,但是 Google 移动服务 GMS(Google Mobile Service)是闭源的,GMS 中包括,如果手机厂商想要使用 GMS,就必须向 Google 支付授权费。GMS 包含了 Google 自家的App 和服务,除此之外海外 Android 平台发布的 App 严重依赖 GMS,没有 GMS 可能导致软件无法使用等问题,Google 禁止华为对 GMS 的使用,导致华为手机海外出货量大幅下降 ...