|
|
51CTO旗下网站
|
|
移动端

微软最新发布了 Pylance,但并不开源,程序员怒了

最近,微软发布了 PyLance。这是一个新的、用于语言服务协议(LSP)的 Python 语言支持,目的是希望在未来逐渐取代已经在 Visul Studio Code 中使用了数年的 Python 扩展的当前版本。

作者:青鸟编程来源:今日头条|2020-07-24 10:38

最近,微软发布了 PyLance。这是一个新的、用于语言服务协议(LSP)的 Python 语言支持,目的是希望在未来逐渐取代已经在 Visul Studio Code 中使用了数年的 Python 扩展的当前版本。以下是微软官宣的信息:

Announcing Pylance: Fast, feature-rich language support for Python in Visual Studio Code

但是很多开发者也从这个信息中注意到,微软宣称这个项目并不打算开源。目前,PyLance 虽然也在 Github 上开放了仓库,但只包括问题报告和一些指导性的文档,并没有任何源码。

这个决定显然也引起了一些开发者的疑虑。虽然开源与否是创立者的自由,但 VSCode 及其大量扩展的生态系统都建立在开源的基础之上,

过去的 Python 扩展也是开源的,现在为什么改变了态度呢?

在微软博客和 Github 上都有读者提出了这个问题。在 Github 上的讨论内容更加丰富一些,但微软显然不太希望继续讨论这个话题,表明态度之后随即关闭了这个 issue。详细内容请移步下列地址:

Are there any plans to eventually make Pylance open source?

值得玩味的是微软方面的回答:

We appreciate your suggestion, but we are not planning to make Pylance open source at this moment. Pylance is a completely new language server implementation,  with significant enhancements, and is planned to be included in proprietary service offerings.  A large amount of the code that powers Pylance is available as open-source in the Pyright type checker.

划重点:以上说法表明闭源的原因并不像某些人猜想的那样,是因为该项目还不够成熟、需要时间去准备(能拿出来演示说明肯定是有一定成熟度的);


而是微软想要把它包含到自己私有的服务产品中。从技术角度讲这个说法有点奇怪————很难想象一个单纯的语言服务要包含什么私有内容,以致于不能开源。不过结合微软的商业策略,我们不难想象,未来 VSCode 可能会更多地作为 Azure 或其他微软产品的专有服务,免费开源的部分可能成为“缩水”版本。这次 PyLance 的发布就是一个明显的信号。

可想而知,这肯定会引起开源爱好者的不满。这几天我在外网已经看到一些来自开发者的批评,更有人提到微软一直以来臭名卓著的手法:拥抱、扩展与破坏,直言该公司“从未改变”(这是文雅的说法,粗鲁一点就是 XX 改不了 XX,呃...你明白的)。

我个人对此倒是不怎么感到意外。虽然这几年微软似乎在开源方面动作很大,以至于很多人相信它已经成了社区的“好公民”。我自己对 Visual Studio Code 这个产品也颇有好感,还为它写过不少文章,但我知道它从一开始就不是完全开源的————它包含收集用户信息的组件(称为“遥测”),虽然承诺不收集用户敏感信息,但除了微软自己以外,没人能确定到底收集了什么。所以有些不太放心的开发者自己编译一个干净的版本,这就是 VSCodium。

今年早些时候,VSCode 公布了重量级功能:远程开发。这个功能为把 VSCode 嵌入托管的云其他产品奠定了基础,但同时它也是不开源的。我也曾写过一篇文章专门分析这个问题:

/blog/2020/04/vscode-remote-not-open-source

从那时起我就意识到,微软将来很可能把 VSCode 搬到云上,作为 Azure 或其他商业产品线的组成部分。我们应该会看到越来越多的核心组件走向闭源方向,这主要是出于以下考虑:

为了商业利益,微软应该会把部分功能作为收费的“高级功能”

也存在另一种可能,即功能本身并不收费,但会作为微软产品专享的特有功能,而开源部分将不可避免地成为“阉割版”

微软并不希望培养潜在的竞争对手。这在远程开发的许可中已经说得很明确了:只允许私人使用,不允许部署到其他公有平台,或者作为产品的一部分提供。


虽然现在还只是个苗头,但找这个趋势发展下去,VSCode 走向封闭是不可避免的。对这个技术上有很多亮点的项目,我个人觉得颇感遗憾。让时间来证明一切吧。

【编辑推荐】

  1. 酷!GitHub开发者自制火星车,完整教程全面开源
  2. 微软全新Windows OS :开发云端操作系统
  3. 微软旷视人脸识别100%失灵!照片「隐身衣」,帮你保护照片隐私数据
  4. 程序员的思维利器:逆向,总是逆向
  5. 为什么Java是程序员受欢迎的语言,有这几个原因,你应该知道
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

大数据安全运维实战

大数据安全运维实战

CDH+Ambari
共20章 | 大数据陈浩

91人订阅学习

实操案例:Jenkins持续交付和持续部署

实操案例:Jenkins持续交付和持续部署

微服务架构下的自动化部署
共18章 | freshman411

179人订阅学习

思科交换网络安全指南

思科交换网络安全指南

安全才能无忧
共5章 | 思科小牛

109人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微