...

在開源社區的強烈抗議(yì)下(xià) 微軟逆轉了(le)有爸請争議(yì)的.NET變化(huà)

2021-10-24

在開源社區的公開抗議(yì)下(xià),微軟正在改變從其即将發雪哥布的 .NET 6 中删除一(yī)個(gè劇冷)關(guān)鍵功能(néng)的決定。本周早些(xiē)時(s師下hí)候,微軟因為(wèi)商(shāng)業利益原因在即将發布的 .NET草站 6 中删除了(le) Hot Reload(熱重載)的一(yī)個(gè)文高關(guān)鍵部分(fēn),從而激怒了(le) .NET 開源社區從大,該功能(néng)允許開發者在應用運行時(shí)修改源代碼,并立即看到結果畫拍。

hotreload.gif

這(zhè)是一(yī)個(gè)許多人(rén)一(yī)直期待在 好章Visual Studio Code 和多個(gè)平台上(shàn輛嗎g)使用的功能(néng),直到微軟在最後一(yī)刻資嗎做出了(le)一(yī)個(gè)有争議(yì)的決定,将其鎖定在能東 Visual Studio 2022,這(zhè)是一(術她yī)個(gè)僅限于 Windows 的付費産品,據透露,最後一(yī)刻就厭的改變是由微軟開發者部門的負責人(rén) 行草Julia Liuson 做出的,是一(yī)個(gè)黃服以商(shāng)業利益為(wèi)考量的舉措術煙。

"微軟承認它犯了(le)一(yī)個(gè)錯誤&quo雜能t;

在引起反響後,微軟現(xiàn)在已經推翻了(le)這(zhè)一(yī)改變上森,微軟自己的許多員(yuán)工在公司内雜姐部也(yě)很憤怒。"我們在執訊做行我們的決定時(shí)犯了(le)一(yī)人為個(gè)錯誤,花了(le)比預期更長的時(shí)間(jiān月國)來(lái)回應社區,".NET 項目管理(l呢做ǐ)主任 Scott Hunter 解釋說(shu服冷ō)。微軟現(xiàn)在已經批準了(le)社區的體水拉動請求,重新(xīn)啟用這(zhè)玩放一(yī)功能(néng),它将在 .NET 6身拿 SDK 的最終版本中提供。

媒體(tǐ)要求微軟對一(yī)位高管下(xià)令改變這西樹(zhè)一(yī)事(shì)實進行評論,但(dàn)該公司不想討(tǎ用車o)論這(zhè)一(yī)有争議(yì)的決定。對報"我們已經采取措施來(lái)解決不行我們的一(yī)些(xiē) OSS 社區成員(yuán)遇到的問題,鐘頻"微軟發言人(rén)在一(yī)份章冷聲明中說(shuō)。"熱重載功能(néng)将出現(xi上間àn)在 11 月(yuè)(yuè) 8 日提供的 .NET 6 SD見路K 的一(yī)般可用性構建中。"

不過,微軟的博客文章并沒有談到這(zhè)站暗個(gè)有争議(yì)的決定。相反,它表明删除代碼而不是簡單地禁用它隻對分是一(yī)個(gè)錯誤,而不是一(yī)個(gè)商(shāng)木讀業決定。亨特說(shuō):"在我們努力擴大範圍的過程中,我們無意中中玩最終删除了(le)源代碼,而不是僅僅不調用該代近秒碼路(lù)徑,"。

雖然對 .NET 社區來(lái)說(shuō體間),這(zhè)種逆轉是值得歡迎的,但(dàn)對那些(xiē)又嗎重視(shì)這(zhè)種決策透明度的人(rén空章)來(lái)說(shuō),圍繞這(zhè)一(yī)事(shì)舊家件的解釋和情況不會讓他們感到輕松。

亨特說(shuō):"就(jiù)像許多公司一(yī)樣金輛,我們正在學習平衡開放(fàng)源碼軟件社區的需求和作(zuò)為(鄉子wèi) .NET 的企業贊助商(shāng),有時(shí)我們不能(n玩子éng)正确地處理(lǐ)這(zhè)個(g說謝è)問題。當我們沒有做到這(zhè)一(yī)點時(shí),我們錯在能(néng)做的就(jiù)是從我們的錯誤中學習,并更船地好(hǎo)(hǎo)地向前邁進。"

這(zhè)一(yī)事(shì)件發生(sh學明ēng)在 .NET 社區因微軟參與 .NET 基金(jīn愛船)會而産生(shēng)的數周動蕩之後。該基金(jīn)會是在林公 2014 年微軟将 .NET 開源時(shí)創建的喝遠,它應該是一(yī)個(gè)獨立的組織,其存又商在是為(wèi)了(le)改善 .NET 的開她內源軟件開發和合作(zuò)。一(yī)位辭職的董事(shì白開)會成員(yuán)最近對 .NET 基金(jīn)會的作(zu場也ò)用提出質疑,他問道:"在這(zh視頻è)裡是為(wèi)了(le)執行微軟對 .NET 開源看現的意志,還是為(wèi)了(le)幫助培養和促進業電一(yī)個(gè)健康的社區?"

最近的一(yī)場(chǎng)争論也(yě)導緻了(le唱行) .NET 基金(jīn)會執行董事(sh亮懂ì) Claire Novotny 最近辭職,還有人(rén)質你員疑鑒于微軟在其中的特權以及 .NET 基金(jīn)會的獨立性。微軟的這(土著zhè)一(yī)轉折無疑損害了(le)它十雜聽年來(lái)所建立的一(yī)些(xiē)開源工作(zuò),該公購船司在改善與 .NET 社區的關(guān)系以及圍繞其對但他 .NET 基金(jīn)會的影響的問題上(shàng)仍有現時許多工作(zuò)要做。

1.jpg

相關(guān)閱讀

微軟在最後一(yī)刻砍掉 .NET 6 熱重載代碼,結果煙吃惹惱開源社區

在薩蒂亞·納德拉接管了(le)微軟 CEO 的快習職務(wù)之後,這(zhè)家軟件巨頭一(yī)直在過去可票 10 年裡積極擁抱開源,并且主動傳達了(le)對 Linux 和開源社區的熱雪錯愛。五年前,該公司更是加入了(le) Linux 基金(jīn)市訊會,且官方對此表示了(le)贊許。然而由于 .NET 社區正長電在醞釀的一(yī)場(chǎng)風(fē小事ng)暴,所有這(zhè)些(xiē)善意,弟朋都正處于一(yī)觸即潰的危險邊緣。

據悉,微軟内部的一(yī)項有争議(yì)的商(shāng)業決策兵商,讓許多人(rén)都開始質疑該公司對開源的承諾。多個(gè)消息來(lái很分)源向 TheVerge 透露,此舉同樣激怒了(le)微軟自家的許多開錯時發者,但(dàn)他們卻被壓着不許公開抱怨。

具體(tǐ)說(shuō)來(lái)是,在本周即将發布的 嗎話.NET 6 中,這(zhè)家雷德蒙德軟件巨頭悄然删除了(le)多家 Hot Reload 的一(yī)個(gè)關(guān短還)鍵部分(fēn)。該功能(néng)基本上(shàng)允許開子房發者在創建項目時(shí)獲得即時(shí)反饋、并更改代碼要暗以立即查看結果。

與競争對手 Google 家的 Dart 編程語言和 Fl文朋utter 開發工具包來(lái)說(shu坐照ō),這(zhè)是微軟 .NET 框架的一大答(yī)個(gè)極大賣點,且該公司一(yī)直在在件積極将它引入 .NET 和 Visual Studio&n謝少bsp;集成開發環境。

微軟最初的計劃描述,是将 Hot Reload 帶道開給盡可能(néng)多的 .NET 開發時校者。然而最後一(yī)刻的更改,又将它局限在了(l門得e) Windows 平台上(s影短hàng)的 Visual Studio 開發人(弟區rén)員(yuán),而不是走向開放(fàng場冷)與跨多個(gè)平台使用。

微軟一(yī)直在測試接近最終版本的 .NET 6 候選發布你西(RC)版本,其允許開發者通過 dotnet watch 能區在各種環境和平台上(shàng)使用熱重載,包括流行的 VS Code國裡 開發環境。

候選發布通常意味着功能(néng)完好(hǎo)(hǎo)、做好(hǎo音理)(hǎo)了(le)投入生(shēng)産的準子亮備、且盡可能(néng)修複了(le)測試期間(jiān)發現(x妹白iàn)的各種錯誤。

2.png

然而本周早些(xiē)時(shí)候宣布的最後一(y爸從ī)分(fēn)鐘修改,又僅在 Visual S會唱tudio 2022 中啟用了(le)熱重載功能(金志néng)。負責該功能(néng)的微軟項目經理(lǐ) Dmitry 對花Lyalin 給出的理(lǐ)由是,其旨在為低東(wèi)大多數用戶提供最佳體(tǐ)驗。

但(dàn)是在 GitHub 上(sh錢厭àng),還是有大量開發者對此表達了(le)嚴重的挫敗感,Ha麗器cker News 和微軟官方播客文章下(xià)的評論也(yě)窗月是一(yī)篇罵聲。曾在微軟 F# 團隊工作(綠科zuò)的 Phillip Carter 在評論他關中寫道:

在查看了(le)源碼之後,我發現(xiàn)了(le)一(yī)個(gè)更讓高作人(rén)感到失望的事(shì)實 —— Hot Relo綠白ad 的支持代碼隻有 1~2 千行左右,但(dàn)它們還是在最後一(妹要yī)刻被撕票(piào)了(le)。

作(zuò)為(wèi)一(yī)項起初并不局限于 Visual S河光tudio 的功能(néng),這(zhè暗會)是一(yī)個(gè)明顯的倒退,我真不希望微軟就(南慢jiù)此走上(shàng)回頭路(lù)。

The Verge 了(le)解到,從 .NET 6 商下中删除該功能(néng)的決定,是由微軟開發部門負責人(rén) Juli體愛a Liuson 做出的。消息人(rén)士稱秒森,此舉是一(yī)項以業務(wù)為(wèi)主導的決定。

3.png

(傳送門:GitHub

顯然,微軟本想着偷偷引入這(zhè)項變化(喝術huà),且預計不會引發強烈的反對。

但(dàn)是對于長期在開源社區從事(shì) .N吧知ET 相關(guān)工作(zuò)的微軟自家工程師看來(lái)開票,連他們都感到了(le)深深的傷害與背叛,甚至擔心這(z花草hè)一(yī)決定會對微軟後續的開源工作(z愛笑uò)産生(shēng)持久不利的影響。

最初在 GitHub 上(shàng)曝光此事(s還公hì)的獨立開發者 Reily Wood 寫道:

如(rú)果你想獲得良好(hǎo)(hǎo)的開發體離裡(tǐ)驗,Visual Studio 無疑舞綠是最佳的選擇。但(dàn) .NET 團隊的所作(zuò)所為(wèi)我議,又與所有跨平台工作(zuò)背道而馳。

回顧 2014 年,當時(shí)微軟宣布了(le)要将 .NET 吧件開源。之後其本應保持獨立自治,以期改善 .NET 開源軟件的開發書街與寫作(zuò)。

然而近日,一(yī)位卸任的董事(shì拿腦)會成員(yuán)對 .NET 基金(jīn)會的角色提出了喝場(le)質疑,詢問它是否僅代表微軟的意願行事(shì)、還是緻力于幫助培要樹養和促進一(yī)個(gè)健康的社區?

更讓廣大開發者感到憤怒的是,微軟還鎖定并限制了睡綠(le)一(yī)個(gè)查詢請求,以删除 .NET 姐草6 中用于 dotnet watch 的熱重載功能(néng購雪) —— 這(zhè)嚴重阻礙了(le)社區評論、以及拒絕最後一(yī花雜)分(fēn)鐘的更改。

即使目前社區已經提交了(le)自己的查詢請求,以區拿撤銷微軟的這(zhè)項變動,但(dàn)現(xiàn)在看來(lái)也(y見黑ě)是不大可能(néng)得到回應的。


來(lái)源:cnBeta