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. However, it's not as open source as I originally 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 Chrome 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 removes 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!
Top comments (19)
Microsoft doesn't state anywhere on the VSCode website that it's open source. It states that the version you're downloading out there is
built on open source
. And this still doesn't mean, that VSCode is not truly open source, because it is 😄As the OP said, the code from the repo is open source, not the binaries you download from the website. So, that's the licence from the repo, but when you install it you get a slightly different license.
We've had a few posts about this VSCode/VSCodium difference recently, and I think it's interesting that people are starting to question "open source" as a term, without realising that this is the problem that "free software" already solves.
Even things that adhere to the OSI definition, which is only "official" in that they proclaim it so, aren't really all that free.
Someone recently commented about a site generator that was "open source" but the license forbade deploying it anywhere.
People have been complaining elsewhere on the webs that big companies are using their software in ways they don't like... and yet that's exactly why they chose to use a permissive license in the first place.
I think people don't know what they want.
People have this notion that OSS should be completely free, and that you should be able to do what you want with the source code but that's completely wrong.
You can have an OSS project with the strictest license, where you can't do anything but look at the source code. You can maybe even charge to get a different license still open source, there is a weird mentality when it comes around the term "open source". Way too many myths.
I think people don't know what they want
best comment ever
I'm perfectly fine with Microsoft license and telemetry, after all VScode binaries are free. Are we really that picky? Can I build it from source? Yes, but why?
VSCode provides an extension store, are you going to reproduce a open source store server because of this technicality too?
Does VSCode vs VSCodium have any functionality differences?
I think imho people want something to be a problem because the binaries come from Microsoft, I'm pretty sure other companies or even small teams do the same thing to better their products. By the way you have the option to opt out telemetry in VSCode.
This is a good point
I don't think you need AUR. There is a
code
package in the community group thingy.If you check
pacman -Ss code
. You'll get a lot of output, but somewhere in there you'll find.Here it is.
In simple terms, Source code of VSCode is open source, But compiled binaries provided by microsoft is not. So if you want a true open source edition, you can compile the source code yourself.
AUR
in arch andeopkg
on solus are actually compiled by community, hence they are covered by ms branding restrictions not their binary restrictions. In solus, (AFAIK in arch too) Telemetry are disabled by default and you can opt-in to that if you want. VSCodium has an additional benefit of not using their branding. But I do give credit to them for initial spark on this discussion about ambiguous marketing by these tech giants.This has been discussed before here on dev dev.to/twitmyreview/issues-with-vs... . Here is what I commented there.
It reminds me the issues with Firefox binaries & logo (en.wikipedia.org/wiki/Mozilla_soft...)
I'm a Free Software junkie as well, will operate a migration :)
Thanks a lot for this article!
I've just replaced my VSCode install with VSCodium and the only noticeable change is the icon in the taskbar so far.
One important thing to mention is that I had to copy the config files from the old install of VSCode to ~/.cinfig/VSCodium
Funny, I had used VSCode for the better part of a couple of years...and I've found myself back at using Neovim. My config is working really well and there's less clutter/distraction.
Since VSCode and Neovim interest you, have you heard of/played with OniVim?
@J.R.Swab
I really appreciate your approach. Thanks for enriching my understanding of Microsoft's spice in VS Code.
Thanks for the article! I will migrate for my personal computer to support free and open source community.