上周早些時(shí)候,微軟在即將發(fā)布的 .NET 6 中刪除了一個(gè)關(guān)鍵的熱重載功能,因而激怒了.NET 開源社區(qū)。剛剛,微軟已撤銷刪除“熱重載”的決定,并對此進(jìn)行道歉: “First and foremost, we want to apologize. We made a mistake in executing our decision and took longer than expected to respond back to the community.” 所謂“熱重載”(Hot Reload),是一個(gè)可以允許開發(fā)者在應(yīng)用程序運(yùn)行時(shí)更改源代碼,并立即看到效果的關(guān)鍵功能。 此前,微軟曾選擇將“熱重載”限制在自家的 Visual Studio 2022 上,如此一來該功能就僅適用于 Windows,且成本很高。據(jù) Verge 報(bào)道,該計(jì)劃由微軟開發(fā)部門總裁 Julia Liuson 決定刪除,理由是作為“以業(yè)務(wù)為中心的舉措”。 在從 .NET SDK repo 中刪除熱重載(Hot Reload)功能的操作引發(fā)開源社區(qū)一片“抗議”聲之后,微軟現(xiàn)已撤銷了從即將發(fā)布的 .NET6 版本中刪除該關(guān)鍵功能的計(jì)劃。由于微軟刪除該重要功能而受到強(qiáng)烈的反對,因此微軟也正式向開源社區(qū)致歉。 微軟在博客中解釋稱: “隨著 .NET 6 版本和 Visual Studio 2022 的發(fā)布時(shí)間越來越近,我們選擇首先將重點(diǎn)放在 VS2022 的熱重載上。我們在執(zhí)行該計(jì)劃時(shí)犯了一個(gè)錯(cuò)誤。” “我們無意中刪除了源代碼,而不是不調(diào)用該代碼路徑。我們低估了依賴該功能的開發(fā)人員的數(shù)量”。 在博客文章的最后,微軟再次表示道歉稱:“我們的愿望是為 .NET 創(chuàng)造一個(gè)開放和充滿活力的生態(tài)系統(tǒng)。和許多公司一樣,我們也正在學(xué)習(xí)在考慮 OSS 社區(qū)的需求和作為 .NET 的企業(yè)贊助商之間進(jìn)行平衡。” “有時(shí),我們無法做到這一點(diǎn)。當(dāng)我們沒有做到的時(shí)候,我們能做的就是從我們的錯(cuò)誤中學(xué)習(xí),并更好地向前發(fā)展。感謝大家多年來的所有反饋和貢獻(xiàn)。我們致力于在開放中發(fā)展 .NET,并期待著繼續(xù)與社區(qū)密切合作。” 剛剛,微軟方面已經(jīng)“approved the pull request”(批準(zhǔn)了拉動請求)以重新啟用此代碼路徑,該代碼路徑將包含在 .NET 6 SDK 的通用版本中。 盡管微軟公司已經(jīng)撤回了該計(jì)劃,且會是 .NET 社區(qū)喜聞樂見的結(jié)果,但一些外媒在評論文章中玄外之意是“該事件依舊給不少圈內(nèi)開發(fā)者心里留下了一些‘陰影’”。 當(dāng)然現(xiàn)在這件事情結(jié)果是好的,相信也正如微軟在博文中所說,在不斷探索和自我更新的過程中,未來將繼續(xù)與社區(qū)密切合作,為創(chuàng)造開放和充滿活力的生態(tài)系統(tǒng)而不斷前進(jìn)。