
Updated: The GitHub Copilot add-on for Visual Studio Code appears to break the rules that others must follow for inclusion in the official extension marketplace, suggesting that Microsoft is taking increasing advantage of its ownership of the world’s favorite code editor.
A Reddit user claimed that Microsoft was using “hidden APIs to VS Code only enabled for Copilot extension.” The rationale for this claim is that the Copilot Chat Extension, which has over 15 million installs, uses unstable VS Code APIs, in a category known as “Proposed APIs”. The documentation states that “you’re not able to publish extensions using the proposed API on the Marketplace,” suggesting that Microsoft-owned GitHub has been given special privileges.
The VS Code marketplace is a key element in Microsoft’s dominance of the market for code editing. Although VS Code is free, it is not fully open source. The core of the editor is open source on GitHub but the open source product is called Code-OSS. The VS Code that most developers download and use is “a distribution of the Code – OSS repository with Microsoft specific customizations (including source code), released under a traditional Microsoft product license,” according to the product FAQ.
Anyone is welcome to fork the open source code and create a similar editor, but such products are not allowed to include Visual Studio Marketplace integration. This is the reason for the existence of the Eclipse-sponsored Open VSX Registry, described as “extensions for VS Code Compatible Editors.” The snag is the Open VSX has many fewer extensions than the official marketplace.
The widespread adoption of VS Code in the developer community is driven by multiple factors, including high quality design, free availability, strong support for remote development where only the editor runs locally, the ability to run in a web browser, and the huge ecosystem that now surrounds it.
Few software products evolve as fast as VS Code. Microsoft along with open source contributors support a monthly release cycle where each new release introduces significant new features. Most developers pay nothing for it, though it is notable that Microsoft has taken steps to protect its own Windows-only Visual Studio product by enforcing licensing requirements for .NET development using the official C# Dev Kit.
The business model for VS Code has long included hooks into Azure cloud resources and GitHub repositories. The advent of AI-driven code assistants has introduced another route to business advantage: tight integration with GitHub Copilot, which requires a paid subscription. Followers of the monthly product updates, like this one for September 2024, will have noticed the prominence given to new GitHub Copilot features, which in this case occupy nearly half of the content in the latest description of what is new.
Opinions vary on the significance of this latest apparent example of Microsoft giving preference to its own services. “The game is ‘complete market capture’,” said one developer while another said “I don’t care. Why should VS Code have to support alternative AI assistants in their software? I understand why people would want that, but I’m not sure why Microsoft has some sort of ethical or legal burden to support it.”
The risk for Microsoft is that if VS Code drifts too far towards being a proprietary product requiring paid subscription, it will lose momentum and the ecosystem around it will diminish. There are other free editors with IDE features such as debugging support, some of which are similar to VS Code, and others which are smaller and faster thanks to use of native code rather than TypeScript/JavaScript.
“This seems like a good time to mention Zed,” remarked another user. Zed is open source, built with Rust and has strong support for AI assistance, though it is currently still a pre-release.
Updated to add at 1100 UTC, October 25:
Microsoft told DevClass that extensions using proposed APIs are allowed in the marketplace on a “case-by-case basis.”
It said in a statement: “The GitHub Copilot Chat extension uses Proposed APIs, which are part of Visual Studio Code’s longstanding process for developing and refining APIs. These APIs are not exclusive to Copilot and are used to gather feedback from extension authors. Extensions using Proposed APIs are allowed in the marketplace on a case-by-case basis to ensure they are updated in tandem with API changes and minimize user impact.”