New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Menu license links to non Open Source license #60

Closed
jsmanrique opened this Issue Nov 18, 2015 · 20 comments

Comments

Projects
None yet
@jsmanrique

jsmanrique commented Nov 18, 2015

I've just downloaded it:

Version 0.10.1
Commit df352367df2efcfa9d602d471e4e2f42140a0f05
Date 2015-11-17T15:21:23.766Z
Shell 0.34.1
Renderer 45.0.2454.85
Node 4.1.1

The license link points to non Open Source license:
https://code.visualstudio.com/license#vscode

For example:

[...] users cannot opt out of data collection [...]
You may not
* work around any technical limitations in the software;
@chrisdias

This comment has been minimized.

Show comment
Hide comment
@chrisdias

chrisdias Nov 21, 2015

Member

This is correct. VS Code the product has a different license than the code in the repository.

Member

chrisdias commented Nov 21, 2015

This is correct. VS Code the product has a different license than the code in the repository.

@chrisdias chrisdias closed this Nov 21, 2015

@hartwork

This comment has been minimized.

Show comment
Hide comment
@hartwork

hartwork Nov 21, 2015

@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.

hartwork commented Nov 21, 2015

@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

This comment has been minimized.

Show comment
Hide comment
@jangelfdez

jangelfdez 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

jangelfdez commented 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

This comment has been minimized.

Show comment
Hide comment
@alexandrev

alexandrev 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.

alexandrev commented 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

This comment has been minimized.

Show comment
Hide comment
@lontivero

lontivero Nov 22, 2015

+1 to reopen it. This is not clear enough.

lontivero commented Nov 22, 2015

+1 to reopen it. This is not clear enough.

@chrisdias

This comment has been minimized.

Show comment
Hide comment
@chrisdias

chrisdias Dec 3, 2015

Member

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

Member

chrisdias commented 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 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

@SteveALee

This comment has been minimized.

Show comment
Hide comment
@SteveALee

SteveALee Dec 5, 2015

@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 :)

SteveALee commented Dec 5, 2015

@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

This comment has been minimized.

Show comment
Hide comment
@chrisdias

chrisdias Dec 7, 2015

Member

@SteveALee You can look at the product.json that is installed with the Visual Studio Code product to see what we configure.

Member

chrisdias commented Dec 7, 2015

@SteveALee You can look at the product.json that is installed with the Visual Studio Code product to see what we configure.

@SteveALee

This comment has been minimized.

Show comment
Hide comment
@SteveALee

SteveALee Dec 7, 2015

Hah, of course. Thanks.

SteveALee commented Dec 7, 2015

Hah, of course. Thanks.

@chrisdias

This comment has been minimized.

Show comment
Hide comment
@chrisdias

chrisdias Apr 18, 2016

Member

@erkinalp i'm not sure i understand the comment. what is the showstopper?

Member

chrisdias commented Apr 18, 2016

@erkinalp i'm not sure i understand the comment. what is the showstopper?

@erkinalp

This comment has been minimized.

Show comment
Hide comment
@erkinalp

erkinalp Apr 18, 2016

@chrisdias: It would be, but it is not now, i.e. a wish.

erkinalp commented Apr 18, 2016

@chrisdias: It would be, but it is not now, i.e. a wish.

@NickCraver

This comment has been minimized.

Show comment
Hide comment
@NickCraver

NickCraver Jul 25, 2016

@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?

NickCraver commented Jul 25, 2016

@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?

@chrisdias

This comment has been minimized.

Show comment
Hide comment
@chrisdias

chrisdias Aug 2, 2016

Member

Hi @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

Member

chrisdias commented Aug 2, 2016

Hi @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

This comment has been minimized.

Show comment
Hide comment
@NickCraver

NickCraver Aug 2, 2016

Thanks Chris, that little blurb is a fantastic addition. I really appreciate you improving this!

NickCraver commented Aug 2, 2016

Thanks Chris, that little blurb is a fantastic addition. I really appreciate you improving this!

@SamB

This comment has been minimized.

Show comment
Hide comment
@SamB

SamB 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?

SamB commented 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?

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Oct 12, 2016

Anyone who accepts that proprietary license is legally prohibited from contributing to this project. The license states: "You may not...reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software". Accessing this GitHub repository is an attempt to derive the source code for the software.

ghost commented Oct 12, 2016

Anyone who accepts that proprietary license is legally prohibited from contributing to this project. The license states: "You may not...reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software". Accessing this GitHub repository is an attempt to derive the source code for the software.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Oct 13, 2016

@chrisdias "You can look at the product.json that is installed with the Visual Studio Code product to see what we configure." Indeed we can, but are we permitted to? The Berne convention or your proprietary license would seem to apply and make anything in your product.json file copyrighted and forbidden to use, so we aren't allowed to just copy and paste it into ours. I searched through the source code with grep but couldn't find an example in this repository.

ghost commented Oct 13, 2016

@chrisdias "You can look at the product.json that is installed with the Visual Studio Code product to see what we configure." Indeed we can, but are we permitted to? The Berne convention or your proprietary license would seem to apply and make anything in your product.json file copyrighted and forbidden to use, so we aren't allowed to just copy and paste it into ours. I searched through the source code with grep but couldn't find an example in this repository.

@jsolisu

This comment has been minimized.

Show comment
Hide comment
@jsolisu

jsolisu Oct 22, 2016

¿Can we modify the product.json file on "Code OSS" without restriction acording to MIT License?

jsolisu commented Oct 22, 2016

¿Can we modify the product.json file on "Code OSS" without restriction acording to MIT License?

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost Oct 23, 2016

@jsolisu We can, but my point is that the product.json included in Microsoft's pre-built deb is governed by their proprietary license, meaning we are not allowed to copy its text into the MIT-licensed version and thus cannot use the extensions gallery while retaining our freedoms.

ghost commented Oct 23, 2016

@jsolisu We can, but my point is that the product.json included in Microsoft's pre-built deb is governed by their proprietary license, meaning we are not allowed to copy its text into the MIT-licensed version and thus cannot use the extensions gallery while retaining our freedoms.

@aidan-fitz

This comment has been minimized.

Show comment
Hide comment
@aidan-fitz

aidan-fitz Apr 20, 2017

@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?

aidan-fitz commented Apr 20, 2017

@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?

slodki added a commit to slodki/vscode that referenced this issue Jun 14, 2017

Clarifying README
Clarifying product name and its licensing.
Related to #60, #1230, #2982, #3029, #5342, #17996.
Based on @chrisdias [comment](Microsoft#2983 (comment)) and [comment](Microsoft#60 (comment))
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.