如何評價Node.js的新fork ayo.js?
https://github.com/ayojs/ayo
大海航行靠舵手,Node 基金會的管理層叫做技術舵手委員會(TSC)。Node 社區靠的是行為準則(COC)。
前不久委員會裡的 rvagg 的言行引發了爭論,讓委員會裡的一部分人覺得他違反了COC理應除名。在該不該將其除名的投票中,1票迴避(當事人),2票棄權,4票支持除名,6票反對除名,結果是 rvagg 繼續留在委員會。
然後這4人從 TSC 辭職,轉而創建這個fork,也就是 ayo.js 。
目前 ayo.js 項目里沒有實質性的代碼變更。
所以 ayo 的 fork 跟之前的 io.js 不是一回事,只是單純的源於政治上的爭議。
======
這個問題的關注者不少,一句話也不說是不好的。
我覺得作為用戶,沒必要在意這些爭議,我們用 Node.js 更多是技術上的考慮。觀眾們都散了吧,不如去關注一下 Node 8 又修復了哪些 bug。
======
補充:CTC將在本月底討論是否將 rvagg 除名,以下為 rvagg 的自辯和具體的日程。
Requesting Rod to step down or be removed from the CTC · Issue #165 · nodejs/CTC
https://github.com/nodejs/CTC/issues/171
事情始末見:Requesting Rod to step down or be removed from the CTC · Issue #165 · nodejs/CTC
值得一提的是,rvagg 是負責簽發 node release 的七人之一,代碼提交次數 node.js 排11,nan 排第2。
跟上一回 io.js 的分裂是技術線路之爭 (企業化求穩定 vs. 追逐最新技術) 完全不同,這一回技術上毫無意義。
從今年3月份就開始注意foundation里政治鬥爭最近激烈,沒想到最後發展到如此。上面同學的分析個人比較同意,ayo.js和當年的io.js的情況萬全不同。在我看來深層次的東西還很多,各種人物的背景,複雜的關係,怎麼互相懟的,為什麼有些人支持,有些人反對,而且很多討論的細節現在已經看不到或者刪除,以下是我找到一些內容分享出來。
首先介紹一下名詞和背景:
- Node.js foundation Board:
- 來自Foundation Member的代表:
- Member分為, 不同的Member權益有所不同,6個Platinum(IBM, Intel Joyent, Microsoft, Paypal, RedHat) , 2個Gold(NodeSource, GoDaddy),15個Silver
- 每個Platinum一個board席位
- 目前沒有Gold代表,有一個Silver的(GroupOn)的代表,奇怪
- 1個TSC Director
- 2個人代表,任期2年
- TSC (Technical Steering Committee): 負責Foundation的日常事務
- CTC (Core Technical Committee):負責node.js的技術推進
- 更多背景:
- 2014年12月,IO.js fork以反對Joyent對Node.js的控制,主要在於Joyent出於商業目的不同意緊跟v8的版本升級
- 2015年9月,Node.js和io.js合併,並且成立Node.js Foundation
主要人物(知乎不支持表格,只能貼圖了):
次要人物
導火線,3月board身份之爭:
- 2017年三月份有人發現Board的成員里有2位來自NodeSource,分別是故事的主人公Rod和NodeSource的發起人之一Dan Shawn,並且在board/issues/58里發起了討論。按照規定不能有2個以上供職於一家公司(Platinum除外),提出的方案是要麼該規則,要麼兩個人一個人需要退出。
- 3/30 Rod回復 Charlie Robbins: I know you"re viewing this as an opportunity to regain the board seat , https://github.com/nodejs/board/issues/58#issuecomment-290255685
- Ashleygwilliams 回復要修隱去公司,並且有personal attack
- Rod反抗說為什麼上面討論沒有隱去NodeSource和GoDaddy
- 事情就此擱置,直到8月底(細節已經找不到了)
8月事件回顧:
- TSC內部對Rod的指控(目前已經不可見,但是Rod的回復暴露了一些細節):
- 違反了Moderation,對貢獻者不友好,已經看不到實際證據,據說導致一些人不願意沒感到受到尊重,停止貢獻代碼
- 沒有聽取另外一位board的意見隱去公司名字,以及潛在的個人攻擊,見3月份board/58 和moderation/82 (已失效或者private)
- Rod的一個有關Code of Conduct的tweet, https://twitter.com/rvagg/status/887652116524707841
- 8/22 TSC公布了是否支持Rod退出TSC的決定的投票(TSC/issues/310),結果結果:60%反對。細節:13個成員,有效票10,2票棄權,Rod本人未投。
- 8/22當日:
- Anna Henningsen, Myles Borins( blog) , Jeremiah Senkpiel (TSC/pull/316 )宣布退出TSC,保留CTC
- Bryan Hughes完全退出Nodejs,後來被勸說把名字挪到了退休名單內
- Kat Marchán fork了Ayo
- 喀什討論TSC和CTC合併
- 8/25 Rod寫長文一一解釋3條指控,https://github.com/nodejs/CTC/issues/165#issuecomment-324798494
- 8/28 reddit(署名node_in_peace) 上一篇對Ashley Williams違反CoC的指控, TSC表示收到,並關閉了TSC/issues/324
- 8/29:
- Isaac Z. Schlueter發了一條comment,對CoC的重要性
- 署名ghost的用戶在TSC/issues/325 指出Kat Marchán的CoC,TSC表示收到並關閉,有趣的是ghost這個用戶目前顯示Deleted User, 沒有任何活動,但是有485個follower
- 8月30日,CTC和TSC合併完成,並進行新board的選舉,目前在nonimate階段
個人分析:
- Rod方面:
- Rod估計是性格比較strong的人,加上自己貢獻頗多,也曾擔任上街TSC的director,有些小膨脹也在所難免,具體參見各種大神比如Linus Torvalds
- 幾個退出TSC的人貢獻也很大,估計日常工作里受夠了Rod的強勢,日積月累,終於爆發。以暴露出來的一些case來看,其實都是有爭議性的,比如Bryan Hughes抱怨Rod不同把ioctl的介面完全暴露,這個case上我認為Rod有道理,就是態度有問題。
- Rod的反對者:
- 女性佔比頗高,包括Ashley Williams,Anna Henningsen還有Ayo.js的fork的人Kat Marchán。是Rod本身歧視女性,還是強強相遇必有一傷,不得而知
- Npm.inc 的職員很多,包括Ashley,Kat以及Issac,兩家公司有何故事,不得而知。
- Rod的支持者:
- 覺得Rod的聲明都有道理,並且聲討Rod的3點有些證據已經看不到了
- 關於對Ashley和Kat的指控,很多人發現雙重標準,即一方面指責Rod的3點,另一方面自己也在犯同樣的錯誤,甚至用詞更猛烈。
Ayo.js只是個幌子,大家對Node.js的感情和已經建立的影響力還是要考慮的。這件事情應該還沒結束,Rod態度會不會改善,新的TSC的組成會不會解決之前的各種問題,大家是否能再次戰爭一起,拭目以待。
如今的Nodejs社區熱度已經不是當初iojs分裂出去的時候了!只是fork一下代碼又沒什麼改動!說白了就是自己不服,然後搞點事情,引來關注!作為我們開發者來說,該幹嘛幹嘛
TSC身份是特權,但更是義務。如果TSC成員可以違反COC,而不用承擔責任,這無疑傷害了社區氛圍,引起潛在貢獻者的顧慮。
當然,這個事件不會對node社區有很大影響 — 大多數開發者都不會注意COC。
==
好好奇 @張秋怡 大神投的什麼票?:(
推薦閱讀:
※nodejs寫的小工具,如何使用命令行直接執行?而不是先調用js文件,具體情況往下看
※js很奇怪的問題,關於加法運算的問題?
※如何評價前端應用框架 dva?
※如何在 JS 中嵌入 HTML 代碼?
TAG:JavaScript | Nodejs |