• Share this article:

Eclipse Theia and VS Code Differences Explained

Tuesday, May 5, 2020 - 09:00 by Mike Milinkovich

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…”

Purpose

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.

Vendor Neutrality

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.

Architecture

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.

Extensions

Theia uses the same extension model as VS Code, so any extension that works with VS Code will work with Theia. Unfortunately, the terms of use for the Microsoft Marketplace can only be accessed from Microsoft products. Because of that, Theia uses the open source extensions in the vendor-neutral Eclipse Open VSX marketplace. These extensions can be used by anyone, with no restrictions, whether they’re developing in Theia or in VS Code. Better yet, the code that implements the Open VSX marketplace is open source, and enabling self-hosted repositories within your organization is one of the stated goals of the project.

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.