Node.js 只是被 forked,不是被 f***ed
nodejs 分裂出另一個分支——iojs,很多人對這件事都大題小做。所以,一篇關于此事的文章甚至出現在wired上。
意料之中的是,每個人都著急忙慌的宣稱nodejs的厄運來了。有“在分成兩部分后,流行編碼工具的未來充滿疑問”這樣的文章,而我個人比較喜歡“流行編碼框架Node.js現在有重要分支”。
這樣的反應(回應)是保守的。 首先, 讓我們檢查一下為什么node.js首先被forked。據我的理解, 主要的問題是Joyent動作太慢。 創建新版本慢, 接收PRs也慢, 對社區里的建議反饋也慢。
最重要的是, Joyent為什么變成這樣真是不奇怪的。以前他們說 “當我們變更和添加特性時,是非常謹慎的, 添加它們需要正確的理由并能使之修復正確”。 基本上, Joyent知道他們即將站在某些大的(機會)的邊緣并且他們不想把事情搞砸。 “我們最不愿意做的事情已經在Node的生態系統中通過Python 2,Python 3的解決方案被創建”。
看起來iojs團隊有一個相當不同的開發模型。他們希望更快地發布,大規模的改變,新特性,社區有自由讓這個項目朝著他們希望的方向發展。他們沒有錯。
Joyent和iojs的策略都有各自的優點。他們的做法都沒有問題。
依我看來,這樣做有如下可能的結果:
- Nodejs 仍然更受歡迎,更工業化,與此同時,極端的開源用戶可以選擇iojs。
- iojs 因為其作為開源軟件的開發模式變得比Nodejs更好,然后Nodejs的用戶開始轉用iojs
- Nodejs 和 iojs 成為同樣的優秀的產品,軟件工程師同時使用它們。
這些都不是糟糕的結果。這就是開源之美。iojs創造一些很棒的東西,然后nodejs可以復制這些特性。相反的情形也可能會發生。開源中存在“部 落”這種想法是愚蠢的。任何人可以在任何時候復制其他的人。不出意外的話,他們的競爭會共同提升雙方軟件的質量。就像是說,“等著瞧,我將會寫一個比你的 自由軟件更好的版本然后你可以在任何時候復制我的改進。“
現在,一些人會抱怨碎片化。我有兩個觀點:
- 碎片化一直都存在著。看看現在有多少javascript的前端框架。碎片化是生態系統健康的正常現象。它意味著有很多熱心的人希望能給同一平臺創造更好的工具。
- iojs特別指出它會是node和npm兼容的。這可能會消除碎片化這一問題,因為針對這兩個平臺開發的軟件包是互相兼容的。
在iojs上發生的事情使之成為開源世界正常的一部分。 哦, 它開始是與meanio和meanjs一起,現在是我最喜歡的框架。 壞消息總是被點擊, 開發者似乎特別會抓住或盯著 “X框架已死,每個人都離開了Y框架”不放。
我認為令人驚訝的是iojs在引擎的工作上能做到什么。如果他們在一個適當的技術上進行工作, 他們將沒有這樣的選項。與之代替的是,他們可以繼續以他們的方式為軟件共享一些驚訝的部分。 這是開放代碼的自由。
javascript的未來看起來耀眼,閃亮,并且充滿回調。我(為此)感到興奮。
本文地址:http://www.oschina.net/translate/node-js-is-forked-not-f-ed
原文地址:http://wesleyio.tumblr.com/post/104637877991/node-js-is-forked-not-f-ed