eclipse / openvsx

An open-source registry for VS Code extensions
https://open-vsx.org/
Eclipse Public License 2.0
1.28k stars 146 forks source link

Hide non-free extensions #341

Open Mazwak opened 3 years ago

Mazwak commented 3 years ago

Hello

Related to #335, it would be nice to be able to hide non-free extensions when searching, web or ide.

Or at least, make it visually obvious if the extension is free or not.

spoenemann commented 3 years ago

What do you mean by "free"?

Section 3.e of the Publisher Agreement says

You expressly acknowledge that neither Eclipse nor any licensee or end-user of any of your Offerings published on the Registry shall be required to provide you with any compensation for the distribution or use of your Offering as made available on the Registry.

As I understand this, only free-of-charge extensions are allowed to be published.

Mazwak commented 3 years ago

Sorry, I meant "Free software".

I’m not against proprietary extension. I just don’t want to use them.

Example, searching "remote" : https://open-vsx.org/?search=remote

I can’t filter out non-free (software) extensions. I have to check every extensions.

spoenemann commented 3 years ago

Ok, but the boundary is quite unclear then. Some would regard only GPL-licensed extensions as free. Others would accept OSI-approved licenses. And then there are licenses that give you lots of freedom, but may restrict in certain aspects. Where to draw the line?

Mazwak commented 3 years ago

I don’t know many lists, only DFSG or OSI. Anything would suit me.

It could be a flag, filled by publisher, on a trust basis.

In #335, you say auto-publish is based on open-source, so it could also flag free/non-free from autopublish.

spoenemann commented 3 years ago

Ok, keeping this as a feature request.

Mazwak commented 3 years ago

Thanks

HuJK commented 3 years ago

I agree, I think a divisions system or a flag system make our registry more flexible.

We can search by flag or exclude by flag.
We can also embed some condition in base URL in the vs code setting and it will apply to entire vs-code scope.

And there some predefined flags applies to all plugins such as main, contrib or non-free like the apt registry of debian.

  1. main: All free software that follows the DFSG (Debian Free Software Guidelines)
  2. contrib: Free software that follows DFSG but depends on software in non-free.
  3. non-free: All kinds of non-free software that doesn't follow the DFSG.

For example, assume my environment doesn't allows me to use any proprietary plugins, I can set this in vs code:

"extensionsGallery": {
    "serviceUrl": "https://open-vsx.org/vscode/gallery?divisions=main",
    "itemUrl": "https://open-vsx.org/vscode/item?divisions=main"
}

So that it will only shows opensource plugins in the whole vs-code environment.

vince-fugnitto commented 1 year ago

Some additional details, we could also support the pricing label declared in the extension's package.json (https://code.visualstudio.com/api/working-with-extensions/publishing-extension#extension-pricing-label) and display such extensions with a pricing label on their page. In the future we can allow users to filter out "trial" (non-free) extensions using the division system.