天天看點

果然,Rust還是分叉了!

作者:51CTO
果然,Rust還是分叉了!

作者 | 徐傑承

審校 | 雲昭

一直以來,Rust都因其能夠提供極佳的記憶體安全保護、并發和高效的程式設計體驗而得到廣大開發者和大量科技企業的青睐。然而作為一款無論在特性還是采用率方面都十分成功的語言,Rust的項目治理卻存在着很多問題。

Rust基金會長期以來的官僚主義行為,使得Rust開源社群中的使用者怨聲載道,而不久前發生的“商标鬧劇”更是使将Rust的内亂推向了高潮。最終,部分無法忍受Rust基金會強權的社群成員對Rust進行了分叉并建立了CrabLang社群。

1、離譜草案引發的fork

其實就背景而言,Rust基金會與開源社群之間的關系本就如履薄冰。而在今年4月,Rust基金會就正在更新的商标政策在社群征求回報意見。在新版草案中,Rust基金會希望禁止在與Rust相關工具或用Rust編寫的軟體名稱中使用“Rust”,甚至在域名或子域名部分也有針對性限制。

果然,Rust還是分叉了!

這意味着若草案政策成立,将迫使許多基于Rust的開源項目為了合規而不得不更改名稱。對此,大量感到不滿的Rust社群成員向基金會提出了抗議,甚至有人直言,“希望基金會盡快放棄這項政策,否則将嚴重影響Rust語言的發展”。

雖然在社群的壓力之下,Rust基金會最終發表了新的聲明,并在更改商标政策草案的同時關閉了草案的回報表單,試圖平息這一争議事件。但經此一役,部分對Rust基金會徹底失望的使用者還是選擇将Rust進行了fork并成立了CrabLang社群分支。

2、CrabLang:新的烏托邦

在CrabLang的官方介紹中,他們表示社群分支的建立是對于企業和基金會提出的限制性商标政策而做出的回應。而Rust基金會的新草案正是引發社群fork的原因,CrabLang希望能夠通過一種更好的方式解決這個問題。

果然,Rust還是分叉了!

CrabLang的目的并不是取代Rust,如果使用者和社群成員對于Rust的現狀滿意,CrabLang會鼓勵使用者繼續使用Rust語言。CrabLang并不希望分裂社群,而是希望能夠幫助為Rust感到擔憂的人提供一種新的選擇,保障他們在使用、創造和推廣語言友善有更多自由。

CarbLang強調稱,其與Rust并非對立。fork的主要分支将繼續與Rust代碼庫保持同步。fork的主要目标是確定社群擁有一個與成員價值觀和開源願景相同的替代方案,讓社群可以在不被任何利益因素所幹擾的情況下茁壯成長。

果然,Rust還是分叉了!

CarbLang的發展源于社群成員對這門語言的熱愛,他們會盡可能保證成員與使用者在使用它的同時保留建立内容、推廣名稱或商标以及其他資産的能力,通過提供社群的驅動替代方案,CrabLang希望保持協作、創新和自由精神。CarbLang擁有Rust全部的記憶體安全功能,但不會有充滿官僚主義的作風。

3、Rust基金會作死不斷

然而對于CarbLang社群的一系列動作,Rust基金會卻顯得十分不屑。在一次公開采訪中,Rust核心團隊成員、Rust基金會原執行董事及創始人 Ashley Williams表示,fork更像是談判政策,她認為社群之中沒有人是語言專家。在這種情況下,沒有人會在意這個組織,他們隻能作出些滑稽的動作。

但很快,由Rust基金會主導的另一場鬧劇就狠狠打了這位趾高氣昂的上司者的臉。就在上周,RustConf2023的組織者找到即将于會上進行主題演講的JeanHeyd Meneide,讓他接受從“主題演講”降級為“正常演講”。而其中的原因是由于Rust基金會上司組的部分成員對JeanHeyd的膚色及演講主題感到不滿。

Rust上司組對JeanHeyd的不尊重引發了Rust社群中的“海嘯”。面對這種強權政策和種族歧視,Rust項目的核心貢獻者JT憤然辭去了Rust的工作并發文表示:基金會羞辱了該領域最重要的專家之一。這種情緒得到了社群強烈的響應,也使得社群中的大量無法忍受基金會行為的成員開始轉向CarbLang。

根據GitHub star history顯示,在四月釋出後,CarbLang在短期内獲得了1900+ stars。雖然增長在4月至5月期間開始放緩,但随着Rust基金會的再度作死,CarbLang的stars數量迎來了新一輪的暴漲,截止目前該項目已擁有3800+ stars,并且這一趨勢仍在延續。

果然,Rust還是分叉了!

4、Fork會是好的選擇嗎

事實上,在如今的開源社群中有很多知名項目都是forks。例如目前世界上最流行的Linux發行版Ubuntu便是Debian的一個分支;而擁有僅次于Chrmoe使用者群體數量的Mozilla Firefox也是從Mozilla應用程式套件中fork出來的,各種成功的案例比比皆是,但同樣也有許多項目最終失敗。

總而言之,fork開源項目有它的兩面性。新的項目要麼會在成員的支援下産生更多新的産品,并建立自己的生态系統;要麼則可能會随着主項目的繼續繁榮而逐漸走向衰落并最終慢慢消失。

然而CarbLang的分叉并不是為了取代或是重新創造Rust,用他們自己的話說,“我們并不反對這個項目的原始語言Rust,我們的主要目的是建立一個與開發者價值觀相同的社群,讓不滿于Rust現狀的人們能夠擁有更多選擇的權利。”

CarbLang的目标不同于以往絕大部分的fork項目,而對于其能否最終取得成功,開發者和社群成員的選擇與态度決定着一切。無論最後Rust和CarbLang會走向哪裡,這件事都證明了一個事實,即使是開源基金會,所謂的民主和開放治理也可能會存在問題,但開源精神始終在推動着一次又一次的創新。

參考連結:

https://github.com/crablang/crab

https://analyticsindiamag.com/internal-drama-unveiled-a-behind-the-scenes-look-at-rust/

https://www.jntrnr.com/why-i-left-rust/

https://crablang.org/

https://twitter.com/crablang

來源: 51CTO技術棧