microsoft/vscode

Marketplace license violation during Code-OSS build?

randomir opened this issue ยท 13 comments

According to #81173, use of Microsoft Marketplace from Code-OSS forks is in violation of the Marketplace terms.

But since some extensions are downloaded from the marketplace during build, isn't just building a (patched) fork in violation of the marketplace terms?


Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: a wide range, including latest
  • OS Version: any

Steps to Reproduce:

  1. build vscode repo fork
  2. built-in extensions are downloaded from the MS marketplace
  3. terms violated?

Any updates on this one, @isidorn?

Ultimately, I would like to include additional bultin-in extensions in a 3rd party Code OSS build (pulling them from MS VS Marketplace during build), and I'm wondering if that's permissible. My interpretation (but I'm not a lawyer or license specialist) is that VS Marketplace forbids it -- but if that's correct, then bundling extensions during build in this repo (Code OSS) is also in violation of the license.

What am I missing? Thanks!

@randomir thank you for creating this issue. I am also not a lawyer or a license specialist so I have to consult someone with more expertise in this area. Once I have more information I will comment here. Thank you for your understanding.

Sounds good, thank you @isidorn!

You can clear builtinExtensions to not download them actually.

That's correct, @xsrvmy. However I would like to do the opposite -- to add a few more built-in extensions -- if that does not constitute a violation of the Marketplace/VSCode license terms.

Actually I think this could be considered a bug: the link in build/lib/extensions.ts should be configured in product.json instead, so that it can be changed to point to a different marketplace. It is a template strings though which makes things complicated.

Exactly, I was surprised to see the marketplace link is hard-coded. But that can't be accidental, because hard-coded Client-Id and User-Id are sent in headers in API requests to the (hard-coded) marketplace endpoint.

So, either: (a) the distinction between build time and run time makes a difference for marketplace use/terms, or (b) this is a bug that causes violation of marketplace terms.

The letter of the ToU states that it is running the extension downloaded from the marketplace in a fork of vscode that violates the marketplace terms. I have actually decided to file a bug against the marketplace because this causes an unclear licensing situation especially with GPL and CC licenses. The other approach, limiting the use of the API to VSCode itself, would not.

In regards to including extensions yourself, when you run vscode in development mode, there is a --builtin flag which allows you to change if you want to supply the extension via vscode marketplace, disable it, or bundle it locally. From there you can select a vsix file downloaded/compiled from github directly. Of course if you are going to build from source and want to add a lot of third-party extensions, you can always change the hard coded url.

Built-in extensions being downloaded from the MS marketplace for Code OSS is not ok. It is a bug which we plan to fix.
I will assign this item to the February milestone which means we will start looking into a solution. I will post updates here on the progress.
Thanks for raising this issue.

We have started the investigation and work for this, but this will carry over to the next milestone, thus assigning to March.

This has been fixed in the latest VS Code main. Built-in extensions are no longer being downloaded from the Marketplace.
Thanks a lot @connor4312 for cleaning up this process ๐Ÿ‘

Thank you for the update, @isidorn. Is there a PR that fixed this issue, that you can reference here (for posterity)? Thanks!

Sure, here it is #146863