Mike Milinkovich, exec director of the Eclipse Foundation, has taken another swing at Microsoft-sponsored Visual Studio Code, claiming: "Anyone who relies on VS Code is then dependent on the future investment of Microsoft to continue supporting ongoing development of the product."
The odd aspect of this rant is that Theia is built with the Microsoft-created language TypeScript and uses VS Code components including the Monaco code editor, the Language Server Protocol used to support intelligent coding features, and the extension model that allows Theia to work with most VS Code extensions. Theia would not exist without the work that was done for VS Code. VS Code builds on other open-source projects including Electron and Chromium. So the open-source model is working exactly as it should.
Milinkovich is correct: VS Code itself is proprietary, though it is freeware. There is a distinction between the source on GitHub, which is under the MIT License, and the VS Code product, which is released "under a traditional Microsoft product license," according to the VS Code FAQ.
The proprietary bits include the Visual Studio brand, some icons, integration with the Visual Studio Marketplace, and "small aspects of enabling Remote Development". The Marketplace issue is particularly troubling for Milinkovich as it is something of a barrier to competing software. He is promoting the Eclipse Open VSX marketplace as an alternative.
Given that VS Code is free, though, it is difficult to convince developers that Microsoft's ownership of the product is a problem. If Microsoft did abandon the product, the bulk of the code remains for someone to pick up, just as has happened with Theia. Further, the fact that a giant corporation is actively developing VS Code is not altogether a bad thing. The lack of a business model can hold back open-source projects, as a member of the Inkscape team told us recently.
If you've ever wished Visual Studio Code could be more open source, the Eclipse Foundation would like a wordREAD MORE
VS Code does include telemetry collection by default – it is easy to disable, though Milinkovich highlighted that "you can opt out of many telemetry data collection scenarios, but not all." The "not all" refers to third-party extensions. "These extensions may be collecting their own usage data and are not controlled by the telemetry.enableTelemetry setting," Microsoft explained in the FAQ, which is not really a fault in VS Code.
Milinkovich's problem may be related to the fact that Visual Studio Code is used by 50.7 per cent of developers (with Visual Studio in second place), according to the latest StackOverflow survey. Eclipse, the developer tool platform for which the foundation was formed, has just 14.4 per cent usage. Theia does not yet feature.
Erich Gamma, a computer scientist who co-authored the influential book Design Patterns: Elements of Reusable Object-Oriented Software, was involved in the design of the Eclipse Java tools – but in 2011 joined Microsoft to work on the "Monaco" project.
There are many points of connection therefore between VS Code, Theia and Eclipse. Despite the one-sided nature of Milinkovich's statements though, the Theia project is also a good thing for developers. One of the points made by GitPod's Sven Efftinge, to which Milinkovich refers, is that Theia is better suited as a base on which other products can be built, because "Microsoft has no interest in serving as a basis for products of other vendors."
If Visual Studio Code usage does decline, it will not be because of licensing, but rather the product becoming bloated or evolving in a direction that is unwelcome to many of its users. Longstanding complaints that VS Code occasionally deletes itself, for example, could be a problem, though fortunately this seems to be rare. In general, VS Code is trouble-free compared to Eclipse and its complex updating mechanism. Theia is different, of course – thanks in no small part to VS Code. ®