Image 2 Image 3 Image 3 Image 3

微软欲闭源 VS Code 的 C# 扩展惹众怒

频道:行业资讯 日期: 浏览:1253

  

6月16日,微软项目经理蒂姆·豪雅公布了VSCode c#扩展的路线图更新,新的路线图引入语言服务器协议(LSP)作为VSCode c#扩展的基础通信机制,并计划创建一个新的“太阳能发电工具主机”组件作为新c#版扩展的基础,以引入更多实用功能。但微软在公告中称“LSP工具主机”组件<强>将不开源强,该决定随即引发了大量批评。

微软欲闭源 VS Code 的 C# 扩展惹众怒

八年前,OmniSharp团队用当时的API和协议开发了VS代码中的c#扩展。如今语言服务器协议LSP已成为现代开发工具(编辑器、IDE等)相互交流的标准机制,因此微软打算将c#扩展切换为完全使用LSP进行通信,并计划更新现有的OmniSharp组件,使它们也以LSP进行通信:

(这里要提一句,创建的c# VSCode扩展的OmniSharp团队虽然有很多微软的员工,但该团队由社区驱动,并不属于微软,也就是说微软正在收编由社区开发的c#扩展,把它的发展路径掌握在自己手中。)

  

利用太阳能发电,将使我们能为c# VS代码扩展带来创新的功能。包括提供高级功能,以及在某些情况下提供<强>闭源体验强,例如IntelliCode。

  

我们计划创建一个新的“太阳能发电工具主机”组件,它将罗斯林和剃须刀等开源组件<强>与闭源组件集成在一起强劲,提供了更广泛的功能。

  

" LSP工具主机”将成为c# VS代码扩展的<强>默认体验,现有用户可以在现有的开源OmniSharp驱动系统和新的“太阳能发电工具主机”之间进行选择,后者将提供一些额外功能(比如闭源功能)的访问权限。

  

<强>“LSP工具主机”不会开源,但我们计划在此过程中与社区进行沟通,以帮助指导我们未来的计划。

  

简而言之,采用LSP通信机制之后,这个新主机的LSP工具组件将是新的c# VS代码扩展的默认功能包,会捆绑更多“开箱即用”的功能,也许是因为这个组件引进了一些闭源的功能模块,所以社区用户可以帮忙开发,但它不能开源。

这则公告毫无疑问地被冲了,用户纷纷质疑为什么新的组件不能开源,指责微软”回到过去那个封闭的,利益至上的微软”:

微软欲闭源 VS Code 的 C# 扩展惹众怒

微软欲闭源 VS Code 的 C# 扩展惹众怒

微软欲闭源 VS Code 的 C# 扩展惹众怒

面对众人对闭源的质疑,微软项目经理蒂姆·豪雅更新了公告,进一步解释了“太阳能发电工具主机”组件不开源的原因:

  

剃刀和c#的LSP实现将保持开源(Roslyn和剃须刀).VS代码的c#扩展(ms-dotnettools.csharp)本身也将保持开源。

  

这个新的“太阳能发电工具主机”组件只是<强>开源和闭源功能之间的桥梁强,让我们可以同时提供这两种功能。

  

但有一说一,这个说法似乎不太能服众,毕竟路线图写得明明白白:“LSP工具主机”将成为c# VS代码扩展的默认体验,现在则称其只是一个“桥梁”……

<>强前车之鉴

其实,在c#扩展之前,微软对VSCode的语言扩展就有过收编再闭源的操作。用户Pradyun Gedam指出:此前VSCode的<跨风格=" background - color: # ffffff;颜色:# 24292 f”> Python扩展在开源解决方案绝地的支持下普及,然后微软将其收编,并构建了一个基于LSP的闭源Python扩展pylance,承诺提供更好的用户体验。

然后微软就将闭源的pylance设为Python VS代码扩展的默认方案(甚至推送提示,让用户切换到该扩展),同时不断地减少对开源部分的资源投入。如今,使用pylance的Python扩展比绝地多太多功能,以至于用户只能选择闭源的pylance扩展。

用户杰拉德Smit对此进行了总结:“<跨风格=" background - color: # ffffff;颜色:# 2 e3033 ">拥抱,延伸和熄灭。”这三个词指先拥抱开源,让社区力量为其提供更完善的功能,然后再对该功能进行“延伸,扩展和改善”,随后再闭源并强推“延伸”之后的新功能,“熄灭”原有的由社区驱动的开源功能。

微软欲闭源 VS Code 的 C# 扩展惹众怒

0 留言

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码