microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
161.01k stars 28.25k forks source link

Can I put the extensionsGallery on my vscode fork? #31168

Open evandrocoan opened 7 years ago

evandrocoan commented 7 years ago

By default the https://github.com/Microsoft/vscode does not come with key:

"extensionsGallery": {
    "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
    "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
    "itemUrl": "https://marketplace.visualstudio.com/items"
}

on its https://github.com/Microsoft/vscode/blob/master/product.json file. That entry is required to install extensions from the marketplace as showed on:

  1. https://stackoverflow.com/questions/37143536/no-extensions-found-when-running-visual-studio-code-from-source

Also there is this commits, where their developer putted the key:

  1. https://github.com/Microsoft/vscode/commit/b00945fc8c79f6db74b280ef53eba060ed9a1388
  2. https://github.com/Microsoft/vscode/commit/f1d0c1d88417f85ec66fa5629beca64ef71ac8b8

But sequentially removed it justifying:

Revert inadvertant change to product.json

Why they are removing it? Seems they are using it while developing, as we may see he let slip the line to the upper stream. Can I put it on my fork? Or I can only use it locally as they seem to be doing?


Related issues:

  1. https://github.com/Microsoft/vscode/issues/60 Command "Extensions: Install Extension" missing when running vscode from source
  2. https://github.com/Microsoft/vscode/issues/2647 Command "Extensions: Install Extension" missing when running vscode from source
  3. https://github.com/Microsoft/vscode/issues/28253 Can't see extensions or load via command line
  4. https://github.com/Microsoft/vscode/issues/23831 How do I enable extensions in the extensions dir in OSS Dev mode
  5. https://github.com/Microsoft/vscode-wiki/pull/30 Add marketplace extension installation details
joaomoreno commented 7 years ago

cc @chrisdias @chrmarti

MattSturgeon commented 7 years ago

Since b00945f was committed under the MIT license, I would argue that you can redistribute any changes from it under a MIT compatible license.

While you cannot copy from the product.json included in the proprietary VS Code product, I would maintain that the following text has been released under MIT and therefore can be redistributed within your fork.

"extensionsGallery": {
    "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
    "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
    "itemUrl": "https://marketplace.visualstudio.com/items"
}

Being new to the project and conscious of Free Software licenses, I have never downloaded the propitiatory product, agreed to the license nor read any of the propitiatory code. My only knowledge of the above code comes through b00945f and this issue.

I am not a lawyer and this is not legal advice.

kenijo commented 6 years ago

A question on the cacheURL: https://vscode.blob.core.windows.net/gallery/index

It looks like it hasn't been updated since March 2017. The most recent "lastUpdated" date is 2017-03. It there anyway to get this fixed or to get working URL?

dtinth commented 5 years ago

Based on this comment, the answer is yes?

ghost commented 5 years ago

Even if it wasn't licensed, the code in question is so tiny and generic (it's literally a few labels and web addresses) that I would question whether it's even copyrightable in the first place.

jens1o commented 5 years ago

@chrisdias any legal update?

ivanfilhoz commented 5 years ago

Acknowledging some public URLs and copying them into the settings file of your own product isn't a copyright infringement at all.

nhooyr commented 5 years ago

@ivanslf its not just about copying the lines, the terms of use for the vs code marketplace state that it can only be used with visual studio products. It's not clear whether that includes forks.

rrmckinley commented 4 years ago

This exists now https://projects.eclipse.org/proposals/eclipse-open-vsx-registry https://devclass.com/2020/03/31/eclipses-theia-sees-1-0-declared-not-your-parents-ide/

http://open-vsx.org/ Extensions for VS Code Compatible Editors

Sven Efftinge, co-founder of both Gitpod and TypeFox... continued, “Microsoft prohibits non-Visual Studio products from installing any binaries downloaded from their marketplace.”

So, “We encourage VS Code extension developers to push their extensions to Open VSX in addition to Microsoft’s marketplace.” Open VSX is “an open-source implementation of a VS Code extension registry that we have developed under the umbrella of the Eclipse Foundation”.

ivanfilhoz commented 4 years ago

@nhooyr @rrmckinley I wasn't aware of that, thanks.

For ethical reasons, I'm uninstalling VSCode immediately in favor of Theia.

Vendor Neutral The Theia project is hosted at the Eclipse Foundation, a not-for-profit corporation, and is developed by a diverse community. Unlike other "open-source" projects, projects hosted at an Open-Source Foundation are protected against single-vendor decisions against the interest of the diverse community. Learn more here.

rrmckinley commented 4 years ago

@ivanfilhoz It was announced today so very few people were aware.

https://github.com/eclipse-theia/theia/issues/7072 https://github.com/eclipse-theia/theia/commit/73bd544d99a1f93159cc83cedd9769e627033811

If you get the chance, I'd love to hear your first impressions of Theia 1.0, thanks

I've created a feature request for the VSCodium project which would allow this on plain Code and not just Theia https://github.com/VSCodium/vscodium/issues/372

spoenemann commented 4 years ago

For ethical reasons, I'm uninstalling VSCode immediately in favor of Theia.

@ivanfilhoz Theia is not an editor/IDE, but a framework for building IDEs. There's no generic Theia-based application that you could download at the moment. But of course anyone is free to start a new project using Theia to build an Electron app that mimics VS Code.

rolodato commented 4 years ago

The current ToS for Visual Studio Marketplace say (emphasis mine):

[...] Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) [...] Marketplace Offerings are intended for use only with Visual Studio Products and Services and you may only install and use Marketplace Offerings with Visual Studio Products and Services.

IANAL, not legal advice etc but in my opinion this means that VS Code forks cannot use the Marketplace directly. A fork of VS Code is not VS Code.

MattSturgeon commented 4 years ago

The current ToS for Visual Studio Marketplace say

Perhaps, but that's only relevant if you've agreed to the ToS.

rolodato commented 4 years ago

The terms also say:

By accessing or using the Marketplace, you represent and warrant to us that you have the authority to accept this Agreement, and you agree to be bound by its terms.

debo commented 3 years ago

The current ToS for Visual Studio Marketplace say (emphasis mine):

[...] Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) [...] Marketplace Offerings are intended for use only with Visual Studio Products and Services and you may only install and use Marketplace Offerings with Visual Studio Products and Services.

IANAL, not legal advice etc but in my opinion this means that VS Code forks cannot use the Marketplace directly. A fork of VS Code is not VS Code.

Why fork it then? Wouldn't it be best to just clone vscode, add the official marketplace and compile that? Assuming you can because I still didn't manage to be fair. It would be nice to have an "official" straight forward and clear answer from Microsoft on this.

gasinvein commented 3 years ago

@debo I'm not sure if a custom vscode build is considered "Visual Studio Code" in legal terms. It's even named differently, "Code - OSS".

debo commented 3 years ago

@gasinvein that's my thought exactly, hence my comment on the quoted one.

However, this message from one of the core contributors seems to state otherwise so I'm a bit confused to be fair.

spoenemann commented 3 years ago

This article states very clearly that "Visual Studio Code" and "Code - OSS" are different things: https://github.com/microsoft/vscode/wiki/Differences-between-the-repository-and-Visual-Studio-Code

See also #60.

debo commented 3 years ago

Absolutely, but then why a core developer, Microsoft representative, would say otherwise, that you can use the marketplace with Code - OSS?

soredake commented 3 years ago

Still no answer for this?

taylorjdawson commented 3 years ago

What is the official verdict?

ankit2web commented 3 years ago

I think I need to uninstall vscode effective immediately considering this issue is open since 2017 & the legality of this issue hasn't been yet decided.

therealdandecker commented 3 years ago

I interpret from this link shared earlier in this thread that the Visual Studio Marketplace is closed source and its not legal to use the marketplace in another distribution of the open source code. Microsoft explicitly states it in their vscode repo.

jthoward64 commented 2 years ago

Any update on any internal discussion on this in the last fourteen months? Even a simple "we can't give any legal advice here" would be fine, but unless I missed someone nobody from Microsoft has said anything for almost FIVE YEARS. Any information at all would be much appreciated!

toddewilliams commented 2 years ago

Since Microsoft won't directly interpret their Visual Studio Marketplace Terms of Use for you, I will since they're quite clear:

Short Answer: NO, YOU CANNOT LEGALLY USE THE MICROSOFT MARKETPLACE IN ANY NON-MICROSOFT PRODUCT.

Long Answer: To see this for yourself, begin by selecting the Terms of Use link at the bottom of the Marketplace page.

In Section 1b of the Terms of Use, please note the following prohibition stating how the marketplace may legally be used: Marketplace Offerings are intended for use only with In-Scope Products and Services and you may install and use Marketplace Offerings only with In-Scope Products and Services.

OK, so you can only use the marketplace to install software for use by "in-scope products and services". So what are those?

That is answered in the introductory paragraph of the Terms of Use: The Marketplace enables you to access or purchase products or services which are designed to work with and extend the capabilities of Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, GitHub Codespaces, Azure DevOps, Azure DevOps Server, and successor products and services (the “In-Scope Products and Services”) offered by us and GitHub, Inc. (“GitHub”).

The services are explicitly listed, and must come from us (Microsoft) and GitHub.

In addition to this, the vast majority of the Microsoft extensions have additional license agreements that also explicitly forbid their use in non-Microsoft products. For example, the license for Live Share is quite clear in Section 1: INSTALLATION AND USE RIGHTS. You may install and use any number of copies of the software to use solely with Microsoft Visual Studio family of products.

So - "Can I put the extensionsGallery on my vscode fork?" No, you absolutely may not and you may not use the marketplace to install software into your fork. The entire reason OpenVSX exists is because using Microsoft's marketplace for non-Microsoft products is expressly illegal.

Perhaps someone with access can now mark this issue as 'Resolved'.

theAkito commented 2 years ago

@toddewilliams

Thanks for the effort. This clarified everything and I think we all can understand now, without a doubt. 😃

toddewilliams commented 2 years ago

Hey @chrisdias, I believe you can close this now, unless you want to officially contradict the analysis in my prior comment.

StarNumber12046 commented 1 year ago

as far as I know, if you HAVE vscode, you can use the marketplace BUT not distribute it

GitMensch commented 8 months ago

Hm, this is still open, not resolved... Actually @chrisdias wrote in https://github.com/Microsoft/vscode/issues/1557#issuecomment-173449135

yes, you can configure product.json to point to the official marketplace. look in the product.json that is installed with the visual studio code distro for the url.

So that does contradict to @toddewilliams analysis. As others pointed out: it is totally fine to have extensions published in the MS marketplace that are explicit licensed only for use with Microsoft Visual Code - but what would be the point of the marketplace to forbid its use with OSS vscode, especially as it is also allowed to be accessed via any browser?

As vscode is the only OSS the list could easily be adjusted to read;

-Visual Studio Code, GitHub Codespaces, Azure DevOps, Azure DevOps Server, and successor products and services
+Visual Studio Code and derivatives thereof, GitHub Codespaces, Azure DevOps, Azure DevOps Server, and successor products and services

... it may be good to update the marketplace TOU as the use is said to be only valid

for use only with In-Scope Products and Services

where does accessing it with the browser instead of the APIs fit there?

toddewilliams commented 8 months ago

@chrisdias is not in a position to speak for Microsoft and was likely told he overstepped his role in his prior comment. That is why he has not commented further.

And while it is true that you can configure project.json to point to the official marketplace that doesn't mean you may (ie. you legally are permitted to do it). Licenses tell you what you are legally permitted to do and they are very clear on this point; I stand by my prior analysis, above.

Microsoft benefits from not answering this question directly as the only answer is to admit that you are not permitted to use the their official marketplace in anything that isn't a Microsoft product. They don't want to do that for obvious reasons.

I continue to invite an actual representative of Microsoft to contradict my prior analysis and close this issue if I've made any errors in the interpretation of their licenses.