Premium Plugins?

First, it's with a heavy heart that I'm even bringing this up. I'd like to ask the community what you think about the concept of premium plugins (i.e. not free)? There are already premium phone and cloud based applications that connect to OctoPrint in some way, but nothing that I'm aware of within Octoprint itself.

There are many open-source developers who are making and supporting lots of great plugins. Some of them would like to be able to work part or even full-time on these projects. However, in the open source world one often ends up writing software at a net loss (sometimes huge). For many of us, this is fine, but it means less time spent on plugins and more time spent working a day (and sometimes night) job. In my case it means fewer new features/bug-fixes and fewer support tickets answered. I bet there are lots of plugin ideas that have never been implemented because no 'app store' exists, and there is no clear path to recouping some of the massive time and effort that most development requires. Patreon is great, but even OctoPrint itself deserves more support (it's not like @Foosel has a full-time staff of developers working for her, as I think she deserves).

So, I propose the following questions:

  1. Should premium plugins exist at all? What are the pros and cons?
  2. How would the mere existence of premium plugins affect OctoPrint and the popularity of OctoPrint?
  3. What changes to OctoPrint would be necessary to support this (think installation, payment, etc).
  4. What plugins/features would YOU be willing to pay for, and what would you pay?

I will amend this list as I think of more questions, and as the discussion develops.

Thank you all for your participation in the OctoPrint ecosystem!

Edit:

Suggestion #1: Some kind of integrated 'tip' system, or the ability to include links to paypal/patreon/etc.. within the plugin manager or plugins.octoprint.org somehow.

Suggestion #2: A 'premium plugins' plugin combined with an activation server. Not sure about licensing issues this may cause, but will look into this.

I'll weigh in here because I'm a long-time software developer and I still sometimes scratch my head over the entire open-sourced software ecosystem. As I indicated in a conversation this month...

Public and private repositories on github remind me of the cosmos. Stars freely shine, light the universe, warm the planets and make all life possible. Black holes give no light nor warmth, steal the light and mass of nearby stars and create ultimate destruction in their path. How can both public/private repositories exist in the same space, operate seemingly by the same rules and people aren't up-in-arms about it?

It's not fair if big entities like Amazon/Google/Microsoft/Apple/Adobe enter a space like 3D printing and attempt to create cloud-based services, receive money for this and yet much of it is built upon open source. They will of course take from what is freely available and develop it silently behind closed repositories. Anyone trying to run a printer farm should be a major sponsor for plugin development, in my humble opinion.

Returning to the topic at hand, I sometimes think that we're giving away too much for free. We expect people to do the right thing and then put money in a tip jar but that almost never happens. I also don't think that ad-based revenue works in most cases since the graphics are so obnoxious, usually.

By the 80%/20% rule, a plugin developer could put 80% of the standard functionality into a plugin and give the standard version away for free. The top 20% percent of functionality might then be available in a pro version which might cost a one-time fee of some kind and enough to support the type of questions that you usually receive. (What's unfortunate is that people are often too lazy to read the installation instructions.) Perhaps there could be two levels of support given: when-I-get-around-to-it and more prompt/genuine responses to those who paid.

I would suggest that the transition to OctoPrint's Python3 support is the right time to implement this strategy.

I have developed addons for World of Warcraft and one (so far) plugin for OctoPrint. In most of my efforts, I was filling a personal need and the additional effort to share it was minimal so I did so. I would rather give it away as open source than go to the additional effort of doing a premium version.

As a user, I'm only going to pay for a plugin if the whole project is premium. That includes documentation and support in addition to the value added by the plugin itself.

There is also the issue of implementing the structure within OctoPrint to support premium plugins. Does Gina have the cycles to do this?

To answer @FormerLurker's last question, I would pay up to a few dollars for real quality plugins. It would be a plugin that "would pay for itself" in terms of how it improved my printing process.

Honestly, I feel for FormerLurker since he's made OctoLapse. It's an amazing plugin (which I don't currently use, for what it's worth). It feels like it's a plugin which does a lot of painful work behind-the-scenes.

But if I did have a youtube channel, I would definitely need that plugin and the support for it and all the bells & whistles. But then again, I'd possibly be making money from that channel and I would consider paying for it in that case.

I currently use the Kivy python GUI framework for development and since their tip jar allows the use of those gift card—style of credit cards, I routinely pay them something to keep them going. (I'm their sixth-highest backer at the moment.) I do so because I sometimes drop in and ask a technical question on their forum; they've been generous with their time.

The Themeify plugin is pure awesome and to me, it stands out as one which I would pay $20 for, just as it is. If I did flash my Marlin often, then I would probably appreciate a rock-solid firmware flasher as a plugin and would consider paying to keep that going. I see the BedLevelVisualizer as a great tool for most people and one which might be worth some amount of money. PrintTimeGenius is another must-have plugin, I'd suggest. The CancelObject plugin probably would save your butt if you ran a printer farm. My own GitFiles plugin, again, would be more appropriate to someone with a printer farm, to be honest.

I'm of the mind that a printer manufacturer who bundles third-party plugins could/should consider paying a small stipend to keep the plugin authors interested.

My plugin is sort of a toy with no real value. It's neat, and makes me happy to work on, but at the end of the day it's not going to save you time or money. I don't really expect to turn any kind of profit or anything. I knew that going in.

However, if we expect the community to grow and keep up with the for-profits, I don't see the current course is sustainable. In the long run I believe our space may well be commandeered by large corporate entities who specialize in extracting every drop of value. I don't want to look back on this time and think of it as the golden age of the maker.

I'm assimilating your responses still, and will reply to all of your points after that.

1 Like

yes, why not
I can say in my name, I would not use plugin that is not open source (price is irrelevant, free but not open source will not touch my octoprint) but I would be willing to pay for service this open source plugin connects to. for e.g. look at the spagetty ... open source plugin that connects to 3rd party service where you have a fee (one time, monthly, yearly, whatever)

for e.g. I use (open source) telegram plugin, if telegram start charging some fee for the service I'd probably go with it as for me that is very useful tool .. but if the telegram plugin itself is closed I'd not use it..

some of you know I work for mysql for 12 years... when oracle purchased sun (that purchased mysql ab) everyone, including me, was afraid what's gonna happen... oracle introduced a plethora of paid tools (till that time it was only support that costed money, now we have whole bunch of tools, including few plugins required by some companies like thread cache and audit plugins) ... and while lot of FUD was spread around by some malicious persons and a lot of money was put into that FUD oracle just did nothing and let the market sort itself out .. those plugins still exist and ppl are happy they exist and there are free alternatives and it all just benefits both the mysql as a product and ecosystem and it benefits users... so IMO existence of "non free" services linked to octoprint will only be beneficial to us all and to the ecosystem, and while there will surely be some very loud and very visible persons complaining, the ecosystem will only see positive benefits from it all

now, as I said already, I personally would only go with open source plugin that connects to a paid service for the simple reason of knowing 100% exactly what's leaving and what's entering my network... I doubt that's a limitation many would have so even 100% closed plugin will probbly have identical acceptance rates

no clue, my knowledge of python is very rudimentary, but I think even without changes it would be super simple to have open source piece of code talking to a local executable written in whatever language compiled for native system. I fear that managing this distribution would not be easy as you have so many operating systems on so many different hardware systems that ppl run octoprint on so managing the executables is going to be nightmare... on the other hand service hosted and maintained by provider might be super simple solution

I'd probbly pay for telegram if it was not free .. dunno about any other plugin that I'd give a cent for but who knows what can ppl come up with that can be useful :slight_smile: ..

mine $.02

OK, to be upfront here... I don't code, so I have NO idea about how much work it takes to write or maintain a plugin. So any comments below are strictly as a user.

It seems to me that a large number of the available plugins are just 'nice to have' things. I'm referring to things like 'Emergency Stop buttons', ability to make the webcam full screen, custom status displays on the printer, etc. Plugins that do add nice functionality, but nothing that a person couldn't live without. That is not meant to belittle them in any way. But, it does mean that I would assume most of the users would not bother loading and installing them if there was any cost associated with them.

Then, you have the plugins like OctoLapse. This is obviously a very complicated and powerful plugin, that clearly took considerable time to write, upgrade, and maintain. I do feel that it would be reasonable to charge a fee (premium) for something as robust as it.

There was discussion about having 'lite' and 'full' versions. Wouldn't that actually be far more work for the creator? I'm not so sure that would be such a great idea. However, I DO feel that any 'premium' plugins should allow some kind of a 'free trial' period, just to make sure that it works for the buyer.

As far as the 'simpler' plugins go.... How many of them would you guys estimate get created by user requests? If a coder just decides to write one for himself (for personal use, just for fun, or whatever), and then make it available to everyone, I'm thinking they shouldn't expect any payment beyond the occasional tips. However, if someone requests a new plugin (as I recently did with the time stamp on the timelapse), well maybe that would be the time to ask the requester to pay a nominal fee, with the understanding that the plugin would still go into the public domain for others to use. Do you think that may be a viable option to get a little extra something for your work?

So to summarize... I would support the idea of 'premium' plugins, for plugins that truly are premium. As long as they come with some kind of a trial period, or a refund option if it wasn't workable for a user for some reason. And I would also fully support the idea of charging a nominal fee for 'basic' plugins that are requested by an individual, while still allowing those plugins to be used by others once they are created.

I don't love the idea of having to spin up an entire cloud-based service in order to authenticate those who have paid for a plugin, to be honest. It just adds to the overall cost (annual domain name, monthly hosting).

Personally, I would rather deliver a compiled bit of code which essentially contains a hash of the OctoPrint's API key. This way, the plugin can hash what it sees as the API key, compare it with the output of the stand-alone licensing widget, they match and the plugin will deliver the premium content.

In C, that's as simple as:

OctoPrint-Gitfiles-License.c

#include <stdio.h>

int main() {
  printf("A1B2C3D4E5F6\n");
  return 0;
}

You'd compile this for Raspian, unless the user specified otherwise. It's 8,432 byes long, as compiled within macOS (not the target). You'd deliver this to the customer and they add it somewhere within the ~/.octoprint/data/pluginID, say. That way, if the user publishes the license piece, it does nothing for anyone else.

FWIW you could do that with a Pi HAT, since it had eeprom.

256k eeprom is basically the same price as much smaller eeprom, so there's plenty of space there.

Doesn't the AGPL license for Octoprint make this essentially impossible? Plugins are very likely a derived work, so you would have to license them under the AGPL as well. You could still ask for money for your plugin, but anyone that bought it would have the right to simply distribute it under the AGPL.

I was talking about simplicity and what I'd pay for / allow to run on my *pi ... and as I said genpop would probbly be much more permissive ..

as for the cost, we'r talking $10 annually for domain (if you don't already own one for whatever you are working on, I for e.g. own 20+ different domains, and in that case you just add subdomain and that's free) and you can get away with $50 annually for hosting if you are not crunching some serious numbers and if your service is not written in cobol .. so we'r talking $5 cost per month to start ... if that's too much of investment for someone trying to sell me a service I don't want his service :slight_smile: .. and this way it's easy upgrade, easy maintainance, easy everything else .. and everything that should be open is open :slight_smile: ...

but if you go with delivering a container for every plugin, or compiling a plugin for every instance out there on demand ... that's not feasible .. that's ok if you have 3 customers but.. think about updates, think about dead pi's, dead sd cards, reinstalled octoprints, upgraded pi's ...

now I'm sure there are plugins that are not going to work / can hardly work in client/server/service manner .. for start the octolapse that's one of the largest and highly popular plugins out there, I doubt it would be very stable if it start shooting gcode to the "cloud", and sending gcode "back down" :smiley: .. not to mention what a short network glitch can do to a print :smiley: :smiley: :smiley: ... on the other hand telegram, thespaghettydetective, usage statistic etc etc.. are ideal for that model

What changes to OctoPrint would be necessary...?

I'm not completely convinced that any changes would be necessary. It would be nice, though, if some sort of tip jar mechanism were part of the infrastructure.

Not that this is really foosel's problem, but there could be an entirely different list of Premium plugins listed in the Plugin Manager if selected by the user.

If I thought that someone were willing to pay $50 each for the J.A.R.V.I.S. (Alexa) app support, I might consider making a general service for others. I know that sounds rich but it still wouldn't pay for the per-person support which it would force me to provide.

Pro's/con's: There was a time when people expected to pay for what they consumed. People now seem to want to freely consume without too much regard to what it costs the "generous vendor" in this case.

One could, though, just target features only a company could consume (printer farm Premium plugins). "Control 100 3D printers? Sure, that will be $500 $5000 for the basic package."

There are websites where one can—as a customer—ask coders to bid for a project. It would be interesting to allow people to describe what they want in a new plugin concept and plugin authors then charge an arbitrary stipend to start the work or charge a fee to deliver the plugin, provide support and work with the first user to make sure it meets their needs.

All of this is interesting. I am curious what the current license means for interacting plugins. My sister is an IP lawyer, I'll ask her what she thinks. It will probably not be for a couple weeks.

I think one of the main unanswered questions is what would premium plugins do to the ecosystem. Would there be more or fewer plugins available? Would users have more choice? Would there be more development? Would the quality improve? If this option limits development, quality, and/or user choice, the answer is obvious.

Also, no built in OctoPrint support would be necessary, of course, but then each developer would need to write their own system. That doesn't really seem to match the goal of increasing the amount of development. Think of the various 'app stores' out there. For a fee, developers could place their plugin in the store, and a portion of the money could (and should) go to @Foosel, or whoever maintains the store. This provides an additional marketing benefit, since the majority of premium apps would be in one place, which would encourage users to search.

Also, I was thinking about plugins I would pay for, and the first one I would have purchased would be the enclosure plugin, and perhaps the gcode system commands plugin. I like themeify too, and would consider paying something for that. Since I started development of my plugin, I've not had a chance to try many other plugins, so my experience is probably a bit unusual. There are likely many more out there.

Also, if no source is available, I would think long and hard about making a purchase. If source is available, why purchase anything? I've not yet been able to resolve this conflict in my mind. Perhaps extra features/convenience? Or maybe a sort of pay-what-you-like model? Not sure. If there were a 'do you want to tip the developer' popup or something, could that be a good alternative?

I'm pretty sure

  • quality will remain the same
  • there will not be less development

I'm under impression, but not sure

  • there will be more development

The worse thing imo is that we get hundreds of thousands of plugins where you can't find the useful ones from all the noise, but I doubt it will happen

welcome to my world ... but here, you are patron, you actually pay for octoprint :slight_smile: so .. ask yourself why ..

well .. patron, paypal donations, btc donations... that always works but that works for existing free "non premium" plugins .. also pinging dev to customize something for you is always something you can pay for, support works nicely trough patron system...

the value added system (extra features) for paying customers makes no change, that's "free" and "paid" plugin, the handling of the "paid" one gets you back to the start, is it open, why you pay for it if it is open, would you use it if it is not open :smiley: :smiley: :smiley: ... hard choices

For a while it seemed like the difficulty to compile a C program was the gating factor which prevented the average person from actually using the available C source. As a result, paying for the executable for their operating system was their choice to make. So what if the source was available, (since the learning curve was too great to enjoy the "freeness" of that source)?

But this doesn't really work for JavaScript/Python—based code anymore. It's compiled automatically at runtime as required. The entire pricing model concept in open source for these languages honestly doesn't work anymore.

(And yet, these same entry-level users don't understand commands like source venv/bin/activate, for example. And they expect free support in all cases.)

What would premium plugins do to the ecosystem, etc?

I would say that many of the plugins out there now don't seem to add a lot of value for the average user, to be honest. There are possibly ten third-party plugins which are worth more than $10 each in perceived value.

If there were a system in place which suggests that making money doing this is possible we could possibly see a boom in plugin development. Coders might speculate that over time this could pay off, investing more effort into what they're doing.

As it stands, there is zero chance that I would spin up the J.A.R.V.I.S. Alexa service "on my dime" since Amazon would charge me for the combined Lambda usage. (I've discussed this with ASK support, for what it's worth.) So if other coders like myself could envision a profitable path then top-end features could be added into the OctoPrint space.

It feels like premium plugins would push some money into the coding space, in short. Any coder who's occasionally seeing some money trickle in will feel like it might be worthwhile. We see this happening in the WordPress add-on space with ThemeForest, for example.

Update: To this, I'll add that I keep seeing users who just flatly state "but I don't know how to do scripting..." They're simply unwilling to bridge the gap between an excellent plugin like GGODE Systems Commands as a platform and the small amount of effort they would need to expend to create a bash script.

To be honest, I started supporting Gina only AFTER I got involved in plugin development. I started to realize what was actually involved in the project, and had already gotten amazing development support from her. I had been considering it long before that point, to be honest, but never pulled the trigger. I think if there had been a 'donate now' button that was associated with an account I already had (I created a patreon account JUST to support Octoprint), it would have happened much earlier. Paypal offers those buttons, but who sees them in the plugin manager? If some user wants to donate to me they have to dig a bit (though not much) to get to a link, then many will have to decide to create an account that is causes a recurring charge. Lots of people don't like that either. One could use paypal or some one-time thing, but that's yet another account. How much easier is it to make a purchase on ITunes or Google Play? I don't even think about it, honestly. If I want an app for my phone, I just buy it, mostly because it's very easy to do so.

Also, 'flooding the store with plugins' is a real concern that I hadn't considered. Maybe we need ratings too? Some kind of QA for admission into the 'premium' category? Those features in some kind of central store would definitely demand a reasonable cut from any purchase price.

Also @OutsourcedGuru, I was thinking about this too. It's so easy to add a plugin to Octoprint, there is absolutely no hurdle for installing any source via the plugin manager. I mean you can literally paste in a URL or upload a zip file. THAT'S GOOD! However, it does make things difficult for our current discussion. Also, I think your comparison with ThemeForest is excellent. I've purchased TONS of skins and plugins for various open source CMS systems. Some of those plugins definitely would not have existed were it not for the store itself.

Just to have a different voice in this thread, I think there are better ways to make money out of developing things for OctoPrint than making (closed source) premium features (I don't see how you can do premium features with open sourced plugins).

Granted, I have not yet developed many OctoPrint plugins yet, but I am a major contributor to the Cura project and have written many plugins for Cura (including the integration between Cura and OctoPrint). All of these are open source and free to download. I make no money directly out of my contributions to Ultimaker Cura. However my indepth knowledge of the application put me in a situation where printer manufacturers ask me to make printer-specific versions of Cura.

I made the BlackBelt version of Cura, and BlackBelt pays for that. Many of the things I needed to change for the slanted gantry BlackBelt printers have somehow been included in plugins I made for all users of Cura. I also got offers for more OctoPrint work by other 3d printer manufacturers, but I simply lack the time.

I think there is money to be made with OctoPrint (plugin) development, I don't think premium plugins is it.

3 Likes

Congratulations on getting MFGs to work with you! I can barely get them to respond to my tickets (though Prusa just added G90 back to their start gcode for me, hooray!), lol. Sometimes what you have is marketable, sometimes it isn't I suppose.

Well, closed source may not even be an option given the licensing model, depending on the plugin and how it works. One could write a plugin that connects to a service (they exist) and charge for that. It's only the stand-alone plugins that have no alternative other than donations really.

Side rant - Also, if you work on Cura or know the devs, maybe you can convince them to stuff the settings into the gcode like every other slicer out there. It's maddening that they refuse to do this (I've asked) and makes it really difficult to figure out why the gcode is doing what it's doing (think about it from a support perspective where I didn't slice the file).

Sorry, humor forced me to post this.

Client Budget versus Client Expectations

2 Likes

:smiley: yeah I know where you are coming from :smiley: ... I personally like "donate" button, not a big fan of patreon.. anyhow I think you got the point I was trying to make...

look at mobile stores, android especially, and consider it is 100x harder to make android app then octoprint plugin...

but you usually purchase a skin for the site you are selling and someone is paying you for that site and you are paying part of that $$ to someone who did part of the work :slight_smile: ..

I don't know how ppl who run 3d printing for money work so can't talk in their name (would like to hear from them, but all of them I know don't use octoprint at all) but for me 3d printing as hobby (actually not printing but designing printers, I'm part of the reprap core team for almost 10 years now) for me it's pure cost, never earned a dime from it so I'm calculating

  • if it saves me time
  • if it brings me joy
  • it helps me learn something

that will determine if I wanna pay or not and if yes how much ... for e.g. I paid for s3d and today I think it was mistake, I think it was better that I donated $150 to slic3r developers or to gina or to ideamaker developers or .. but at the time I believed there's something I can learn from s3d and that s3d can save me time ( unfortunately neither happened, they stole my time and frustrated me immensely )

now problem we have here is that we are talking about "potential" plugins .. 99.9% of plugins for octoprint I don't want to install even when they are free, let alone give $$$ :smiley: .. and I'm sure most users are like that..

this brings me to old old days when mysql source was available and free but windows .exe costed money... so if you don't know how to build it yourself for windoze (for linux executable was free) you had to pay :smiley: :smiley: :smiley: :smiley: ... interesting concept, but was ok in the '90 not really something we can peddle in 21st century :slight_smile:

yes and don't know nor want to learn how to do simple copy/paste ... I dealt few days ago with a guy who complained that octoprint is to complex as he can't use gui to setup everything (wifi, ip addr..) ... I asked them wth he purchased rpi, why not go with All-in-one OctoPrint Kits ... "ah but that's expensive" .. they don't want to invest the time and knowledge but want everything for free... I'm pretty ruthless with that type of users...

1 Like