Eclipse Theia and VS Code differences explained
Eclipse Theia 1.0 arrived at the end of March. The open source extensible platform combines some of the best features of IDEs, so we took a closer look to find out what sets it apart from Microsoft’s source code editor Visual Studio Code. In this article, you will learn more about Eclipse Theia’s licensing, architecture, and more.
After we announced the release of Eclipse Theia 1.0 and published a blog about it, we received a number of questions about the differences between Theia and Visual Studio (VS) Code and why we’re calling Theia “a true open source alternative” to VS Code. Here are some clarifications I hope will help people understand the differences between the two and the value of Theia.
In the Words of Microsoft
I want to emphasize that VS Code is a great product that is loved by many developers. This is the primary reason Theia adopted many of the VS Code user experience features.
But, VS Code is not truly open source. Microsoft explains it well in their VS Code FAQ: “…it is more accurate to say that Visual Studio Code is “built” on open source, rather than “is” open source…”
The first thing to understand is that, at least for this release, Theia is not intended to be a tool that developers download and use directly. There isn’t even a developer tool download available from the Theia project.
Theia 1.0 is intended as a production-ready platform that any company (e.g. ARM, D-Wave, Gitpod, Google, Red Hat) or community (e.g. Arduino) who wants to provide their adopters with a modern developer experience can build from. The easiest way to see Theia in action is to try products such gitpod.io, or Red Hat Code Ready Workspaces, or ARM’s mbed Studio.
Licensing and Data Collection
Eclipse Theia is built, distributed, and used under the Eclipse Public License, a commercial-friendly open source license approved by the Open Source Initiative.
The VS Code repository on GitHub includes code that is licensed by MIT, but the VS Code distribution is released under a proprietary Microsoft product license. For most developers this is not an issue, as the tool is free, as in free beer. However, this approach means that it is difficult for companies and communities other than Microsoft to use VS Code in their own products. They require an open source platform which is free, as in freedom.
The Microsoft VS Code license also indicates the software may collect information about how the software is used and who is using it, and then send that data to Microsoft. The license makes it clear you can opt out of many telemetry data collection scenarios, but not all.
Eclipse Theia is freely available to everyone who wants to use it. There are no obligations to, or dependencies on, any company that has contributed to the code base or that uses it.
VS Code is a Microsoft product that is largely developed as open source, but is controlled by Microsoft. Anyone who relies on VS Code is then dependent on the future investment of Microsoft to continue supporting on-going development of the product. Theia is one of the most active and diverse projects at the Eclipse Foundation with steady contributions from ARM, Ericsson, Red Hat, SAP, TypeFox, and others.
Theia builds on top of many of the core open source pieces of VS Code such as the Monaco editor, the extension model, Language Server Protocol and the Debug Adapter Protocol. But Theia and VS Code are architecturally different in two main ways:
- Eclipse Theia allows developers to create desktop and cloud IDEs using a single, open source technology stack. Microsoft now offers VS Online for cloud development environments, but like VS Code, it cannot be used in open source initiatives such as Gitpod.
- Eclipse Theia allows developers to customize every aspect of the IDE without forking or patching the code. This means they can easily use Theia as a base to develop desktop and cloud IDEs that are fully tailored for the needs of internal company projects or for commercial resale as a branded product. VS Code is a developer IDE only. It was never intended to be used as the base for other IDEs, extended, or further distributed.
Get More Information
For more insight into the differences between Eclipse Theia and VS Code, read the JAXenter interview with Theia project co-lead, Sven Efftinge.
To learn more about Theia and start using it, visit the website.
This post originally appeared on Mike Milinkovich’s blog.