安卓系统的开源程度究竟如何?

发表时间: 2022-11-27 22:11

自从他们发布第一个 Android 版本以来,Google 已将许多重要功能转移到其专有的 Google Play 服务中。因此,大多数Android手机上安装的谷歌Android版本不能称为开源。像 microG 这样的替代服务试图解决这个问题。


当人们比较两个占主导地位的移动操作系统iOSAndroid时,他们通常指出后者的开源性质及其为用户提供的自由是优于前者的优势。

的确,Android 设备比 iPhone 更易于定制,但这主要与苹果和谷歌在开发操作系统时采用的不同设计理念有关。与台式电脑的 macOS 一样,Apple 牺牲了自定义选项,以使 iOS 尽可能简单易用。也许这个决定对 iPhone 的巨大成功至关重要。

图片源自 Android Authority

谷歌选择了一条完全不同的道路。他们没有强迫手机制造商使用一个集中维护的 Android 版本,而是允许他们创建自己的操作系统版本,并添加和删除他们认为合适的功能。这不仅导致许多 Android 手机上的软件泛滥被英国媒体报道,而且更有意思的是,华为在被禁止继续与谷歌合作后,能够基于Android 开源项目 (AOSP ) 开发自己的移动操作系统)

图片源自 CNX Software

AOSP 源代码仍然可以免费访问,但它只占当今移动操作系统的一小部分。要了解其中的原因,我们必须看看 Android 在 2007 年实际上是如何开始的。

Android开源项目的诞生

当 iPhone 发布时,Google 遇到了一个问题:在没有主要竞争的情况下,如果 Apple 垄断了智能手机领域然后决定放弃 Google 作为其首选搜索引擎会怎样?这对其向广告商出售数据的商业模式意味着什么?

谷歌要想早日进入智能手机竞赛就必须迅速采取行动,因此出于绝望,它委托最近收购的Android 公司的开发人员开发基于 Linux 内核的开源移动操作系统,同时time为他们的开放手机联盟招募了几家大公司,包括 HTC、摩托罗拉、索尼和三星,Android 操作系统将成为其旗舰软件。

该计划奏效后,随着 Android 很快在大多数硬件制造商的移动设备上运行,它在市场份额上超过了 Apple 的 iOS。

但现在谷歌遇到了新问题:Android 是开源的,因此理论上任何人都可以分叉该项目,创建自己的操作系统版本,并有机会变得比谷歌更成功。这就是为什么在移动市场获得一些吸引力后,谷歌改变了策略,继续将闭源软件重新引入 Android 生态系统:突然间,标准 AOSP 应用程序的改进版本获得了谷歌品牌,不再开放-资源。这包括日历、相机甚至键盘。

尽管现在有大量可用的专有 Google 应用程序可供选择,但这并不预示着开放式 Android 生态系统的终结。然而,谷歌更进一步,以确保大多数开发人员不得不以某种方式依赖其服务。

Google Play 服务

图片源自 The Verge

最初的想法是崇高的:由于手机制造商使用许多不同的 Android 迭代,谷歌无法轻易地将操作系统更新推送到所有设备。相反,制造商首先必须让它们适应自己的 Android 版本,这可能需要很长时间。

为了解决这个问题,谷歌推出了Play Services,以其应用程序 Play Store 命名,通过它可以推送更新。随着时间的推移,越来越多的功能成为这个包的一部分,为开发人员提供了访问适用于所有设备的 API 的方法,同时有利于 Google 的商业模式:想在您的应用程序中提供应用程序内购买吗?为此,您将不得不使用 Google 的 API,该公司也从中抽取费用。想查看用户的位置?谷歌会为你做这件事,也会将这些数据用于自己的目的。

迁移到Play Services的最重要的功能是能够轻松发送和接收消息以及推送通知。能够向用户发送通知对于许多应用程序的运行至关重要,因此这是 Android 未来开放性棺材上的最后一颗钉子。使用替代方法的应用程序很少见,但有关电子邮件提供商为其移动应用程序,实施了自己的解决方案。

Google Play 服务的替代品

已经有商业和非商业尝试放弃对谷歌服务的依赖。

亚马逊在基于 AOSP 开发Fire OS时,还创建了自己的应用商店、地图 API 和推送通知服务,在很大程度上独立于谷歌。然而,想要在他们的亚马逊设备上使用谷歌应用程序的用户通常需要跳过技术障碍才能让它们正常运行。

图片源自 Amazon

在开源方面,microG提供通过签名欺骗伪装成 Google Play 服务的 API。它已经被一些替代的 Android 操作系统使用,例如/e/OS和CalyxOS,但需要访问系统级进程,这对某些人来说太不安全了。其中包括GrapheneOS的开发人员,他们选择了 Google Play 服务的沙盒版本,将其权限降低到任何常规应用程序的权限。

所有这些替代方案都有其缺点:Amazon 的 Fire OS 和 microG 都不能提供与所有 Android 应用程序的完全兼容性,而 GrapheneOS 的沙盒方法需要一些技术知识才能保持平稳运行。尽管如此,旨在让智能手机更加开放的新项目一直在涌现,因此我们可能会在未来几年看到许多解决这个问题的新方法。

结论

Android,因为它在当今大多数智能手机上运行,​不能再称为开源操作系统,因为现在许多应用程序都依赖谷歌的专有软件才能正常运行。然而,开源的是 Android 开源项目,这意味着有些设备运行的是开源版本的 Android。可悲的是,这些只占所有 Android 手机的一小部分。

如果您仍然坚持真正免费和开源的移动操作系统,您可能会对运行 Linux 的智能手机感兴趣,例如PinePhone。诸如此类将Ubuntu等流行发行版带入小屏幕的项目仍处于开发初期,而且远非适合初学者安装,但永远不要低估 Linux 社区推动免费软件使用的能力,即使在移动设备上也是如此。

#安卓# #手机# #ios# #苹果#