從 Node.js 分裂出 Io.js 事件看開源軟件誰做主

jopen 9年前發布 | 14K 次閱讀 io.js

Node.js 作為服務器編程語言的后起之秀,常用來構建和運行 Web 應用,近日卻爆出其社區出現分裂。由于對官方運營商 Joyent 公司在 Node.js 管理上的長期不滿,多位核心開發者另立門戶,創建了分支 Io.js。從 GitHub 得知,Io.js 的第一個版本(1.0.0 alpha1 版)將于 2015 年 1 月 13 日發布。

Node.js 開源社區組織者 Mikeal Rogers 也是“另立門戶”中的一員,他說:“我們不想被另外一家公司任命的管理人員牽著鼻子走,而是想讓 Node.js 的貢獻者擁有更多的控制權,并尋求更多的共識。”

Io.js 與 Node.js 的分離,再一次凸顯出開源項目贊助商與其開發、維護人員及公司之間的矛盾。之前也有類似的情形,CoreOS 與 Docker 分家繼而推出自己的容器引擎 Rocket,也是因為 Docker 的部分社區成員認為母公司的管理偏離了原來的方向,從而導致一個新的競爭對手產生。

一般情況下,商業公司通過免費提供開源軟件,鼓勵用戶測試、改進源代碼,可以獲取巨額利潤。然而,這樣做的結果是,很難平衡商業公司與外部開發者、 使用者間不同的需求。云計算公司 Joyent 是 Node 編程語言的主要用戶,在滿足其自身需求的前提下,還通過 Node.js 的廣泛傳播和推廣獲利。這樣便陷入了一個怪圈,Joyent 不可能讓每個用戶都滿意,于是便上演了前文提到的分裂。

從 Node.js 分裂出 Io.js 事件看開源軟件誰做主

但是問題的關鍵在于,Node 分裂后是否有助于讓更多的公司和開發者來使用這款產品呢?Node.js 是一個基于 Chrome JavaScript 運行時建立、流行、開源、跨平臺的運行時環境,這種運行時環境正在改變開發者構建新應用的模式。自五年前發布以來,Node 便深受歡迎,現在已被諸多全球知名企業在其商業產品或服務軟件中采用,包括通用電氣公司、沃爾瑪這樣的企業巨頭,以及著名社交網站 LinkedIn、音樂應用 Rdio、打車軟件 Uber 這些科技新創企業。

分裂的背后原因

Node 最初是由 Ryan Dahl 于 2010 年 11 月發起的開源項目,旨在用 JavaScript 語言構建和運行大規模網絡服務及應用,而 JavaScript 是目前瀏覽器所使用的標準編碼語言。程序員之所以喜歡 JavaScript 語言,是因為它靈活易懂,只需使用一種語言便可實現瀏覽器與遠程服務器之間的代碼調試。并且,還很適合構建需要支持眾多同時在線用戶的應用,比如在線游 戲。

而在 2009 年,Joynent 雇用了 Ryan Dahl 并讓其專職負責 Node.js 的發展,在此同時,還獲取了 Node 的品牌使用權。三年后,Ryan Dahl 卻走下了 Node.js 的項目負責崗,不久便淡出了公眾視野。

在此之后,Node.js 開源項目繼續運行,并吸取了來自于不同公司編碼員,來一同構建這個平臺。但是在去年的一次訪談中,Mikeal Rogers 提到,自從 Ryan Dahl 離開后,Node.js 開源社區的貢獻者和 Joyent 發布的更新數量都在不斷縮減,甚至都有人發郵件過來詢問這個開源項目是不是已經不存在了。

從 Node.js 分裂出 Io.js 事件看開源軟件誰做主

這就是 Io.js 團隊決定和 Node 分道揚鑣的主要原因。這個項目創立之初便已經參與的五位重量級開發者,Io.js 分支囊括了其中四位。Joyent 目前維持的 Node.js 版本仍起著至關重要的作用,但是 Io.js 的開發團隊已經計劃在 2015 年初發布他們自己的平臺自定義版本,將使用全新的的谷歌 V8 JavaScript 引擎。

另一邊,Joyent 的首席技術官 Bryan Cantril 卻認為 Node 依然盛行,盡管其發展速度放緩。他解釋到,Joyent 將重點放在如何使 Node 的讀取速度更快、運行更加穩定上,而非一味的去增加新特征。并且,一定要把控社區貢獻者的質量,而不是數量。

分裂后新的起點

當然,Mikeal Rogers 沒必要因為 Node 面臨的問題去譴責 Joyent。但是,Io.js 團隊堅持的理想是創造一個全新的、獨立的基礎,服務于這個開源項目,而不受任何外在公司或個人的控制。這同時也說明,Io.js 團隊還未真正建立起這個基礎,因為他們仍對獲得 Joyent 授權使用 Node.js 商標報以希望。

一個全新獨立的基礎具備十分重要的意義,包括諾維 NPM、NodeSource 和 Strongloop 等許多公司,都依靠 Node 開源語言,并且 Io.js 團隊中的許多成員還受雇于這些公司。歷史上流傳最廣泛的開源項目也多數具備獨立的基礎,而不是受控于個別公司,像世界排名第一的 Web 服務器軟件 Apache,大數據處理平臺 Hadoop,操作系統 Linux 等。

從 Node.js 分裂出 Io.js 事件看開源軟件誰做主

但是近年來,隨著商業活動中開放源碼日益被廣泛接受,Joyent 和 Docker 采取的這種單一公司控制模式也開始流行起來,并且有時候這種模式運轉良好。例如:大行其道的編程框架,Ruby on Rails,依然由它的締造者 Basecamp 進行管理。

Joyent 通過驅動決策過程中能達成共識,進一步提高 Node 的兼容性,并且還成立了一個咨詢委員會,吸納了許多來自公司外部的開發者。但是對于許多人來說,這個咨詢委員會來得太慢、太遲了。

來自:  Wired/ www.lieyunwang.com

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!