美文网首页
随笔0116/速记——安卓的开源策略

随笔0116/速记——安卓的开源策略

作者: 刘东利2020 | 来源:发表于2023-01-15 20:17 被阅读0次

内容速记:

AOSP 的上层开源许可证是 Apache 2.0 宽松开源许可证,大多数安卓软件都使用 Apache 2.0 许可授权开发者使用。另外,除了上层使用的 Apache 宽松开源许可协议外,下层还有 BSD 宽松开源许可协议,以及 Linux 内核的 GPL2.0 强传染性开源许可协议。根据 Apache、BSD 等宽松开源许可证,开发者可以在符合相关开源许可证的要求下,对 AOSP 开源项目中的源代码通过复制、修改、发行的方式进行使用。

但是其 Linux 内核的 GPL 强传染性开源许可协议,是安卓在构建自身开源生态时的拦路虎。GPL 协议大家都非常清楚,就是要求所有的后续开发以及衍生开发的源代码,全部必须要遵照 GPL 协议进行代码开源。如果遵照 GPL 强传染开源许可协议,则所有的驱动也不得不开源出来。谷歌显然无法让所有参与生态的人(比如芯片与器件供应商)都必须去开源。从谷歌的开源生态建设考虑来看,谷歌显然不会让这样的情况出现。为了开源生态构建,谷歌做了一系列巧妙的开源协议的选择和适配,并巧妙的在使用 Linux 内核的情况下又完美的绕开了 GPL 强传染开源许可协议,两头得利。

■ AOSP 的层级构成图--基于原始图片(来源于 https://source.android.com )绘制

Linux Kernel 虽然基于 GPL 2.0 开源许可证发布,但也在设计之初就设置了 GPL 许可证例外,例如在内核目录文件 LICENSES/exceptions/linux-syscall-note 中包含 Linux 内核的 COPYING 文件中记录的 Linux 系统调用例外,该文件用于用户空间 API(UAPI)头文件中。使用 Linux 内核的头文件定义,进行系统调用的程序适用该 GPL 许可证例外。

Linux Kernel 中 GPL 与非 GPL 的分界线为 GNU glibc, 其普通的系统调用为 GNU glibc 向外暴露的系统调用接口。而安卓则将 Linux 常用的 GNU glibc 替换为 Bionic libc 类库(改用宽松许可证 BSD),并通过该 Bionic libc 类库暴露了更多原来在内核空间才能使用的接口,让用户空间的驱动能够充分利用内核和硬件资源。

AOSP 在用户空间和内核空间之间设置本质为用户空间主驱动的硬件抽象层(HAL),规避 GPL 的硬件厂家把需要保护的商业机密以及知识产权相关的逻辑放在 HAL 层,以二进制包的方式发布,不需要公开源代码。

相关文章

  • 5年内取代安卓,谷歌Fuchsia新系统跨平台实现大统一!

    谷歌在数十年前收购安卓系统对其源代码进行开源,开源免费策略让安卓成为移动操作系统市场的龙头。尽管它并不是依靠安卓系...

  • 源码对比分析

    1,安卓下拉刷新开源库对比 讲解滑动事件的冲突安卓下拉刷新开源库对比

  • 安卓第一周课程笔记

    第一周学习安卓的知识点总结: 首次接触安卓后: 1.了解了安卓的历史:源于linux(开源)--这也就是安卓...

  • 开源是欲擒故纵?Linux危险了

    安卓遭禁风波未平,开源软件也要遭禁? 昨日,安卓遭禁的新闻引发轩然大波。随后,开源中国在其博客中指出:Apache...

  • 安卓开源项目周报0419

    由OpenDigg 出品的安卓开源项目周报第十七期来啦。我们的安卓开源周报集合了OpenDigg一周来新收录的优质...

  • 安卓开源项目周报0405

    由OpenDigg 出品的安卓开源项目周报第十五期来啦。我们的安卓开源周报集合了OpenDigg一周来新收录的优质...

  • 安卓开源项目周报0426

    由OpenDigg 出品的安卓开源项目周报第十八期来啦。我们的安卓开源周报集合了OpenDigg一周来新收录的优质...

  • 安卓开源项目周报0329

    由OpenDigg 出品的安卓开源项目周报第十四期来啦。我们的安卓开源周报集合了OpenDigg一周来新收录的优质...

  • 安卓开源项目周报0315

    由OpenDigg 出品的安卓开源项目周报第十二期来啦。我们的安卓开源周报集合了OpenDigg一周来新收录的优质...

  • 安卓开源项目周报0308

    由OpenDigg 出品的安卓开源项目周报第十一期来啦。我们的安卓开源周报集合了OpenDigg一周来新收录的优质...

网友评论

      本文标题:随笔0116/速记——安卓的开源策略

      本文链接:https://www.haomeiwen.com/subject/srlacdtx.html