Skip to content
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

Add support for premium extensions #90648

Open
gjsjohnmurray opened this issue Feb 14, 2020 · 16 comments
Open

Add support for premium extensions #90648

gjsjohnmurray opened this issue Feb 14, 2020 · 16 comments
Labels
feature-request Request for new features or functionality

Comments

@gjsjohnmurray
Copy link
Contributor

This was previously raised in #36577 but that is closed and locked. Rather than reopen it please allow this one to be a backlog candidate at least, so interested folk can upvote it.

@JacksonKearl JacksonKearl added the feature-request Request for new features or functionality label Feb 14, 2020
@OrestTa
Copy link

OrestTa commented Nov 24, 2021

@gjsjohnmurray is it OK to, as a workaround, have a vscode extension depend on a third-party premium account? (e.g. redirect to an external paywall unless the user purchased a plan with the extension's developer)

@gjsjohnmurray
Copy link
Contributor Author

@otrsk I'm not clear what you mean by "depend on"? Maybe describe a scenario in more detail.

@OrestTa
Copy link

OrestTa commented Nov 24, 2021

@gjsjohnmurray Sure: I'm wondering if it would be OK with VSCode for a VSCode extension to not be (fully) functional without a premium account with the extension developer's web server - if so, then this would mostly alleviate the limitation of extensions being always free, right?

@semanticdiff
Copy link

Just chiming in that I would be interested in this too to port DiffLens (https://github.com/marketplace/difflens) as a VSCode extension. I'm hoping a lot of the infrastructure for this already exists since full VS supports paid extensions. Perhaps it's a matter of getting the PMs for VSCode and VS talking to each other :)

if so, then this would mostly alleviate the limitation of extensions being always free, right?

Conceptually yes, this is do-able I think. I don't think it's optimal in terms of customer experience though. Having a free trial followed by Microsoft billing customers would be perfect IMO

@equinusocio
Copy link

equinusocio commented Oct 10, 2022

As i mentioned in the closed issue, the main problem is the fact that vscode downloads all the extension file in the local folder. So any extension can be tweaked, cloned and republished, removing any sort of paywall or server-side validation.

We should be able to encrypt local extensions, or prevent vscode to download the files and run them from the server maybe. Just suggestions.

@equinusocio
Copy link

equinusocio commented Apr 10, 2023

WIth 5k+ open issues don't think this will happen. Just stopped publishing free work on the marketplace. Material theme and moxer theme are my last oss free project for vscode.

@FLUXparticle
Copy link

As i mentioned in the closed issue, the main problem is the fact that vscode downloads all the extension file in the local folder. So any extension can be tweaked, cloned and republished, removing any sort of paywall or server-side validation.

We should be able to encrypt local extensions, or prevent vscode to download the files and run them from the server maybe. Just suggestions.

Any idea how we could implement this in our plugin (without the help of Microsoft)? In another project I published only part of the software and made it load the rest from my server so I could check the account. Blizzard did the same with Starcraft 2 BTW. But I since I am not familiar with JS or VS Code development I am not sure I could implement such a solution in a quality way.

@equinusocio
Copy link

Serve only is not a solution unfortunately because you should be able to run the extension even without connection.

@FLUXparticle
Copy link

What if the extension just checks once a day or so if the license is still active?

@equinusocio
Copy link

equinusocio commented Aug 10, 2024

After 5 years Microsoft still think that open-source means free.
We steel need a way to publish premium extensions and monetize our time and work.

On our side, we moved to closed source and we nowship obfuscated code. Next steps is finding a way to distribute paid extensions and give updates without shipping vsix files.

@FLUXparticle did you find a solution you want to share?

@FLUXparticle
Copy link

I am not in the monetisation phase yet but my plan is the following: I publish a small VSIX which checks once a day if the user has a license and downloads the rest of my extension as WASM if not found in cache. I want to use GitHub Marketplace for payment processing. To do so I had to fill a waitlist of 200 people interested in my extension.

@equinusocio
Copy link

I am not in the monetisation phase yet but my plan is the following: I publish a small VSIX which checks once a day if the user has a license and downloads the rest of my extension as WASM if not found in cache. I want to use GitHub Marketplace for payment processing. To do so I had to fill a waitlist of 200 people interested in my extension.

So your extension is built in a way that can work even if the premium part is missing? or the premium add-on will replace and enrich the code of the free version?

@FLUXparticle
Copy link

The „free version“ does nothing else than tell users they need a license.

@equinusocio
Copy link

The „free version“ does nothing else than tell users they need a license.

ah ok thank you for the info. So there isn't any trial version.

@FLUXparticle
Copy link

I haven‘t figured out the details yet, but I would like to have a trail license.

@ShawnRoller
Copy link

Doesn't solve all the issues laid out here, but this package/platform adds licensing and paywalls to extensions without needing to roll your own server.

https://codecheckout.dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request Request for new features or functionality
Projects
None yet
Development

No branches or pull requests

7 participants