《架构师》2021年3月
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

Rust基金会正式成立,五大科技巨头将投入百万美元支持项目开发

作者 Tina,刘燕,李冬梅

Rust基金会是一个新的独立非营利组织,负责管理Rust编程语言和生态系统。

Rust基金会成立

美国东部时间2月8日,Rust基金会宣布正式成立。

Rust基金会是一个新的独立的非盈利组织,负责管理Rust编程语言及生态。该组织将致力于为那些管理和开发该项目的维护者提供支持。Rust基金会将于美东时间2月9日下午4点举行第一次董事会会议。

Rust基金会由AWS、华为、谷歌、微软和Mozilla联合成立,并承诺在两年的时间里,投入100万美元的预算,用于Rust项目的开发、维护和推广。

新Rust董事会将由5名来自创始公司AWS、华为、谷歌、微软和Mozilla的董事和5名来自项目领导层的董事组成。

Rust基金会临时执行董事,核心团队成员Ashley Williams表示,“这标志着Rust在多维度上都迈出了一大步;更重要的是,一些全球行业领先的公司做出了正式的财务上的预判:Rust将是未来企业生产中不可缺少的技术。”

Rust最初是Mozilla内部的一个副项目,专门用于火狐浏览器的开发工作,号称是C语言和C++的继任者。Rust由Mozilla Research的Graydon Hore设计,并得到了JavaScript创始人Brendan Eich等人的贡献,成为Firefox浏览器及其Gecko引擎以及Mozilla的Servo引擎一些基本特性的核心语言。

但在去年8月的一轮裁员之后,Mozilla遣散了约250名员工,其中包括不少原Rust团队的活跃开发人员。Rust团队中的许多人失去了工作,在没有主要赞助商的情况下,尽管项目本身有成千上万的贡献者和大量的企业用户,但这门编程语言的未来变得很不明朗。

一个大型的开源项目通常需要某种指导,新成立的基金会将提供这种指导。它需要一个法律实体来管理社区的各个方面,比如商标。

2020年8月,Mozilla宣布成立Rust基金会的计划。目前,Mozilla已将所有商标和基础设施资产转移到了新的Rust基金会。

“Mozilla孵化Rust,是为了打造一个更好的Firefox,为创建更好的互联网做出贡献”,“在Rust基金会的新家,Rust将有发展成功的空间,同时继续扩大Mozilla与Rust社区共享的一些核心价值。”Mozilla和Rust基金会董事会成员Bobby Holley在一份声明中写道。

所有公司赞助商都对Rust具有既得利益,并正在使用它来构建(和重建)其某些堆栈的核心方面。谷歌最近表示,它将资助一个基于Rust的项目,该项目旨在使Apache Web服务器更安全;微软最近也组建了Rust团队,且正在使用该语言重写一些核心Windows API。AWS最近推出了Bottlerocket,这是一种用于容器的新Linux发行版,例如,其功能部件主要用Rust编写。

欲了解Rust基金会的更多信息,可访问:foundation.Rust-lang.org

谷歌宣布加入Rust基金会

与此同时,谷歌开源博客在美东时间2月8日发表声明称,正式加入Rust基金会。

谷歌表示,“基于谷歌在C/C++、编译器和工具链方面的长期投资,我们很高兴地宣布我们成为了Rust基金会的成员。我们期待更多地参与到Rust社区,尤其是在整个行业的关键问题上做出更多努力,包括与C++的互操作性、协调安全审查和降低crate更新的成本,并继续增加我们对现有Rust项目的投资”。

内存安全中的安全缺陷经常威胁设备的安全,特别是应用程序和操作系统上尤为明显。例如,在Android上,谷歌在2019年解决的安全漏洞中有一半以上来自内存安全漏洞。尽管谷歌和其他贡献者为Android开源项目投入了巨大的努力,他们参与投资或发明了各种技术,包括Address Sanitizer、改进的内存分配器、大量的fuzzers和其他代码检查工具,内存安全问题仍然不可小觑。

Rust是一种系统编程语言,它把对性能的低程度控制与现代语言特征相结合,同时它也关注内存安全。因此,谷歌希望能够扩展Rust在谷歌中的应用。谷歌表示,将继续对Rust基金会和Rust生态系统做出贡献。谷歌已经开始在那些对内存安全和性能要求极高的设置中使用了Rust,包括将其用在关键的Android系统中。

目前,谷歌正在使用Rust或对Rust生态系统有贡献的项目包括:

• Android中的操作系统模块,包括蓝牙和Keystore 2.0

•低级别的项目,例如Chrome OS中使用的crosvm虚拟机监视器和驱动程序(QEMU的替代方案)

•为使用Rust的开源项目做出的贡献,例如Mercurial源代码控制系统

• 固件的FIDO安全密钥支持

此外,还有许多其他项目正在评估Rust在新的库或产品中的使用情况。一些例子包括:

• 软件国际化项目,ICU4X

•部分新实验操作系统Fuchsia

• GPU字体渲染的研究

谷歌所支持的Rust项目及其维护者有:

•在curl中添加Rust代码

•与ISRG合作,将Rust TLS模块添加到Apache HTTP服务器项目

声明中,谷歌表示,“我们非常迫切地想要在整个行业中为现有的项目和库做出贡献并提供支持,同时希望在C++互操作性和安全审查等领域中发挥余力”。

Facebook、微软、谷歌与亚马逊争抢Rust人才

过去几个月以来,Amazon、Facebook、微软以及谷歌等科技巨头正疯狂吸纳人才市场上的Rust语言程序员。

去年,8月,Mozilla因盈利问题解雇了250名员工,其中包括Rust项目和Rust社区的成员。随后,一些Rust维护者加入了Amazon和Facebook等企业,领导他们新组建的Rust团队。Niko Matsakis加入了亚马逊,Patrick Walton加入了Face-book,成为Rust团队的技术负责人。

Facebook公司目前正全面招聘Rust开发人员。虽然新的Rust团队目前规模还不大,但Facebook打算“慢慢来”。该团队将重点确保Rust语言与Facebook现有C++代码相协调,构建代码库并提供用于支持系统顺利运行的Rust开源代码。

与此同时,微软软件工程合伙人Chris McKinsey提到,他们也建立了专项团队以支持公司内部的Rust项目,并与该语言社区合作整理说明文档、开发工具等。

在谷歌,自Mozilla投奔而来的Goregaokar目前正构建一套国际化Rust库,并有意继续投入该语言的开源项目开发中去。Goregaokar解释道,谷歌之所以选择Rust语言,部分原因是它能够与其他语言轻松集成。搜索巨头还使用Rust语言构建了Fuschia——这是一种全新操作系统,有望最终取代Android。

这场“抢人大战”,源自各方着力筹备的Rust团队组建计划。凭借着出色的内存效率、速度与安全性,Rust语言近年来的优势地位愈发明显。事实上,Rust正越来越被视为Go以及C++/C等传统编程语言的现代替代选项。

各大厂商开始使用Rust语言支持从网站到开发者工具、再到电子游戏的多种应用场景。Facebook一直在使用Rust语言构建Diem币(即原Libra币), Amazon则使用Rust为其无服务器平台Lambda(此平台允许开发者在无需管理底层服务器的前提下,轻松运行并扩展开发代码)等产品编写代码。

Rust人才的动向,也标志着该语言社区在发展进程中迎来了新的转折点。

负责维护Rust开源项目的团队核心成员Ashley Williams表示,在Mozilla着手裁员之后,该社区对Rust的未来命运确实有过忧虑。但好在各大科技巨头积极吸纳了Rust人才并计划对相关项目做出贡献,这无疑成为Rust语言未来看涨的明确信号。

Williams还在采访中指出,“面向未来,我们期待看到更多独特且令人兴奋的Rust使用方式。这是一种非常强大、非常安全的语言。Rust将在高质量软件套件的构建与协作领域发挥重要作用。”

十年来,Rust常登开发者最受欢迎编程语言榜

在过去的十年里,Rust是最受开发人员喜欢的语言之一。

自2016年起,据Stack Overflow开发者调查显示,由于许多开发人员开始更多选择Rust而不是Java来进行开发,Rust语言开始成为人们关注的焦点,大家希望Rust不仅仅是构建浏览器引擎的语言。

Rust逐渐开始在游戏开发、嵌入式设备、Web编程、网络、开发者工具以及其他软件领域发挥重要作用。根据微软GitHub上的数据,Rust采用率在2019年增长了235%,这也使其成为增长速度最快的编程语言之一。

开发者也对Rust表达了强烈的喜爱之情。在过去的五年中,Rust在StackOver-flow开发者调查最受欢迎的编程语言榜单中,一直位居榜首。

在2020年开发者调查中,有86.1 %的开发人员正在使用该语言或相关技术进行开发,并且有兴趣继续使用该语言。这几乎是C++收到的投票数量的两倍!在同一项调查中,美国本土的Rust开发者年薪中位数为13万美元。

Rust提出了“没有数据竞争的并发性”、“没有垃圾收集的内存安全”以及最终的“无恐惧的黑客”等概念,反映了Rust独特的学术研究和工业实用性结合价值。

Rust的影响不仅仅是技术上的。正如社区领袖在2016年发表的一系列博客文章所讨论的那样,Rust的产品既不是编程语言,也不是编译器。它遵循Rust的网站上的官方口号——一种让每个人都能构建可靠和高效软件的语言。

Rust基金会临时执行董事,核心团队成员Ashley Williams认为,一种语言赋予每个人,尤其是那些认为系统编程不适合他们的人。Rust项目最强大的驱动力之一是相信系统编程的力量,并承诺确保每个人都可以使用这种力量。Rust授权信息的核心可访问性激励了项目的每个部分,从一流的包管理和开发人员工具链,到信息和文档文化,到国际活动组织者和翻译人员,到行为准则和审核团队。

Rust不仅仅是一种编程语言和一个社区,Rust还代表了一种新的、激进的、在开源项目上进行合作的方式。Rust项目中的决策权是唯一的授权和分布,核心团队拥有更多特权。

自项目首次发布以来,Rust拥有100多名团队成员作为项目设计和维护的领导者,仅Rust-lang/Rust repo就有近6000名贡献者。通过Rust的RFC流程,超过1000人做出了将近500个决策,这些决策代表了该项目最关键和最具战略意义的产品和设计决策。

参考链接:

https://opensource.googleblog.com/2020/12/expanding-fuchsias-open-source-model.html

https://opensource.googleblog.com/2021/02/google-joins-Rust-foundation.html

https://foundation.Rust-lang.org/posts/2021-02-08-hello-world/