News

Worried About Privacy? VSCodium Strips Microsoft Telemetry from VS Code, with FOSS License

A GitHub project called VSCodium offers up the popular Visual Studio Code editor, but stripped of Microsoft customizations and released under a "real" open source license.

The project exists because Microsoft, which created VS Code and donated it to the community under a permissible MIT license, takes that project's source code, adds its own customizations (including telemetry/tracking) and then offers it under the Microsoft Software License, which is not considered a "free and open source software" (FOSS) license.

Thus the MIT-licensed VSCodium is described as "Free/Libre Open Source Software Binaries of VSCode." However, rather than a fork of VS Code, the project simply provides "scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration."

In other words, it eases the process any developer could undertake to create a VS Code editor based solely on the MIT-licensed binaries.

VSCodium is a response to a GitHub issue dating back to November 2015 that noted the VS Code license link pointed to a non-open-source license.

In response, Microsoft's Chris Dias provided this explanation:

When we set out to open source our code base, we looked for common practices to emulate for our scenario. We wanted to deliver a Microsoft branded product, built on top of an open source code base that the community could explore and contribute to.

We observed a number of branded products being released under a custom product license, while making the underlying source code available to the community under an open source license. For example, Chrome is built on Chromium, the Oracle JDK is built from OpenJDK, Xamarin Studio is built on MonoDevelop, and JetBrains products are built on top of the IntelliJ platform. Those branded products come with their own custom license terms, but are built on top of a code base that's been open sourced.

We then follow a similar model for Visual Studio Code. We build on top of the vscode code base we just open sourced and we release it under a standard, pre-release Microsoft license.

The cool thing about all of this is that you have the choice to use the Visual Studio Code branded product under our license or you can build a version of the tool straight from the vscode repository, under the MIT license.

Here's how it works. When you build from the vscode repository, you can configure the resulting tool by customizing the product.json file. This file controls things like the Gallery endpoints, "Send-a-Smile" endpoints, telemetry endpoints, logos, names, and more.

When we 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 (note, I made this commit to help make this more clear).

I hope this helps explain why our Microsoft branded Visual Studio Code product has a custom product license while the vscode open source repository has an MIT license. Last, I apologize for the fact that the naming of "Visual Studio Code", "VS Code" and the vscode repository are so similar, I think it contributed to the confusion.

This page explains how the telemetry is stripped out of VSCodium. The project notes that some VS Code extensions send their own telemetry to Microsoft, which VSCodium can do nothing about (except recommend their removal). Also, some extensions -- notably a couple debuggers -- are provided with licenses restricting their use to the official VS Code builds, so they don't work with VSCodium. This page provides more on that issue.

On the VSCodium Web site, the project is described as "a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP, Go) and runtimes (such as .NET and Unity)." For a download, the site points to the latest release -- shipped last week -- on the GitHub site.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

  • .NET for Apache Spark Debuts in Version 1.0

    The open source project .NET for Apache Spark has debuted in version 1.0, finally vaulting the C# and F# programming languages into Big Data first-class citizenship.

  • In-App Reviews Come to Xamarin.Forms Android

    Android is playing a little catch-up to iOS regarding in-app review functionality, just now coming tp Microsoft's Xamarin.Forms implementation.

  • C# Slides in Usage Ranking of Programming Languages

    "The fact that C# lost three places in the ranking of language communities during the last three years is mostly explained by its slower growth compared to C/C++ and PHP."

  • Telerik UI for Blazor Updated

    Progress announced an update to its Telerik UI for Blazor components, targeting Microsoft's open source Blazor framework that lets C# coders create web apps without having to rely upon JavaScript.

  • Infragistics Unveils UI Components for Blazor

    Infragistics, specializing in third-party UI/UX controls and tools, unveiled a new offering targeting Blazor, Microsoft's red-hot open source framework that allows for C#-based web development instead of traditional mainstay JavaScript.

Upcoming Events