Android 和 Chrome OS 可能是谷歌最知名的 OS 项目,但实际上这两年曝光量逐渐增大的是谷歌正在开发的第三个操作系统——Fuchsia。
我们对 Fuchsia 的了解是:它是一个开源项目,类似于 AOSP(Android 开放源代码项目),但 Fuchsia 可以运行各种设备,从智能家居设备到笔记本电脑和手机等等。它也被认为是建立在一个谷歌构建的名为“zircon”的全新内核之上,而不是构成 Android 和 Chrome 操作系统基础的 Linux 内核。
除此之外,我们对 Fuchsia 的所知甚少,只在两年前看到过 Fuchsia 的 UI 界面。
Fuchsia 与我们见过的其他操作系统完全不同,包括 Android。从诞生之日起,Fuchsia 就笼罩在一团疑云之中,我们不知道它的用途是什么,是否为了取代 Android 而生,亦或只是谷歌的一次玩票实验。
彭博社曾报导称:谷歌新研发的 Fuchsia OS 可能会在 5 年内取代 Android 和 Chrome OS。报道指出,这两年谷歌一直在加大投入研发名为“Fuchsia”的项目,目前参与研发的工程师已超 100 名。
Fuchsia 团队在讨论一个野心的计划:打造一个统一的操作系统,让其既可以适用于 Google 内部的所有设备如 Pixel 手机和智能音响,也能用在搭载 Android 或 Chrome OS 的第三方设备上。对此,Google 内部的工程师的计划是:在 3 年内,让 Fuchsia OS 应用在音响等智能家具设备中,然后扩展到 PC 或更大的设备上,并计划在未来 5 年内取代 Android。
此报导一出,谷歌发言人火速辟谣:他表示:“Fuchsia 是谷歌众多实验性开源项目之一,我们目前还没有提供该项目的其他详细信息,2015 年,Lockheimer(Android/Chrome 负责人)曾说过公司未计划让 Android 取代 Chrome,现在这个立场仍然适用”,但他拒绝进一步置评。
但搜索巨人的这一辟谣并未消除坊间关于 Fuchsia 的疑云,各种不着边际的猜测依旧层出不穷。有人甚至认为,Fuchsia 项目可能是谷歌的一个“保住高级工程师”的项目,目的是想让 Google 的人才保持忙碌的状态,避免他们跳槽。
在 Windows、iOS、Linux 等成熟操作系统瓜分完市场的今天,为什么谷歌要大费周章地去开发一个全新的操作系统?仅仅只是因为这是你没有玩过的全新版本?
在聊谷歌开发 Fuchsia 系统的故事以前,我们先来回顾一下两个具有强关联性的事件。
2010 年,谷歌惹上了一桩官司,这场官司旷日持久地打了将近十年,现在已经上诉到了美国联邦最高法院做最终裁决,结局未知。是的,你没有猜错,这场官司就是版权史上赫赫有名的“谷歌 Java 侵权案”。
事件起因发生在 2010 年,作为 Java 拥有者的 Oracle 认为,谷歌在 Android 系统上无偿使用了 37 个 Java APIs,这侵犯了他们的专利,而在 Android 中还有 9 行代码抄袭了 Java,这侵犯了他们的版权。
那 9 行代码造成抄袭的缘由据说是因为当时 Google 的一位工程师在为 Android 项目工作的同时,又为 Sun 公司的 OpenJDK 效力,后来,该工程师直接从 OpenJDK 中复制了 9 行代码到 Android 中,由于 Google 没有得到 Sun 公司的授权,所以 Oracle 收购 Sun 之后,Java 易主,这就相当于侵犯了 Oracle 的版权。
这一场官司从 2010 年打到了 2019 年,期间判决结果数次反复,既有谷歌胜诉的时候,也有 Oracle 胜诉的时候。最近一场裁决结果是认定谷歌侵权,需要赔偿 Oracle 88 亿美元。今年 1 月份,谷歌不服判决,选择了上诉美国最高法院,其判决结果将为此事件做最终裁决。
在此之后,谷歌开始了对 Kotlin 语言的大力投入,其支持力度之大甚至超过自己的亲儿子 Go 语言。2017 年,Google I/O 大会上宣布 Kotlin 成为 Android 开发的一级语言。今年则更进一步,官宣 Kotlin 成为 Android 开发的首选语言。Java 失宠了。此为其一。
2018 年初,谷歌发布了 Flutter 的第一个 Beta 版本。Flutter 是谷歌推出的 iOS、Android 平台的高质量原生应用的全新移动开发 SDK,用 Dart 语言编写。Dart 是谷歌开发的脚本语言,现在已经用于 Google 内部的项目中,而 Flutter 是 Dart 中构建跨平台、高性能移动应用程序的工具。
虽然按照谷歌的说法,Flutter 的推出只是为了与 Android 原生技术竞争,没有别的目的。但是有意思的是,Flutter 并没有在底层使用 Java API,这就有种此地无银三百两的感觉了。毕竟,Fuchsia 是支持 Flutter 和 Dart 的。此为其二。
虽然仅从这两个事件并不能得出谷歌开发 Fuchsia 操作系统的目的是为了取代 Android,但不难看出的是,谷歌对于 Android 系统背后的 Java 版权问题做了深切的考量,在新框架、新语言乃至新系统的技术选型上都规避了可能存在的 Java 版权纠纷。
Fuchsia 会取代 Android 吗?未必。就像 Kotlin 虽然正式上位,但 Java 光是凭借其庞大的生态,就不太可能被取而代之。事实上,谷歌要砍掉 Android 并不容易,因为 Android 有数十个硬件合作伙伴,在全世界范围内有数百万个 Android 开发者,谷歌不能指望这个庞大的生态系统能够快速替换成 Fuchsia 生态,再者,谷歌每年在移动广告上的收入就有数十亿美元。所以谷歌对 Android 的改革计划会保持审慎的态度。
但 Fuchsia 的“野心”,其实并不在取代 Android 上。
“我们正在研究操作系统的新面貌。所以我知道,人们会非常兴奋地说,‘哦,这是新的安卓系统’,或者‘这是新的 Chrome 操作系统’,”Lockheimer 说。“但 Fuchsia 真的与此无关。Fuchsia 只是致力于推动操作系统的发展,并将我们从 Fuchsia 中学到的东西融入到其他产品中。”
他说,Fuchsia 作为实验性操作系统的目的还在于尝试针对大小迥异的设备进行优化,暗示其可能设计用于智能家居设备,可穿戴设备,甚至可能是增强或虚拟现实设备。 “你知道 Android 在手机上运行得非常好,并且你知道在 Chrome OS 的环境中它是应用程序的运行时。但 Fuchsia 也可能针对某些其他形状因素进行优化。所以我们正在试验。“
Lockheimer 在回答的最后变得有些神秘,他接着说,“想想专用设备……现在,每个人都认为 Fuchsia 代表手机。但如果它能用于其他事情呢?”
在 Google I/O 举行的一次单独的 Android 炉边聊天中,Lockheimer 提供了一些额外的细节,尽管他的细节仍然很神秘。
“(Fuchsia)不仅仅是手机和个人电脑。在【物联网】的世界中,需要操作系统和新运行时等的设备越来越多。我认为这对各有所长及特性的多重操作系统而言是有共存空间的。Fuchsia 就是其中之一,所以请继续关注。”
话说到这里差不多就能猜出一些门道了:Fuchsia 是一个你没有玩过的全新版本,采用了最新的架构,可以运行在一切你所熟知的终端设备上,PC、手机、平板、智能家居、AR/VR 设备等等。它的目的不在于成为另一个 Android 系统,而在于打造一个全平台的操作系统。
事实上,一个操作系统联结多个设备(智能手机、笔记本、物联网设备、可穿戴智能设备)的概念,已经是不可抗拒的潮流了。看看微软,用 Midori(微软开发的模块化操作系统)和 Windows 追逐着单一操作系统的梦想。再看看苹果正在搭建的 macOS 和 iOS 之间的桥梁,如果它推出同时支持 Mac、iPhone、iWatch、Apple TV 的单一操作系统,也不用感到惊讶。这是大势所趋。
彭博社报导称谷歌的宏伟计划是用 5 年时间来推出一个统治其生态系统的操作系统。这或许是 Fuchsia 的野心所在,却也面临着重重困难。作为一个目前由工程师主导,高管参与度不高的项目,似乎无法断言其成败与否。
万物基于 Fuchsia?或者,谷歌:我们就是做着玩玩。
Linux 创始人 Linus 有一次曾在 Linux 内核的邮件组里痛骂谷歌的工程师不守规矩,称自己不会接受他们的 patch。事实上 Android 受限于 GPL 协议的 Linux,谷歌自己无法完全掌控,也许,这也是他们需要一个自己能完全掌握的操作系统内核的原因?
点击下方图片即可阅读
Java 失宠,谷歌宣布 Kotlin 现在是 Android 开发的首选语言
ArchSummit 全球架构师峰会是 InfoQ 中国团队推出的重点面向高端技术管理者、架构师的技术会议,54% 参会者拥有 8 年以上工作经验。2019 年 7 月深圳站囊括了微服务架构、中台战略、技术选型、人机交互、前端进阶等最新技术和前沿动态,详细日程请扫描下图二维码或点击【阅读原文】
点个在看少个 bug
1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“InfoQ”微信公众号,文章版权归InfoQ公众号所有。