近些年來,微軟對于開源看似已開始呈現(xiàn)一種擁抱的姿態(tài),其中值得一提的是 微軟在 2014 年成立與贊助的一個獨立自由軟件組織——.NET 基金會。
.NET 基金會成立的宗旨,在于推進與維護微軟開放源碼后的 .NET 框架,同時也希望成為連接軟件社群與商業(yè)開發(fā)者之間的橋梁,以此擴大 .NET 框架技術的軟件生態(tài)系統(tǒng)。
愿景是美好的,可現(xiàn)實卻頗為諷刺。近日,.NET 基金會前董事會成員及 ReactiveUI 核心維護者 Rodney Littles II 向 .NET 基金會質問道:“你是為了在 .NET 開源上執(zhí)行微軟的意愿,還是來幫助培養(yǎng)和促進一個健康社區(qū)的形成?”
1 本不欲多說,但 .NET 基金會扭曲真相
上文提到,Rodney Littles II 是 .NET 基金會的前董事會成員,因此在他決定卸任后,按照基金會的章程規(guī)定,需要選出一位替補成員。而本次事件的起因,就是 9 月 22 日 .NET 基金會發(fā)布的 2021 年董事會選舉結果通知:
乍看之下,這則通知并沒有什么不妥之處:先說明是由于 Rodney Littles II 的辭職才要選出新的董事會成員,然后公布名單,最后展望一下未來并感謝所有參與者。
但恰恰就是其中那一句看似客套的“Rodney Littles II 已重新專注于個人生活,我們祝他一切順利”引起了許多人的關心,他們向 Rodney Littles II 詢問是否發(fā)生了什么事,因而惹惱了 Rodney Littles II:“我很好,我并不是因為個人生活有問題才離開董事會的?!?/p>
本來 Rodney Littles II 什么都不打算說,但這則通知的整個第二段都在講他,看起來是在送他一個美好的祝愿,實際上卻是未經(jīng)他同意并核對的情況下,為 .NET 基金會營造一種虛偽的“透明”機制,(在此之前,.NET 基金會從未對離開的成員表示過這類“祝愿”,甚至都不會提及他們。)而 Rodney Littles II 會離開,也正因如此。
在 Rodney Littles II 剛當上 .NET 基金會董事會成員時,他躊躇滿志,天真地以為可以將 .NET 基金會引導到一個以社區(qū)為中心的組織。但現(xiàn)實情況是,一直以來他都沒有實現(xiàn)這個目標,甚至親眼目睹了一個他很喜歡的基金會項目逐漸衰落。
“基金會的一切都在幕后謹慎處理,即便身為董事會成員,我都不了解完整的故事。”Rodney Littles II無奈表示:“我看著微軟‘殺’了一個開源項目,社區(qū)里的朋友要求基金會對此進行解釋,而我卻感到無能為力。”
在他任職期間,.NET 基金會曾推出了一個名為 Project Maturity 的試點項目,其中包括旨在提高軟件質量的“成熟度配置文件”,對此,Rodney Littles II 其實是抱有疑惑的:“成熟度模型存在一個問題,那就是它看起來過于微軟官僚主義了。”隨后,由于該項目被眾多社區(qū)成員抱怨其影響范圍過大,不久后就被放棄了。
2 .NET 基金會與微軟之間的獨立性不夠
彼時 Rodney Littles II 意識到了,這已完全與最初他進入 .NET 基金會的初衷背道而馳。在基金會里,他想解決的開源可持續(xù)性問題根本無從下手,相比加倍努力去贏得少數(shù)人的青睞,安靜離開顯然是更好的選擇,并且他也很清楚,.NET 基金會其實根本就不關心它的成員:“據(jù)我所知,.NET 基金會沒有為其任何成員培養(yǎng)任何東西,反而在不斷進行破壞?!?/p>
因此他決定回到屬于他的地方,一個他真正可以發(fā)揮作用的地方:ReactiveUI。在這里,他只是一個社區(qū)成員,而不再是微軟開源軟件(MOSS)的某個監(jiān)督者。
在辭職時,Rodney Littles II 明確表達了他想要“一個有更多時間和動力來推動 .NET 基金會的使命的人”來接替他,全程沒有提到有關他個人生活的事情,因此在他看來,基金會這番說辭不過是展現(xiàn)它主張的“透明”與虛偽的“善意”。
脫離基金會的 Rodney Littles II 在接受 The Register 的采訪時提到:“.NET 基金會與微軟之間的獨立性不夠,對其成員項目的幫助太少,缺乏強烈的使命感,因此基金會沒有一個統(tǒng)一的前進方向。”
3 .NET 基金會潛藏的問題被不斷公開
一石激起千層浪,在 Rodney Littles II 分享他的經(jīng)歷后,越來越多人也開始揭露 .NET 基金會背后的問題。
未經(jīng)討論,擅自合并 PR
首先,兩周前 .NET 基金會執(zhí)行董事 Claire Novotny 在沒有與任何維護者討論的前提下,將一個 PR 合并到她已多年沒有參與維護的一個項目中——ReactiveUI 的 Splat 項目,她給出的理由是“應.NET 基金會的項目要求”:
Claire Novotny 的這個舉動令 ReactiveUI 項目的主要維護者 Glenn Watson 感到迷惑不已:“請解釋一下這是什么問題,而且你沒有與任何維護者討論過。”
強行將成員項目從 GitHub 轉移到 .NET 基金會的 GitHub Enterprise
這件事引發(fā)的后果是,Glenn Watson 表示,在項目維護者均不知情的情況下,ReactiveUI 已轉移到 .NET 的 GitHub Enterprise 存儲庫而非公共存儲庫,并且據(jù)他了解,許多其他的基金會成員項目也都從公共存儲庫中進行了轉移,其中就包括 WiX 工具集。
WiX 工具集的開發(fā)者 Rob Mensching 也寫了一篇博文講述他的經(jīng)歷:
今年 8 月,.NET 基金會以“新政策”為由,開始對 Rob Mensching 進行反復提(sao)醒(rao),要求獲得 WiX 工具集的管理員訪問權限。原本 Rob Mensching 堅持拒絕,但原先由基金會在 WiX 工具集中安裝的 CLA 機器人出現(xiàn)了一些問題,因此為了修復 CLA 機器人,Rob Mensching 最終還是對 .NET 基金會開放了管理員權限。
而在看到 Glenn Watson 說 ReactiveUI 莫名被轉移到 .NET的 GitHub Enterprise 存儲庫之后,Rob Mensching 突然感到渾身冰冷:“.NET 基金會能做到不與項目維護者討論就實現(xiàn)這一操作的唯一方法是——獲得項目的管理員訪問權限。”
原本 Rob Mensching 還抱著“他們應該不會背叛我”的僥幸心理,但查看之后的結果卻是:“他們真的這樣做了,WiX 工具集在沒有任何討論或提醒的情況下被轉移到了 .NET 基金會的 GitHub Enterprise。”
雖然最后 Rob Mensching 成功將 WiX 工具集轉移了回來,但他依舊對此感到十分痛苦:“很久之前,我一直努力想成為一名優(yōu)秀的 OSS(開源軟件)成員,但現(xiàn)在,.NET 基金會在玷污我在努力創(chuàng)建的項目?!?/p>
4 道歉了,也辭職了,但社區(qū)成員并不買賬
在以上事件持續(xù)發(fā)酵,質疑的聲音越來越大后,.NET 基金會終于開始進行了回應。
先是.NET 基金會執(zhí)行董事 Claire Novotny 在 10 月 7 號出來道歉:
“上周我犯了一個錯誤。當時我做了一個 PR 并將它合并到一個項目中而沒有與維護者討論。雖然我作為創(chuàng)始人和維護者參與了這個項目很多年——早在基金會之前——但我近年來已經(jīng)很少活躍在這個項目中,因此我越界了,我沒有考慮到從我當前的角色來看這個舉動會造成怎樣的影響?!?/p>
但社區(qū)成員對 Claire Novotny 這一看似道歉實則是在辯解與美化 .NET 基金會的長文并不買賬,Akka.net 維護者 Aaron Stannard 更是直言道:“這完全不是道歉,只是滿足了我和其他人對 .NET 基金會公開聲明的最低期望?!?/p>
隨后,在 10 月 9 號 .NET 基金會突然宣布 Claire Novotny 已向董事會發(fā)送了辭職信,董事會也接受了她的離開:“董事會今天早上開會并決定接受它,因為這符合 .NET 社區(qū)、.NET 基金會和 Claire 的最大利益。”
對此,開發(fā)者們依舊不接受。@ADefWebserver 評論道:“我覺得這是‘校園欺凌’?!盄FiniteReality 表示贊同:“PR 根本就不是最大的問題,甚至在 .NET 基金會目前存在的問題中,它連前十都排不上,這只是方便為替罪羊找個借口罷了?!?/p>
5 基金會終于有了實質舉措
.NET 基金會的新董事會成員,也是微軟 MVP、曾領導 NUnit 測試框架團隊并為眾多開源項目做出貢獻的 Rob Prouse,代表基金會為曾把項目代碼強行移至 GitHub Enterprise 帳戶的行為道歉:“這個舉動是錯誤的,董事會對發(fā)生這種情況深感遺憾?!?/p>
Rob Prouse 指出,原本將代碼轉移至基金會的 GitHub Enterprise 賬戶主要有兩個目的:
一、集中計費,讓成員項目可以訪問其他 GitHub 服務;
二、通過使用可獲得的管理員訪問權限,確保成員項目的連續(xù)性。
他表示,基金會已從此次事件中吸取到了教訓:“我們應該向項目維護者詢問是否要加入 GitHub Enterprise 帳戶,并說清楚其中的好處。”
作為彌補措施,Rob Prouse 表示目前所有項目都可以申請從 GitHub Enterprise 帳戶中刪除,.NET 基金會項目委員會將聯(lián)系所有受影響的維護者,若有遺漏,開發(fā)者也可以郵件告知。
Rob Prouse 在這封聲明的最后強調(diào)了一句:“.NET 基金會只會在獲得維護者同意并根據(jù)文件政策對其運營的基礎設施進行更改。”
對于這番決定,開發(fā)者們終于稍微平復了:
@ghuntley:“這才是方法?!?/p>
@SeanKilleen:“我很欣賞這種立場以及開始糾正事情的努力?!?/p>
雖然 .NET 基金會對于 PR 和 GitHub Enterprise 的問題提供了回應與解決方案,但針對最初 Rodney Littles II 質問的那句“你是為了在 .NET 開源上執(zhí)行微軟的意愿,還是來幫助培養(yǎng)和促進一個健康社區(qū)的形成”,.NET 基金會至今都沒有正面回答,或許未來也不會有答案。
那么,你對這一事件有何看法?你認為當前問題重重的 .NET 基金會還能挽回開源開發(fā)者的信任嗎?
參考鏈接:
https://rodneylittlesii.com/posts/topic/foundation-echo-chamber
https://robmensching.com/blog/posts/2021/10/6/how-the-.net-foundation-kerfuffle-became-a-brouhaha/
https://www.theregister.com/2021/10/13/net_foundation_admits_it_violated/
https://github.com/dotnet-foundation/Home/discussions/59
https://github.com/dotnet-foundation/Home/discussions/39
本文來自微信公眾號 “CSDN”(ID:CSDNnews),整理:鄭麗媛,36氪經(jīng)授權發(fā)布。
- 濕地之美|廣州海珠濕地
- (熱點觀察 漫評)美國對歐洲盟友“下狠手”
- 全球微動態(tài)丨德媒文章:政治極化愈演愈烈,美國民主面臨墮落
- 每日觀察!海河觀津丨百萬候鳥來“息”,它們?yōu)楹纹珢郾贝蟾郏?/a>
- 焦點!一起來拍中國空間站!
- 焦點播報:北京新增本土感染者16例 詳情公布
- 天天快看點丨遼寧匯聚高校校友資源 引青年人才在遼創(chuàng)新創(chuàng)業(yè)
- 每日熱文:夢天成功發(fā)射!天空飄來一個字:6
- 環(huán)球最資訊丨長圖丨“院士天團”做優(yōu)“湖南飯”,該是什么味?
- 常益懷等5市州明早有大霧 出行請注意安全
- 環(huán)球動態(tài):11月全省溫高干旱持續(xù)發(fā)展
- 【全球獨家】10月制造業(yè)PMI為49.2% 建筑業(yè)景氣水平較高
- 環(huán)球今日訊!亞馬遜營業(yè)利潤率下降至2% 國內(nèi)頭部電商或進一步搶占海外市場
- 國家藥監(jiān)局:促進彩色隱形眼鏡生產(chǎn)經(jīng)營企業(yè)規(guī)范化發(fā)展
- 即時焦點:智慧芽升級科創(chuàng)力評估平臺 累計上線12條產(chǎn)業(yè)技術鏈
- 【世界熱聞】內(nèi)蒙古啟動人力資源誠信服務示范機構評選
- 環(huán)球觀焦點:內(nèi)蒙古:這5項職業(yè)資格考試暫停
- 全球熱門:飛天圓夢|靜待夢天,中國空間站在軌建造收官在即
- 飛天圓夢|“夢天”已就位!楊利偉動情講述“初代”航天人故事
- 對標保時捷Taycan?大眾中國功勛蘇偉銘親自下場造車