You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Chris Dias (@chrisdias), could some clarification be added to that page?
Also, what's the difference between the product and the source code?
Please re-open this ticket.
Thanks for the interest in this topic and I apologize for not commenting sooner, I’ve been on vacation and just getting through my backlog. Let me try to provide more details behind our thinking here.
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.
Chris
Reacted by Andre Felipe, Max Marrone, Alexey Palazhchenko, gabomgp, Basarat Ali Syed, joan xie, U Cirello, Yukai Huang, Daniel Schildt, Arnie97 and 38 more
Reacted by Jakob Löw, fedor1113, bladeoflight16 and Hugo Locurcio
Reacted by Andy Jordan, Álvaro Justen and Hugo Locurcio
Reacted by Basarat Ali Syed, Orta Therox, Brian Ojeda, Mariusz Nowak, Matt Holt, Maksim Myskov and Marcos Sader
It would be good to ensure any differences other than Branding / telemetry are clearly documented. At least we don't need to be concerned that this is a 'bait and switch' manoeuvre as the branded version is free :)
Chris Dias (@chrisdias) This distinction shouldn't be buried in an issue somewhere. The branding isn't changing, and the names (and abbreviations) everyone interchanges will forever perpetuate this licensing confusion. This needs to be content readily available from https://code.visualstudio.com/License. A blurb at the top with a link to the repo license would fix this for an increasing number of people.
Right now, if I pull up the VS Code license, I'm going to read it and think:
Microsoft does not distribute, license or provide any warranties for any of the third party packages.
Well that seems wrong. There's a Marketplace explicitly for distributing those extensions. What is this trying to say?
You may not: work around any technical limitations in the software
...so I can't fix something and make a PR? Because it'd be illegal.
You may not: remove, minimize, block or modify any notices of Microsoft or its suppliers in the software.
Does this mean I can't click cancel on an update? That minimizes a Microsoft notice.
You may not: share, publish, or lend the software, or provide it as a hosted solution for others to use, or transfer the software or this agreement to any third party
So I can't put the installer on a share? Sections 1 and 5 are in conflict as to what a user can do.
...we're all developers here. We all know this is confusing. Look at the laundry list of issues relating to this one linked in history. Can we please fix this with a small blurb of text at the top of https://code.visualstudio.com/License?
Reacted by Piers Karsenbarg, Andrew McClenaghan, Johan Sørensen, Declan Cook, Qiming Liu, Steve Lee, Claire Novotny, Victor Gladkikh, Sam Smith, Kévin Gallienne and 15 more
Thanks for posting this suggestion. I can see how the product license can generate questions for developers wishing to contribute to the product.
As a result, I've updated the stable and insider pages to clarify that the license is for VS Code the product and that the source is licensed under the MIT license. The localized license pages will be updated as soon as I get the translations back.
Chris
Reacted by Steve Lee, Daniel Imms, Nathan Osman, Daniel Schildt, Mathieu Darse, Nick Craver, Sanford Mascarenhas and Adam
Um, wouldn't this get less dupes if it was left open until such time as MS realizes that they can maintain their brand in a less confusing and contradictory manner?
Chris Dias (@chrisdias) With all due respect, this sounds like an argumentum ad populum: since other companies are re-licensing their open-source apps under proprietary EULA's (case in point: Oracle, Google, and JetBrains), we should do it too. You distribute this software free of charge, and adding a custom look and feel and extension gallery doesn't seem to justify re-licensing it in this way. As a counterexample, both the source and binary distributions of Atom come with the package manager and are released under the MIT License. What gives?
Reacted by fedor1113, Kirk Spencer, Maël Valais, Stephan Sokolow, Geoffrey Bonneville, Thibault Lemaire, Matt Sturgeon, Arturo Rodríguez, Adam, Quentin Hibon and 1 more
Activity
chrisdias commentedon Nov 21, 2015
This is correct. VS Code the product has a different license than the code in the repository.
hartwork commentedon Nov 21, 2015
Chris Dias (@chrisdias), could some clarification be added to that page?
Also, what's the difference between the product and the source code?
Please re-open this ticket.
jangelfdez commentedon Nov 22, 2015
So, If we get the code from the repo is OSS but if we get the executables they aren't, isn't it? It makes no sense at all :S
alexandrev commentedon Nov 22, 2015
+1 to reopen and talk about this issue. I hope this is a 'bug' and not a decision because it makes no sense at all.
lontivero commentedon Nov 22, 2015
+1 to reopen it. This is not clear enough.
chrisdias commentedon Dec 3, 2015
Thanks for the interest in this topic and I apologize for not commenting sooner, I’ve been on vacation and just getting through my backlog. Let me try to provide more details behind our thinking here.
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
vscodecode 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
vscoderepository, under the MIT license.Here's how it works. When you build from the
vscoderepository, you can configure the resulting tool by customizing theproduct.jsonfile. 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
vscoderepository, we lay down a customizedproduct.jsonthat 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
vscoderepo, none of these endpoints are configured in the defaultproduct.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
vscodeopen source repository has an MIT license. Last, I apologize for the fact that the naming of “Visual Studio Code”, “VS Code” and thevscoderepository are so similar, I think it contributed to the confusion.Chris
SteveALee commentedon Dec 5, 2015
Chris Dias (@chrisdias) Thanks for explaining.
It would be good to ensure any differences other than Branding / telemetry are clearly documented. At least we don't need to be concerned that this is a 'bait and switch' manoeuvre as the branded version is free :)
chrisdias commentedon Dec 7, 2015
Steve Lee (@SteveALee) You can look at the
product.jsonthat is installed with the Visual Studio Code product to see what we configure.SteveALee commentedon Dec 7, 2015
Hah, of course. Thanks.
chrisdias commentedon Apr 18, 2016
Erkin Alp Güney (@erkinalp) i'm not sure i understand the comment. what is the showstopper?
erkinalp commentedon Apr 18, 2016
Chris Dias (@chrisdias): It would be, but it is not now, i.e. a wish.
NickCraver commentedon Jul 25, 2016
Chris Dias (@chrisdias) This distinction shouldn't be buried in an issue somewhere. The branding isn't changing, and the names (and abbreviations) everyone interchanges will forever perpetuate this licensing confusion. This needs to be content readily available from https://code.visualstudio.com/License. A blurb at the top with a link to the repo license would fix this for an increasing number of people.
Right now, if I pull up the VS Code license, I'm going to read it and think:
Well that seems wrong. There's a Marketplace explicitly for distributing those extensions. What is this trying to say?
...so I can't fix something and make a PR? Because it'd be illegal.
Does this mean I can't click cancel on an update? That minimizes a Microsoft notice.
So I can't put the installer on a share? Sections 1 and 5 are in conflict as to what a user can do.
...we're all developers here. We all know this is confusing. Look at the laundry list of issues relating to this one linked in history. Can we please fix this with a small blurb of text at the top of https://code.visualstudio.com/License?
chrisdias commentedon Aug 2, 2016
Hi Nick Craver (@NickCraver),
Thanks for posting this suggestion. I can see how the product license can generate questions for developers wishing to contribute to the product.
As a result, I've updated the stable and insider pages to clarify that the license is for VS Code the product and that the source is licensed under the MIT license. The localized license pages will be updated as soon as I get the translations back.
Chris
NickCraver commentedon Aug 2, 2016
Thanks Chris, that little blurb is a fantastic addition. I really appreciate you improving this!
SamB commentedon Sep 19, 2016
Um, wouldn't this get less dupes if it was left open until such time as MS realizes that they can maintain their brand in a less confusing and contradictory manner?
jsolisu commentedon Oct 22, 2016
¿Can we modify the product.json file on "Code OSS" without restriction acording to MIT License?
veeara282 commentedon Apr 20, 2017
Chris Dias (@chrisdias) With all due respect, this sounds like an argumentum ad populum: since other companies are re-licensing their open-source apps under proprietary EULA's (case in point: Oracle, Google, and JetBrains), we should do it too. You distribute this software free of charge, and adding a custom look and feel and extension gallery doesn't seem to justify re-licensing it in this way. As a counterexample, both the source and binary distributions of Atom come with the package manager and are released under the MIT License. What gives?
Clarifying README