Friday, June 30, 2023 - 06:00
  • Share this article:

For over the past two years, the Open VSX Registry has provided an open source alternative to the Microsoft Visual Studio Marketplace under the purview of the Eclipse Cloud DevTools Working Group. However, the project has expanded to the point that it warrants its own working group, which was announced earlier this month.

The creation of the new working group will help drive innovation and advancement in the Registry. And that makes this a perfect time to review the history of the Registry, why it was created, and what value it brings to the community.

Popularity of VS Code Drove Demand for an Open Source Alternative

Roughly eight years ago, Microsoft created an IDE called VS Code. Since then, it has become very popular. Like any IDE, it benefits greatly from having extensions that can hook onto it and add functionality to it in specific domains. For example, adding features to support certain programming languages. The subsequent launch of the Visual Studio Marketplace then provided a platform and a motivation for developers to build their own extensions. Over time, thousands of such integrations were built. 

Now, the tricky thing is that the source code of VS Code itself is under the MIT license, which is a very permissive open source license. However, the VS Code application that was built and distributed by Microsoft, not to mention the marketplace itself, are both proprietary and the terms of use state that you can only use offerings on the marketplace with Visual Studio products. 

This is where the Eclipse Theia project comes in. This framework for building IDEs was created because of this growing interest in the concept of pluggability. That is, the idea of having a base IDE with extensions that could plug into it. The project actually started at TypeFox before being handed over to the Eclipse Foundation, and it gained support for VS Code extensions later. But it was not, legally, allowed to use the Visual Studio Marketplace. This meant that developers using IDEs based on Eclipse Theia couldn’t pull extensions from the marketplace, even if they were technically compatible.

For this reason, we decided to build our own marketplace and, after a year of hard work, handed it off to the Eclipse Foundation as well. 

Access Extensions Without Restrictions

The basic premise of the Open VSX Registry is that it allows developers to use its extensions with anything they like. The vast majority of extensions out there are open source and usable, at least in theory, pretty much anywhere. So long as your application supports this concept of pluggability, you can access these extensions and easily add these super nice functionalities to your application. That includes the ability to take the open source alternatives to VS Code, such as VSCodium, and compile it yourself into an application. The common understanding in the community (though it hasn’t been technically confirmed by Microsoft) is these open source alternatives wouldn’t be able to access the Visual Studio Marketplace. But they could access the Open VSX Registry. 

The key here is that developers can keep the same functionality that they’re accustomed to, even when working with non-Microsoft products. 

For example, Microsoft bought GitHub back in 2018 and has since offered GitHub Codespaces, a cloud-based development environment. Gitpod of course has been available for much longer, and uses VS Code under the hood to provide the same type of environment. Because it’s not using the official version of VS Code, it isn’t allowed to access extensions from the Visual Studio Marketplace. But it can via Open VSX. So, users who want to make the jump to working fully in open source can go from GitHub Codespaces to Gitpod and keep most of the functionality they’re used to. 

Opening the Ecosystem Benefits Everyone

All of this work has been in aid of opening the ecosystem of extensions. This is the promise of open source: by making these things more open, we can increase competition and accelerate innovation, which is ultimately great for users.

While the support of the Eclipse Cloud DevTools Working Group has been instrumental in helping the project grow, it has simply become too large for that working group. They support many projects, and the Open VSX Registry is big enough to warrant its own working group. 

Plus, the creation of the working group represents an opportunity for companies in this space. There’s a solid independent foundation where companies can put in funds and participate in steering the future of this project. 

It’s also worth mentioning that there are many opportunities to contribute at a developer level as well. There are three main parts to the project:

  • The back end, which is written in Java
  • The front end, which is in TypeScript
  • A command line tool where extension developers can publish their extensions

We’ve seen a lot of growth in usage, which is great. But we really want to encourage more growth in contribution to the code base, as well as in applications that can integrate with it. 

If you’re interested in getting involved with the code base, feel free to check out the GitHub repository. Gitpod can also really help here, particularly with new developers, as it can automate the development setup. When you open the Open VSX project in Gitpod, it’s already preconfigured, so you can start developing right away. If you’re a new developer, that’s a great place to get started. 

About the Author

Miro Spönemann

Miro Spönemann

Miro Spönemann is a project lead for the Eclipse Open VSX, Eclipse Sprotty, and Eclipse LSP4J projects, and co-leads TypeFox, an open source-focused company that helps people build custom IDE-like tools.