close

【CSDN 編者按】在過去的24個月中,發展迅猛,開發者的數量從60萬漲到了220萬。過去C/C++、Java等是大廠的常用語言,現在Rust也逐漸嶄露頭角,谷歌、亞馬遜等公司都開始採用Rust 了。隨着開發人員暴漲,社區貢獻的志願者越來越多,未來的Rust會朝着最流行的行列靠攏嗎?

原文鏈接:https://thestack.technology/rust-language-explosive-growth-challenges-rust-governance/

本文由CSDN翻譯,未經授權禁止轉載。

譯者 | 章雨銘 責編 | 屠敏
出品 | CSDN(ID:CSDNnews)

編程語言界,Rust正在迎來自己的高光時刻。

根據SlashData2021年開發者報告的數據顯示,使用Rust編程的開發人員在過去24個月內增長了兩倍,達到220萬。在行業內,Rust語言也得到了很多領先的CISO(首席信息安全官)的支持,企業對其的接受程度也在不斷地提高,比如Canonical、Chef、Cloudflare、Deliveroo等公司都在使用Rust。(列舉的只是小部分公司)

C和C++分別誕生於1972年和1983年,作為許多現代軟件的構建模塊,它們無處不在。但是用C和C++構建也還是容易出現關於內存安全的問題,從而導致下游的嚴重安全漏洞。相比之下,Rust這種語言會更安全地處理內存管理和其他對安全性要求高的任務。(在Rust中,編譯器扮演着守門員的角色,它能夠拒絕編譯一些有錯誤的代碼,包括並發性錯誤。)

當然,對於一些為了美觀編寫整齊的代碼的碼農來說,這並不值得太過於擔憂。谷歌的Project Zero安全研究團隊上個月的分析中發現,在2021年發現的58個被利用的零日漏洞中,有67%是內存損壞漏洞。內存安全問題往往會造成網絡安全問題。在這方面很容易就能找到很多例子。比如,微軟所有的CVE中,大約有70%是內存安全問題。以及三分之二的Linux內核泄露也是來自安全問題。

粗略的說,用Rust構建不容易出現這些問題,而且Rust開發者們已經形成了一個非常強大的開發者社區,他們關心性能、內存安全等問題。

多而雜的事情需要基金會處理

誕生於2006年的Rust,是Graydon Hoare在Mozilla的副業項目。作為一個開源項目,其維護者主要以志願者身份自主工作。自2015年Rust 1.0推出以來,該項目一直自主運作——該版本有53個貢獻者,主要由Brian Anderson和Patrick Walton與Hoare一起構建。

直到2020年,隨着Rust基金會的成立,結束了Rust沒有一個獨立組織管理的局面。而由於贊助商Mozilla基金會進行了全面裁員最終才促使了Rust基金會的成立,這種情況引起了社區中很多人對Rust未來的擔憂,社區所面臨的挑戰也逐漸凸顯出來。(Rust總共有6621名個人貢獻者,平均有300人對最近的版本做出貢獻。)

(Rust基金會)

Rust基金會本身的規模並不大,是一個由四個人組成的非營利組織,由Rebecca Rumbul博士領導。

Rebecca Rumbul博士是一位經驗豐富的非政府組織的董事,還曾是廣告標準局的理事會成員、Hansard協會的受託人以及隱私集體的英國代表索賠人。2021年11月,Rebecca Rumbul成為Rust基金會的CEO,她將工作描述為「建立一個團隊,坦率地說,我可以做所有『無聊』的事:處理所有關於法律、會計、財務、商標和許可證的事情、那些人們不願意在休息時間做的事情以及提供儘可能多的基礎設備和支持、以便減少維護者社區對項目管理產生過多的擔憂。」

在今年早些時候的一篇博客中,她詳細地介紹了最近的工作,從確保Rust在美國之外的商標使用,到創建、管理和組織由Rust基金會贊助的社區支持項目的法律、財務和行政工作等。

她在那篇博客中指出,「在關於法律、安全和合規的問題上,我們仍然需要做大量的工作。」

並在與The Stack的談話中補充道:「Rust是從Mozilla中分離出來的,而且Mozilla並沒有真正計劃長期管理它。因此,很多基本的事也需要我們來完成,比如商標或者一些非常罕見的法律問題。我們為項目的開發提供基礎設施,所以我們需要負責遵守項目落地的地方法律。我們試圖加強在基金會內部以及與項目社區合作的程序,這其中甚至包含了一些很小的事情需要處理,比如確保有人退出某個工作組時有一個既定的流程、確保有合適的基礎設施支持、確保能夠及時發現空缺,如果有人在休假,能夠安排合適的人代替、管理雲計算計劃等等。還有一些在管理複雜關係之上的問題。例如,4月的Rust基金會會議記錄中顯示,收到來自其他Sliver(贊助)成員公司的反饋,認為Rust社區的某些貢獻者正在代表其僱主,即基金會董事會的大公司,影響Rust的發展。」

一個贊助商甚至認為,成員公司很難影響Rust的發展。與此同時,不斷壯大的Rust維護者隊伍在繼續推動Rust發展——例如,語言、庫和編譯器團隊最近都發布了其計劃表,Rust語言團隊的目標時間是2024年、編譯器團隊是2022年,而庫團隊沒有指定具體的時間。(不過如果深入了解了庫團隊的計劃表,就能感受到其中的複雜挑戰)

和許多開源項目一樣,許多關鍵貢獻者都是志願者,儘管Rust基金會擁有谷歌、華為、Meta、微軟和Mozilla等 "白金 "贊助商,這些大公司似乎還沒有撥出大筆資金來支持維護者。不過,2022年啟動的Rust基金會社區自主項目預算為62.5萬美金,並且會提供四種類型的資助。如下:

Rust基金會獎學金:價值1,000美元/月的一年期獎學金(共20個).;

項目資助:單項獎,用於支持1,000美元到20,000美元的獨立作品;

活動支持補助金:單項獎,金額從100美元到500美元不等,支持活動開展;

困難獎補助金:單項獎,金額從500美元到1500美元不等。

Rust的未來

隨着企業對Rust的興趣不斷增長,Rust的企業贊助商和基金會如何更好地支持Rust發展呢?對此,Rust庫團隊負責人Mara Bos在與The Stack的談話中給出了回答。

資助開源,公司不能只顧自身利益

「Rust的發展依靠的是很多志願者做他們喜歡的工作,以及做他們認為對項目最有利的事。公司應該盡力地支持這一點,而不只是關注自己對Rust的近期目標。有很多公司會為了實現他們特定的新功能而贊助很多錢,但是很少有公司會在沒有具體任務的情況下提供贊助。這意味着很多工作,如組織、審查、探索、一般維護、重構和清理、文檔、貢獻者指南等等,大部分仍然是無償/無贊助的。」

(Rust庫團隊負責人Mara Bos)

Mara Bos提到Go維護者Filippo Valsorda最近的一篇文章中的話:「要成功資助一個開源項目,公司需要資助的是維護者,並且金額要與他們作為高級工程師收入相當。」另外,Mara Bos補充道:「這類工作對項目來說非常重要,可以說比創建新功能更加重要。因為這類工作讓人焦頭爛額,做着一些保持項目健康發展所必須的基礎性工作。對我來說,無附帶條件的贊助才能讓我最大限度地做對項目有利的事。」

關於企業贊助商試圖為自己的利益而影響Rust語言的發展方向的問題,Mara Bos表示:「這不是我現在關心的事情。每一個Rust的貢獻者都有自己的目標,所以這個項目才一直在處理許多潛在的衝突目標。如果參與決策的每個人都為同一家公司工作,而這家公司一開始為項目進行了管理和規劃,那麼這個項目就好像是公司的一部分,而不是他們只是在為之做出貢獻的獨立項目,那就會成為一個問題。Rust領導層的每一個人都對項目的獨立性非常關心,如果僱主試圖強迫他們做一些不符合Rust項目最佳利益的事情,他們就會進行反抗。如果一個人的下一次獎金或晉升和Rust項目是否接受他們的新功能掛鈎時,他可能會感到更多的壓力,這可能會導致做出決定的團隊面臨更大的壓力。順便說一下,Rust是通過共識而不是多數票來做決定的。」

「即使團隊中大多數人都同意也不足以讓決策實施。需要決策團隊中的任何成員都不能對一項永久性的改變有任何反對意見,這樣決策才能被接受。因此,要影響那些對項目最有利的決定並不是件容易的事。」Mara Bos在電子郵件中補充說。

除了在基金會工作,其他人也在其他領域努力。例如,由由Ernest Kissiedu和Beni Issembert領導的DevX計劃(最初由Concordium提供支持),旨在「彌補從(F)OSS工具中受益的企業與構建和維護這些工具的服務不足的社區之間的差距」,他們不僅共同創立了Rust Cryptography興趣小組,而且支持Rust形式驗證興趣小組,並贊助Rust項目的五名維護者七個月。

(Josh Triplett,Rust 語言團隊的聯合負責人)

Rust語言團隊的聯合領導Josh Triplett(也是DevX贊助的顧問)很高興看到這裡有各種各樣的努力。他說道:「贊助必須通過任何特定的組織或實體,這是沒有道理的。」「許多公司在贊助Rust開發者方面已經領先了很長時間,比如Embark工作室、Ockam、Discord等等。DevX正試圖協調多家公司的關係,使其聯合起來,以便能夠做更大規模的贊助。Rust基金會開始了他們自己的贊助工作,這非常重要。」

面對暴漲的開發者,Rust的發展路線需要更加謹慎

Triplett補充說:「我們正在讓Rust變得更加實用、把以前只在內部使用的工具帶到更廣泛的社區,以及推動Rust社區的擴展與合作。我們一直在思考,如果Rust要擴展到不止是兩倍的用戶,而是一百倍,他們都有自己的用例、目標和背景,那麼Rust需要發展成什麼樣子。我認為2024年的路線圖應該從這個方向開始。Rust走的是一條非常謹慎的路線,我們希望聽到人們能夠說他們能夠感受到Rust的支持,因為它很穩定,而且讓人相信其不會崩潰。」

在關於是否希望看到社區能夠有更多的成就上,Triplett表示:」在實踐和統一之間有一個連續的循環:我們嘗試解決一類問題的方法,隨着時間的推移,我們圍繞共同的解決方案進行統一,作為未來工作的基礎。」

「現在,我期待步調一致。例如,在標準庫中標準化異步特徵的工作讓我感到很興奮,因為人們可以編寫異步代碼,而不必擔心他們應該使用哪個框架。我最期待的下一輪實驗是基於能力的系統,比如I/O安全工作、Rustix庫、WASI及其模塊鏈接······」

不斷出現的許可證問題

與此同時,在Rust基金會,關於許可證的問題一直不斷出現。「Rust主要是在MIT許可證和Apache許可證(2.0版)的條款下發布的,還有一部分是在各種類似BSD的許可證下發布的。」

Mara Bos說:「大部分的貢獻者都認為這算不上挑戰。Rust(以及幾乎整個Rust生態系統)使用的是非常寬鬆的許可證......開源和資本主義不相容的方式並不是通過許可證來解決的,而是需要更大的文化變革。我不認為Rust的許可證會改變,即使做出改變可並非讓人難以置信。也許我們只是需要對許可進行一些澄清,使其更清楚地了解哪些條款到底適用於哪些部分。」但實際上,Rust基金會表示,他們接到了許多企業用戶要求澄清的電話。

正如Rebecca Rumbul所說的那樣:「目前我的當務之急只是,做一個全面的審計。我們認識到缺乏清晰度是一個問題,我們每周都會收到幾封電子郵件提到,『你能告訴我,如果我們使用Y,是否可以做X?』我們非常幸運擁有很好的律師,所以能夠回答出個別問題。但如果Rust繼續以這樣的速度發展,這些問題將會接踵而至,變得難以管理。任重道遠。實際上,我想很多維護者社區參與到一種工作小組中來,在那裡可以運用他們的專業知識,但是我也不清楚將會發生些什麼。

「但其實Rust基金會對於維護社區沒有控制權,我們的存在是為了嘗試和管理語言,並且確保語言的持續發展和取得成功。但我們也必須確保我們與社區的需求保持一致,了解他們想要什麼,以及他們想怎麼做。一些開源項目有點陷入困境,因為開源社區有他們自己的想法,有自己的個人/競爭權力結構。如果我想強迫人們做一些事情,那麼我就像是在為企業工作,不是嗎?」

— 推薦閱讀—
☞C++ 即將超越 Java,TIOBE 6 月編程語言排行榜發布!
☞蘋果將造搜索引擎?
☞圓周率 π 小數點第 100 萬億數字是多少?Google 用 Debian 服務器給出了答案

一鍵三連 「分享」「點讚」「在看」

成就一億技術人

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()