微软扩展“锁死”VSCode:开发者社区的担忧与反弹
近日,微软的一项举动在开发者社区引发了轩然大波。开发者们发现,微软旗下的部分闭源VSCode扩展程序,如远程访问、Pylance、C/C++以及C#等,在升级到最新版本后,无法在Cursor或其他非微软编辑器中使用。这一情况最早由Cursor用户发现,他们发现Cursor 1.17.62版本可以正常使用这些扩展,但升级到1.18.21及更高版本后,便无法正常工作。这一变化并非技术故障,而是源于微软在这些扩展的许可协议中添加了限制性条款。具体而言,这些条款明确规定,这些扩展程序“仅可与Microsoft Visual Studio、Visual Studio for Mac、Visual Studio Code、Azure DevOps、Team Foundation Server以及微软后续推出的产品和服务一起使用,以开发和测试您的应用程序。”这一限制意味着,开发者如果想使用这些扩展的最新版本,就必须使用微软官方的编辑器,而无法在其他基于VSCode的衍生版本中使用。
这一事件的核心在于微软对自身生态系统的控制权,以及其与第三方编辑器之间的竞争关系。VSCode作为一款基于MIT许可证开源的编辑器,允许开发者对其进行修改和定制。然而,微软同时也在积极开发和维护大量的VSCode扩展,这些扩展极大地增强了VSCode的功能和吸引力。通过限制这些扩展的使用范围,微软实际上是在利用其在扩展生态系统中的主导地位,来巩固VSCode的市场地位,并限制其他竞争对手的发展。
开发者社区对此反应强烈,许多人认为微软的这一举动违背了开源精神,并可能扼杀创新。有人指出,微软的这一策略与历史上多次被提及的“拥抱、扩展、消灭”(Embrace, Extend, Extinguish,EEE)战略非常相似。该战略指的是,微软先“拥抱”开放标准,随后在其基础上加入专有功能进行“扩展”,最终通过这些差异将竞争对手“消灭”。尽管微软从未公开承认这一战略,但其在过去的反垄断案件中曾被指控使用该策略。
这一事件也引发了开发者对于扩展许可证的关注。前端工程师Tom Smykowski调查后发现,目前只有少数扩展包含了类似的限制条款,但微软可以随时添加这样的限制。这意味着,开发者在使用VSCode扩展之前,必须仔细检查其许可证,或者选择使用其他真正开源、许可证开放的扩展。
对于开发者而言,这一事件无疑增加了一定的不确定性。他们需要重新评估自己的工具选择,并考虑是否需要转向其他编辑器或扩展。对于微软而言,这一举动可能会损害其在开发者社区中的声誉,并可能导致一部分开发者流失。
Cursor的崛起与挑战:VSCode的强大竞争对手
Cursor的出现,无疑是促使微软采取这一限制措施的重要原因之一。Cursor是由四位麻省理工学院(MIT)本科生基于VSCode的开源代码打造的一款竞争产品。与VSCode不同的是,Cursor专注于AI辅助编程,其核心理念是“AI是否希望让人类插手”,而非VSCode的“是否希望将AI建议合并进你正在开发的代码”。Cursor在AI功能方面进行了大量的创新,例如能够自动识别或生成所需文件,完成所有必要的子任务,并具备运行时错误分析和自我修复能力。
Cursor的快速崛起对VSCode构成了直接的竞争威胁。Cursor在去年年中融资了大约6000万美元,并拥有约4万名用户。Cursor提供了一个带有限制的免费政策,以及每月20美元和40美元(按用户计费)的付费计划。尽管Cursor本身并不是开源的,但其基于VSCode的开源代码进行开发的做法,在VSCode所采用的MIT许可证下是被允许的。
微软可能认为,Cursor利用了VSCode的开源代码,却在商业上与VSCode竞争,这对其造成了不公平的竞争。因此,微软通过限制其扩展的使用范围,来削弱Cursor的竞争力。
然而,这一举动也引发了关于开源软件的商业模式的讨论。VSCode的开源代码为Cursor的诞生提供了基础,但微软同时也需要保护其自身的商业利益。如何在开源和商业之间取得平衡,是一个复杂的问题,需要开发者、企业和社区共同探讨。
“拥抱、扩展、消灭”:微软的战略幽灵再现?
“拥抱、扩展、消灭”(EEE)战略,是微软历史上备受争议的一种竞争策略。该战略指的是,微软先“拥抱”开放标准,随后在其基础上加入专有功能进行“扩展”,最终通过这些差异将竞争对手“消灭”。这一战略曾在上世纪微软多次反垄断案件中被提及,被认为是微软利用其市场主导地位来打压竞争对手的手段。
尽管微软从未公开承认这一战略,但其在开发者社区中仍然被广泛提及。此次微软限制VSCode扩展的使用范围,再次引发了人们对于EEE战略的担忧。有人认为,微软正在利用其在扩展生态系统中的主导地位,来限制其他基于VSCode的衍生版本的发展,从而巩固VSCode的市场地位。
当然,也有人认为,将此次事件与EEE战略联系起来过于牵强。毕竟,VSCode是在MIT许可证下开源的,.NET也同样是开源的,这表明微软在开源方面持开放态度。此外,微软也一直强调,VSCode是基于Code-OSS仓库定制的发行版本,并采用了传统的微软产品许可协议发布。
无论如何,此次事件都提醒开发者们,在使用开源软件时,需要仔细阅读其许可证,并了解其潜在的风险。同时,开发者社区也需要加强对于开源软件商业模式的讨论,以避免出现类似的问题。
开发者社区的应对:寻找替代方案与呼吁开放
面对微软的限制,开发者社区正在积极寻找替代方案。一些开发者开始转向其他的编辑器,例如UE5(虚幻引擎5)和Godot。UE5以其强大的图形渲染能力、逼真的视觉效果和丰富的开发工具而闻名,受到了许多追求高质量游戏画面的开发者的青睐。Godot则以其开源、轻量级、易于使用等特点,吸引了许多独立游戏开发者和小型团队。
另一些开发者则选择使用其他的扩展。例如,在C/C++开发方面,开发者可以考虑使用clangd扩展,尽管它的安装量远低于微软的扩展。此外,开发者还可以从Open VSX市场获取扩展,该市场由Eclipse基金会托管,提供了大量的开源扩展。
除了寻找替代方案之外,开发者社区还在呼吁微软更加开放。许多人认为,微软应该尊重开源精神,并允许开发者自由地使用和修改VSCode扩展。他们希望微软能够重新考虑其限制性政策,并与开发者社区进行更加开放的对话。
Cursor社区的开发者Alexander Schroeder表示,“我们已经发布了一个即时修复程序,并将很快发布一个长期解决方案。” 这表明Cursor正在积极应对微软的限制,并努力为用户提供更好的体验。
微软的考量:维护生态还是扼杀创新?
微软的这一举动,背后有着复杂的考量。一方面,微软需要维护其VSCode生态系统的健康发展,并保护其商业利益。通过限制扩展的使用范围,微软可以鼓励开发者使用官方的VSCode版本,并购买其相关的服务。
另一方面,微软也需要避免扼杀创新。VSCode的开源代码为大量的创新提供了基础,例如Cursor的AI辅助编程功能。如果微软过于restrictive,可能会打击开发者们的热情,并导致创新停滞。
因此,微软需要在维护生态和鼓励创新之间取得平衡。这需要微软更加开放地与开发者社区进行对话,并制定更加合理的政策。
VSCode Agent模式的推出:直接竞争还是技术升级?
有开发者猜测,微软的这一变化可能是由于VSCode稳定版中引入了“Agent Mode”这一AI功能,使Cursor成为了VSCode更直接的竞争对手。VSCode在三月的版本中推出了代理模式(Agent mode),该模式现已全面支持 MCP。与传统的聊天或多文件编辑功能不同,代理模式的核心在于:它不仅仅回答问题,而是具备将开发者的想法转化为代码的实际操作能力:自动识别或生成所需文件,完成所有必要的子任务,确保实现开发者的主要目标;建议终端命令或工具调用,并请求开发者执行;具备运行时错误分析和自我修复能力等。
Agent模式由Claude 3.5 和 3.7 Sonnet、Google Gemini 2.0 Flash 以及 OpenAI GPT-4o 提供支持。目前,代理模式在基于 Claude 3.7 Sonnet 的 SWE-bench Verified 测试中的通过率为 56.0%。
Agent模式的推出,无疑增强了VSCode在AI辅助编程方面的能力,使其能够更好地与Cursor竞争。然而,这是否意味着微软的目的是为了打压Cursor,仍然存在争议。
另一种观点认为,Agent模式的推出只是VSCode技术升级的一部分,旨在为开发者提供更好的编程体验。微软可能只是希望通过限制扩展的使用范围,来确保用户在使用Agent模式时,能够获得最佳的体验。
无论如何,Agent模式的推出都表明,AI辅助编程已经成为编辑器发展的重要趋势。未来,我们可能会看到更多的编辑器加入AI功能,并为开发者提供更加智能化的编程体验。
许可证的解读与潜在风险:开发者需要警惕
此次事件也让开发者们更加关注软件许可证的重要性。VSCode的开源代码是基于MIT许可证的,这意味着开发者可以自由地使用、修改和分发其代码。然而,VSCode扩展的许可证可能有所不同,有些扩展可能包含了限制性条款,例如此次事件中提到的限制扩展使用范围的条款。
因此,开发者在使用软件之前,必须仔细阅读其许可证,并了解其潜在的风险。如果开发者对许可证条款有任何疑问,应该咨询法律专业人士。
此外,开发者还应该关注软件的更新。软件的许可证可能会随着版本的更新而发生变化。开发者应该定期检查软件的许可证,以确保自己仍然符合其条款。
Open VSX市场的崛起:打破垄断的新选择
“锁定效应”促使了Open VSX市场的诞生,其初衷是防止官方VS Code专属市场“严重限制那些采用开源开发工具的组织的能力”。Open VSX市场由Eclipse基金会托管,提供了大量的开源扩展。
尽管如此,Open VSX市场中的扩展数量和使用率仍远低于微软的官方市场。不过,Cursor仍然在其IDE中提供对VS Code市场扩展的访问,包括微软的C/C++扩展和C# DevKit,同时还提供一个设置选项,可以从已安装的VS Code中导入扩展。
Open VSX市场的崛起,为开发者提供了一个打破垄断的新选择。开发者可以在Open VSX市场中找到大量的开源扩展,并避免受到官方市场的限制。
未来,我们可能会看到Open VSX市场越来越受欢迎,并成为开源扩展的重要来源。
结语:开放与竞争,开发者生态的未来
此次微软限制VSCode扩展的使用范围,引发了开发者社区的广泛关注和讨论。这一事件暴露了软件生态系统中存在的利益冲突,并提醒开发者们需要更加关注软件许可证的重要性。
在开放与竞争之间取得平衡,是维护开发者生态健康发展的关键。微软需要更加开放地与开发者社区进行对话,并制定更加合理的政策。开发者社区也需要加强对于开源软件商业模式的讨论,以避免出现类似的问题。
只有通过开放的对话和公平的竞争,才能构建一个健康、繁荣的开发者生态,并为开发者们提供更好的工具和体验。








暂无评论内容