Note: This blog post is purely my thoughts about the topic and in no way is meant to discredit the product or the company behind it. My sole purpose for this blog post is to put my thoughts and get constructive feedback and criticism.
We developers are very particular about our IDEs and with a good reason. We spend most of our development time with an IDE and lot of effort, love and care goes in choosing the right IDE, the ease of coding, testing and running your code is just one side of the coin. We also spend a lot of time in seeing what kind of ecosystem the IDE provides and why others in your community use it. And for that reason for me VSCode was one of the first choice since last few years.
First it is free and open source, it has support for multiple programming languages and then it has whole ecosystem of community driven plugins which makes my life as a developer very easy. So it was a surprise when I just came across a project called vscodium which is a re-distribution of vscode where the binaries are licensed under the MIT license. Telemetry is disabled. Now this got me thinking, we know that vscode is open source, then what kind of open source license VSCode has. If you want to check the VSCode license please jump to the this License link.
After reading the license VSCode did not seem any more open source as the purest form I know of. The open source I know is either GPL, Apache, MIT or BSD license. But reading the VSCode License looked more of a stock Microsoft License which is a more condensed form of its regular license for other propitiatory products. Hence to me suddenly VSCode looked like a more of a Freeware where code is open sourced but not really Open Source in its real sense.
This is so anti-thesis to recent news and announcements that you hear about the commitment of Micrsoft to Open Source but the skeptics were always suspicious. And after reading the license I am too very skeptical. While its very difficult to find a really good alternative to VSCode and in near future I many be using VSCode out of compulsion than free will, but I will definitely stop recommending VSCode as a IDE of choice.
Please read the below section from the Microsoft License of VSCode.
SCOPE OF LICENSE. This license applies to the Visual Studio Code product. Source code for Visual Studio Code is available at https://github.com/Microsoft/vscode under the MIT license agreement. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not
reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software except and solely to the extent required by third party licensing terms governing use of certain open source components that may be included in the software;
remove, minimize, block or modify any notices of Microsoft or its suppliers in the software;
use the software in any way that is against the law;
share, publish, rent or lease the software, or provide the software as a stand-alone offering for others to use.
First VSCode source code is released under MIT License but if you look at the bullet points for the Visual Studio Code product license they are complete antithesis to the MIT license that it is being distributed with. Now lets look at the MIT License.
MIT License Copyright (c) 2015 - present Microsoft Corporation All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
So if you read between the finer lines, while the source code is open source and free for modification, the binaries with which it is built is not fully FOSS. It has restrictive conditions which I presume Microsoft has to follow being an enterprise software company and is liable to Cyber laws and US Export restrictions. Hence the people who end of the day are using VSCode are liable to all the Microsoft license restrictions. This may very well be applicable to the community contributors who build the rich set of community plugins that make VSCode so attractive.
Hence its time for all to think through if VSCode really is that much open source as lets say Eclipse or pure community owned and driven FOSS IDEs or editors. This is not only the problem of VSCode but problem with many other open source “Community” editions of propitiatory products where while most of the core features are developed by the company but the ecosystem built with others are threatened with the restrictive license. But the particular issue I have with the VScode is where its source code and its binaries are dual licensed and complete opposite of each other.
While I am coming across such a license for the first time, I am sure I may have overlooked many such license and would like to hear more from others as well.
p.s. Originally published by me in Medium
Update: I have written about my journey after VSCODE - Moving Beyond VSCode. Please do read it and give your valuable feedback.