逃离被微软支配的恐惧,.NET 开发者们 Fork 了一个开源分支

逃离被微软支配的恐惧,.NET 开发者们 Fork 了一个开源分支
文章图片
“不用担心微软讨厌谁 , 或者本周有什么语言或框架被宣布死亡 。 相反 , 要拥抱进步 , 积极自我提高 。 ”
一个月前 , 微软从.NET6中悄悄删除HotReload功能 , 从商业策略出发只为VisualStudio付费用户提供 , 这件事情引发了广大开发者的强烈抗议 。 虽然微软最后迫于形势更改了决策 , 并给予了道歉 , 但显然还无法平息大家的愤怒 。
昨天 , HackerNews热榜上又一条关于.NET的消息爬了上来:“TheMicrosoft.NETplatformhasbeenforked:IntroducingOpen.NET” 。
在Open.NET项目的GitHub页面中 , 创建者们表示希望能有一个不受微软控制的“Open.NET”社区 , 能让.NET完成向开放编程语言的过渡 。 他们强调说 , 其它开源编程语言都是在开放环境中开发的 , 而不是像.NET这样隔离大量开发人员进行黑箱操作 。
逃离被微软支配的恐惧,.NET 开发者们 Fork 了一个开源分支
文章图片
微软上个月做出的这个商业决策 , 无疑深深伤害了开发者的感情 。 对于那些仍然讨厌微软的人来说 , 它将成为又一个说明“微软让人无法信任”的例子 。
事件回顾:无视开发者 , 微软不断加强对.NET的控制
10月20日 , 社区发现微软在即将发布的.NET6中悄悄删除了HotReload中的一个关键组件 。 HotReload功能希望帮助开发者在创建项目时随时获取即时反馈 , 并在更改代码后可以立即查看结果 。 相较于谷歌推出的竞争性Dart编程语言与Flutter工具包 , HotReload无疑颇具卖点 , 微软也一直希望能把这项功能推向.NET与VisualStudio 。
微软在最初的计划声明中将其描述为“一个雄心勃勃的项目 , 希望将HotReload带给更多.NET开发人员 。 ”但就在成果即将发布的最后一刻 , 微软突然决定把受众范围缩小至Windows与VisualStudio开发人员、不再开放跨平台版本 。
荒谬的是 , 微软之前一直在测试、而且已经非常接近最终版本的.NET6候选版允许开发者通过donetwatch在各类环境及平台上灵活使用HotReload功能 , 其中也包括颇具人气的VisualStudioCode开发环境 。 所谓候选版 , 就是功能完备、已经通过厂商生产就绪测试的版本 , 只需要在正式发布之前再检查一下bug即可 。
微软在发布的最后一刻突然变卦 , 表示“HotReload功能将仅通过VisualStudio2022发布 , 旨在保证为大多数用户提供最佳体验 。 ”微软公司HotReload功能项目负责人DmitryLyalin则把话说得更明白 , 微软结合“优先考量” , 所以才放弃了将HotReload直接纳入dotnetwatch工具的计划 。 社区对此明显大为恼火 , GitHub上已经有帖子对此提出质疑 。 HackerNews网站及微软自己的相关博文下方也出现不少抗议性评论 。
逃离被微软支配的恐惧,.NET 开发者们 Fork 了一个开源分支
文章图片
“请不要误会 , 这里我们做出澄清 。 面对需要应对的庞大场景数量 , 我们必须做出优先考量 。 因此 , HotReload不会作为dotnetwatch工具中的功能发布 。 我们正在VS2022上着力完美这项功能 , 稍后还将推出VS4Mac支持 。 ”
微软公司前F#团队雇员PhillipCarter坦言 , “在查看源代码后 , 情况更加令人失望 。 相关支持代码共有1000到2000行 , 但却在发布前最后一刻被撤掉了 。 这显然是在开历史的倒车 , HotReload功能在设计之初也压根不属于VisualStudio独占 。 恐怕未来还会有更多类似的情况出现 。 ”
根据媒体掌握的情况 , 从.NET6中删除HotReload功能的决定来自微软开发部门负责人JuliaLiuson 。 据消息人士称 , 这项决定的深层考量在于保障业务收益 。 微软明显觉得这不是什么大事 , 却没想到激起了社区的愤怒回应 。 在.NET项目上与开源社区合作多年的微软工程师们感到被公司背叛 , 同时担心这样的决定会对微软后续的开源参与工作造成深远影响 。