跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • Online Tools
  • 用户
  • 群组
折叠
品牌标识

D2Learn Forums

  1. 主页
  2. Blogs | 博客
  3. Sunrisepeak's Blog
  4. TechTalks: Android系统真的要闭源了? -- AOSP项目政策(可能)变化解读

TechTalks: Android系统真的要闭源了? -- AOSP项目政策(可能)变化解读

已定时 已固定 已锁定 已移动 Sunrisepeak's Blog
aosp安卓google开源opensource
3 帖子 2 发布者 71 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • sunrisepeakS 离线
    sunrisepeakS 离线
    sunrisepeak d2learn-dev
    写于 最后由 sunrisepeak 编辑
    #1

    最近几天可以刷到一些 Google宣布停止Android开源项目的新闻, 不经让人产生以下疑惑:

    • 谷歌真的打算闭源Android?
    • 原始的报道出处是哪里?
    • 实际的情况和影响是什么?
    • 谷歌为什么要这么做?

    下面以原始报道的内容结合自己曾经给AOSP项目贡献代码的经历和认识, 来解读一下未来AOSP开源政策可能的变化和影响


    一、报道内容

    1.1 原始报道

    通过搜索可以发现相关报道是来自一个叫Android Authority这个媒体, 发布了相关内容。并且Android OS fully in private的字样非常适合内容传播。

    d63d21c0-cc67-4336-a761-405a5e4614af-image.png

    1.2 是否真的要闭源?

    Android开源项目(AOSP)不会闭源, 但很多组件和功能的开发过程会转到Google内部分支开发, 到发布正式版本的时候才会把代码同步到社区分支

    8dd4a155-677e-417c-af1a-4abb43d912d1-image.png

    1.3 影响

    对于用户、应用开发者、手机厂商基本没有影响, 但是对一些基于AOSP的社区操作系统lineageos和个人操作系统开发/爱好者会有一些影响

    1.4 Google的理由

    一直一来Google都是有一个内部分支的, 但是如果每笔代码改动都要同步到社区, 就导致了Google员工大量的时间花到了解决冲突上

    d43d2e72-46c8-41d4-a721-13f1cf1915ab-image.png

    二、内容解读

    2.1 相对开放程度降低

    以前Google在开发下一个版本, 会把很多修改的代码合并到社区分支中。这意味着, 每一个次代码的改动我们都能看到(如下图Gerrit记录)。 但后面新版本的开发过程转到内部后, 社区开发者将看不到这个开发的过程, 只有等正式发布的时候才能看到释放出来的代码

    举个例子, 一个艺术家手工雕刻作品的时候, 大家可以在旁边全程看它的手法, 甚至提一提建议或者参与共创。因为一些原因, 他决定以后不公开雕刻过程, 最终完成的时候才会把作品拿出来展示, 但其保证大家依然是可以免费欣赏/使用

    Gerrit: https://android-review.googlesource.com/q/status:open+-is:wip

    8a24d0d6-d3c2-4b44-8ec3-99bac0bc7d85-image.png

    2.2 对于不同方的影响

    用户和应用开发者

    市面上也没有厂商发布基于下个版本的产品。所以, 对于用户和应用开发者来说, 基本不需要提前知道下一个版本的改动也就基本感受不到什么影响

    手机厂商

    因为以前Google就是分内部分支和社区分支, 对于有合作的手机厂商一直都是可以提前6个月到1年的时候拿到下一个版本的完整的代码, 且Google会给厂商单独建一个分支进行维护更新。所以, 不会对合作厂商有什么影响(反而可能会有优势)

    非合作厂商/社区OS/个人系统开发者

    可能会影响非合作厂商/社区OS/个人开发者等获取下一代系统发展动向的敏感度, 不利于个人开发者的学习和降低社区参与度。 像lineageos这样社区和一些小厂商的ROM定制很难获得最新的代码。即在最新功能的使用上, 相对合作厂商可能要落后 半年到一年, 进而影响产品在市场上的竞争力

    AOSP社区

    社区开发者将无法参与下一代系统的开发, 甚至没法提出任何的建议。项目发展完全由Google内部进行驱动, 社区在项目上的影响逐渐变小

    在下面这个网站可以在线浏览已经发布的安卓开源项目(AOSP)的代码: https://cs.android.com/android/platform/superproject/main

    d1d4f29a-364f-4afa-ace8-ef4490332c76-image.png

    2.3 可能的原因

    优化开发流程, 降本增效

    每次修改都同步到社区, 很容易造成分支冲突, 提高了开发成本。通过把所有的修改延迟到发布时统一同步, 可以把多次解决冲突的时间压缩成一次, 实现将本增效的效果

    提高合作伙伴模式的收益

    通过把开发过程放到内部, 这样合作厂商不仅能有Google开发人员的技术支持, 还相对能更早获取系统的最新功能。提高了厂商和Google合作模式的价值, 甚至头部厂商为了产品竞争力, 和Google进行合作变成了必要条件, 不然就可以要落后合作厂商一代(总结, 这样厂商会更愿意交钱)

    三、总结

    Android在开源上的做法一直有一些争议, 包括把一些功能从AOSP转移到Google服务闭源做商业化, 以及主动在底层设计HAL层来迎合芯片厂商上移驱动实现到用户态规避Linux内核GPL开源协议的影响, 以及现在可能要把开发过程完全私有化, 进一步减弱了AOSP的开放性。种种做法也确实能看出Google对AOSP项目开放性的收紧, 但它目前依然是以Apache-2.0协议进行可免费商用的形式进行开源的项目, 说Google要闭源Android是不合适的。

    所以, 更准确的形容是: Google主导下的安卓(AOSP)依然是一个开源且能免费商用的项目, 但是开放程度相对降低了, 可能不利于社区发展(也有可能Google也不想社区有什么发展[逃])

    注: 以上解读是基于这篇AndroidAuthority的报道, 后续具体要关注Google公布的政策细节


    Ref

    • https://www.androidauthority.com/google-android-development-aosp-3538503/
    • https://android-review.googlesource.com/q/status:open+-is:wip
    • https://cs.android.com/android/platform/superproject/main
    1 条回复 最后回复
    1
    • blogkjB 离线
      blogkjB 离线
      blogkj
      写于 最后由 编辑
      #2

      企业都是付费用户肯定不受影响了,现在谷歌准备一年发两个安卓版本了。看别的人分析说是只在release时再开源代码,能节省很多维护aosp代码的时间。

      sunrisepeakS 1 条回复 最后回复
      0
      • sunrisepeakS 离线
        sunrisepeakS 离线
        sunrisepeak d2learn-dev
        在 回复了 blogkj 最后由 编辑
        #3

        @blogkj 1.4和2.3里大概分析了以下, Google的透露出来的说法是, 认为外部开发者的贡献的改动带来的维护成本, 可能反而还影响了开发进度和提高了开发成本。所以, 基本后面Google对于AOSP社区的策略基本只做代码发布/展示的功能, 而不会去发展社区在AOSP项目的影响力, 更多以公司视角做TOB的事情, 基本放弃社区推动项目发展的想法

        • aosp: 以公司为主推动项目的发展, 外部开发者后面基本很难参与
        • linux: 以社区为主推动项目发展, 所有个人和组织都要以社区里的角色进行参与

        大概就是这种的差异

        1 条回复 最后回复
        0

        • 登录

        • 没有帐号? 注册

        • 登录或注册以进行搜索。
        d2learn forums Powered by NodeBB
        • 第一个帖子
          最后一个帖子
        0
        • 版块
        • 最新
        • 标签
        • 热门
        • Online Tools
        • 用户
        • 群组