Is Vscode Truly Open Source?
Categories: [Technology]
For years I only wrote code in a terminal via Neovim but chose to give VSCode a spin and I found I really like it. Hovewer, it's not as open source as I orginally thought.
After a bit of digging I learned that the download from their website is not open source but the code hosted on Github is open source. This is like Google's Chorme verses Chromium but with the same name so it's expected to get confused.
For some context this Github issue comment explains the difference:
When we [Microsoft] build Visual Studio Code, we do exactly this. We clone the vscode repository, we lay down a customized product.json that has Microsoft specific functionality (telemetry, gallery, logo, etc.), and then produce a build that we release under our license.
When you clone and build from the vscode repo, none of these endpoints are configured in the default product.json. Therefore, you generate a "clean" build, without the Microsoft customizations, which is by default licensed under the MIT license.
So as an open source junkie I proceeded to download the source code from the Github page to build from source when I came across another repo. This repo is called "VSCodium" as a play with the Chrome/Chromium branding. This repo strips out all telemetry and revmoves all branding to keep their binaries 100% open source (MIT to be exact).
This repo exists so that you don't have to download+build from source. The build scripts in this repo clone Microsoft's vscode repo, run the build commands, and upload the resulting binaries to GitHub releases. These binaries are licensed under the MIT license. Telemetry is disabled.
- VSCodium_
After a bit of coding with VSCodium it seems to run exactly as expected. The first test was if it could still download extensions because there is no better way to code than with Vim keybindings. It worked as expected!
If you run Arch or Manjaro you can use the AUR to install this truely open source variant of VSCode; just search for vscodium-bin
.
For other system head over to the Github Readme.
Happy coding!