-
Notifications
You must be signed in to change notification settings - Fork 30.6k
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
Comments
@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) |
@otrsk I'm not clear what you mean by "depend on"? Maybe describe a scenario in more detail. |
@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? |
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 :)
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 |
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. |
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. |
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. |
Serve only is not a solution unfortunately because you should be able to run the extension even without connection. |
What if the extension just checks once a day or so if the license is still active? |
After 5 years Microsoft still think that open-source means free. 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? |
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? |
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. |
I haven‘t figured out the details yet, but I would like to have a trail license. |
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. |
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.
The text was updated successfully, but these errors were encountered: