Distribute and Monetize IntelliJ/WebStorm Plugins Follow
I have some very general question on plugin development:
- Am I generally allowed to monetize an IntelliJ/WebStorm plugin? What restrictions are there? Is there any support from JetBrains in terms of licensing/billing or alike?
- Is there any support from JetBrains in distribution?
Thanks for your help. I'm sure I will follow up with dozens of technical questions as well soon ;)
Please sign in to leave a comment.
Yes, you're allowed to do this, and several of us are already doing so. I'm working on Cursive (https://cursive-ide.com), there's also WallabyJS (http://wallabyjs.com), Illuminated Cloud (http://www.illuminatedcloud.com), Armory (http://www.visprogramming.com/docs/overview) and MultiMarkdown (http://vladsch.com/product/multimarkdown) that I know of.
Generally there is no support (except for occasional moral support) from JetBrains, so you'll have to write your own licensing code etc, which is a pain since it's a surprising amount of work and from your users' point of view is very different to how they're used to managing their licensing. There is hope that this might change though, there have been some mutterings but not much more. There is no assistance with distribution either.
Let us know if you have any further questions!
thanks a lot for your reply and the moral support ;)
So you guys are all managing licensing with your own custom implementations or do you have any third-party library/service supporting this at least on the server side? So that one would only have to worry about chechking license-validity in the plugin itself but not worry about license generation, billing what so ever?
I wrote all my own licensing code, it's not that hard but it's a little fiddly to get right. It's a digital signature, basically. I'm using Paddle (https://www.paddle.com) for billing, and they've been good. If you'd like some pointers on how to integrate with them or an introduction, drop me a mail (<firstname>@<firstname><lastname>.net). You'll need a server component somewhere that responds to a webhook from them and generates a licence. They do also offer some licence generation facilities, but I don't recall the details - I'm not using it.
Recently I've been looking into how JetBrains might support developers of paid plugins with licensing/billing solution, but at this point we don't have any agreed plan or decision made whether JetBrains would do that or not. I'd be very glad to discuss with you some of the ideas we have to understand what level of support would be interesting for you, please drop me an email at mikhail.vink [at] jetbrains.com
Hopefully this is ok to suggest on forum too. The ideal support level may be:
While these tasks may be done by plugin devs, they require additional efforts.
JetBrains could also check plugin for code which may not be related to advertised plugin features.
A bit like certain AppStores.
Thanks for the information, Imants! Yes, writing in forums is totally good for me as well.
Great to hear that you've been looking into this, I've had some side conversations with some JetBrains folk but nothing official. Here's what I think is most important:
I'll throw in my own $0.02. Like Colin, I've had a few discussions with JetBrains folks around this particular topic and am very interested in what comes of it in the future.
Right now I already have code obfuscation via a well-known solution and am happy with that. I also have an online payment processor that operates based on a percentage-of-revenue from each unit sold. I've integrated a third-party cross-platform library for license key generation and enforcement that integrates well with my payment processor and operates based on a monthly recurring fee based on the number of active licenses.
While I'm generally content with my online payment processor, I'm not entirely thrilled with my license key solution. It works, but it's not without its issues. Right now there are some issues with how the solution determines the uniqueness of the underlying machine to which the license is tied such that false negatives are raised from time to time. To be fair, there's a fix for that issue that's being readied for release now, but it's been quite a pain.
Additionally, there's not a great way for my customers to perform centralized license management, e.g., if a developer leaves and the license should be reassigned to another developer, or if a workstation dies and the same license key should be used on another workstation (this evidently happens more than I'd have thought!). Right now my users contact me in these situations and I help them, but again like Colin, I've had increasing numbers of department(/company)-level purchases where this should be something that the customer's IT can manage internally. I can implement this using the license management solution's API, but I'd prefer to avoid that if possible and take advantage of something with more self-service type features.
As one last comment on the license key management aspect, it would be wonderful if there were some way to grandfather existing license keys into anything offered by JetBrains so that I just have to update the service being used and not redistribute keys to existing customers, nor do I have to maintain two licensing options indefinitely.
And of course a user of my plugin is also automatically a user of IntelliJ IDEA. While a number of these users are on Community Edition, over half are using Ultimate Edition and would love to be able to tie end-to-end management of my plugin into their existing Toolbox license model.
I'm happy to provide additional thoughts as needed going forward!
2c from me as well. I'm working on wallaby.js and even though I also sell licenses for other platforms/IDEs, IntelliJ platform integration licenses is a big part of my sales.
I'd say for me personally license management and payment processing are equally important (simply because I need to have both for other platforms anyway). So ideally, I'd just like to be able to use JetBrains infrastructure for everything.
It would be great if when purchasing/renewing JetBrains products, a user could just add some commercial plugins he would like to use, the total price would include those plugins, the platform would use whatever licensing mechanism it uses for itself for the plugins as well (including a license server).
A solution like this would allow to have a low entry barrier for new comers who would like to start selling their plugins without too much time spent on the infrastructure.
For existing vendors with higher sales volumes and existing payment/licensing solutions it will largely depend on the rates that JetBrains would charge for the service.
A separate licensing solution that could integrate with a third-party payment processor would be awesome too. And as a vendor I'd love to have and ideally for free :), but I don't see much commercial value for JetBrains in it. Except as an investment into the commercial plugins ecosystem growth, but I don't believe the absence of such mechanism is a significant growth barrier for the ecosystem.
First of all, thanks a lot for your comments here - they've helped us a lot! We're doing some prototyping/planning work around this project, and will share more information about our plans and estimates publicly in upcoming months.
At this moment we're running a series of interviews / proposed terms disclosure with paid plugin developers to verify some of our ideas and plans before setting them in stone, so I've emailed everyone on this thread to talk about it.
Feel free to point others here or to me directly (mikhail.vink [at] jetbrains.com or @mikhail_vink).
Any update on the latest status of this development? I too am interested in a solution provided by JetBrains. I can't contribute much knowledge on how JetBrains could implement this, just what I like to see as a beginning plugin developer. Basically, make it as easy for developers and customers to sell and buy add-ons as it is to sell and buy Android or Apple apps.
I too, have a plugin idea in mind, which I would invest in provided there would be easy monetization option.
We have some exciting public news to share: JetBrains Marketplace.
Today we are delighted to share something with you which has been in the works for quite some time and has come about because of earlier requests from some of you. We are also seeing a growing interest in this opportunity from IntelliJ Platform plugin developers.
Meet JetBrains Marketplace, a new platform and an evolution of the plugins repository which turns it into a marketplace for third-party plugin developers to sell their plugins and take advantage of an out-of-the-box licensing and billing solution provided by JetBrains.
The Early Access Program is already available, and we are ready to start the technical testing of a few third-party plugins that are ready to switch to the Marketplace in the nearest future.
(in addition to what we have been talking about in DM)