Premium Plugins?

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

So in response to this question, the majority of all my plugins came from either an idea here on the community forum or a feature request posted on the OctoPrint repo's issues. Of those, I personally only use 4-5 of them, but for me it's usually the challenge or the "that would be neat" thought that will get my attention and get me interested enough to do one.

I know I'm going to get blazed here by some of the participants in this thread, but one of them was for MyMiniFactory and I did the development for free because I was interested personally in the technology being used in the background to work with their infrastructure. Yes, I could have charged them an hourly rate for the development (and probably should have), but a lot of it was my learning of the technology and that was what I enjoy. There were agreed upon terms up-front however that the plugin would be free to all and that users of the plugin would not have to pay for its use as a premium service with MyMiniFactory the way some of their integrated printers require. In my mind, that was a way I could give back to the community and increase OctoPrint's visibility in the 3D printing space (as if it wasn't already known...lol). No idea if that actually made any difference whatsoever to increased adoption of the platform or not.

That being said, the majority of support issues/requests that I have to deal with are not the MyMiniFactory plugin but my other plugins like BedLevelVisualizer and the various smart plug controlling ones. Most are feature requests that extend the capabilities of the plugin, making it a stronger product, but none the less takes time to develop. These are not changes I would have done personally as typically when my plugin is released to the plugin repository it's already at a state that I'm happy with and works for me with my specific setup. In some cases the requester or group of people wanting the same feature would chip in so I could purchase a specific version plug for example and further development.

This is preaching to the choir, but it's sad that people don't tip/donate more to the developers that put long hours into making plugins if it's for personal use or not. Showing appreciation for something that someone else has created and provided for free is a lost art in this day of millennial entitlement. Having something in the plugin manager that would increase the visibility of tip/donate links would be appreciated in my opinion and might get more response from the end user versus having it embedded on the plugin's page or the repository's readme which might not be seen at all.

Worse yet is the "developers" that fork your plugin, change only the author name, readme and update urls to their own repository and then bundle it in a "octoprint kit" for sale and don't give you a dime. I hope that they are at least donating to Gina the way they say they are. (ie TH3d). At least the forks still have my paypal donate links, but as stated above are probably never seen.

I have to take issue with this. I've made several android apps, and they are NOT more difficult in general to create. The vast majority (though definitely not all) of the complexity comes from what you are trying to create, not the platform on which it was developed. You certainly could create an OctoPrint plugin that's easier to create than an android app, and vice versa.

For example, the last android app I created used GPS, an sqlite database, had built in messaging, communicated with a server, had configuration settings, custom map overlays, etc.. But, it was ALL written with Java. No HTML, no css, no knockout, python, no C++, no javascript, no gcode, etc. In a sense the barrier for entry was actually quite a bit lower than an OctoPrint plugin, especially if you have prior Java experience.

I paid for s3d and today I think it was mistake

I purchased S3D as well, but ONLY because my users were slicing with it, and I needed it for testing/development. For me this was a cost of supporting other users. I NEVER use this slicer for my own prints.

I also purchased a raspicam. Though they are cute, they are (arguably, of course) much less capable than similarly priced webcams. I was just tired of saying, "I don't know," when people asked for support. I will be able to re-purpose this camera for something fun, probably, and it wasn't too expensive, so that's good :slight_smile:

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..)

These complaints are the special sauce that allows us to create even better products. They direct us to problems we haven't yet solved, or new issues that our products have created. Obviously it's going to be difficult to configure wifi via a web GUI before there is a network connection, but it gives us a good example of how programs are always in constant need of improvement. It's an iterative process. If all plugins were one and done types of applications, there would be little need to have this discussion. Unfortunately all you have to do is look at the github issues for any particular plugin and you'll find lots of good reasons to continue to improve existing works. I'm not saying you disagree with this at all, just stressing the point.

This has been really interesting so far, and I'm glad we're having the conversation. So far I have to say that I'm leaning towards better user exposure to the various tipping mechanisms that already exist.

@FormerLurker Indeed, that's part of the cost of doing "business" (in air quotes) because you're providing a free plugin that costs you every time a user needs you—from your own wallet—to buy yet another webcam to test compatibility.

Or for me, it was the purchase of a Raspi 3B+/A+ to test OctoPrint-USBControl. For @jneilliii it was to purchase yet another TP-Link product, for example. (You should have charged MyMiniFactory some earnest money, dude.) For the person who's writing filament run-out plugins they're probably buying several types of switches.

Those of you who've read my posts know that I'm cheeky with respect to users who want a plugin author to "just" buy something to support their own needs. I'll even say something smarmy like "and then the user bought the plugin author a webcam and sent it to his house" to kind of nudge them into proper behavior. But of course they never do.

2 Likes

I always appreciate some snark, and you are a master :slight_smile:

I think you are looking at it from a different perspective. Android app is not more difficult to make for you or me, nor it is difficult to create by any real programmer, BUT, think about total beginners that fork the project and change 3 lines of code... how many androids app on github that you can clone and compile (remember back few posts we talked about ppl having issues to "compile" - here you need to change app id, generate key, repack, register on google play store, publish...) compare to 3 click fork for a octoprint plugin :slight_smile: ... for you is same, for me android is 100000000x easier then octoprint as I hate with vengence everything related to python so writing python is a big issue for me... but I'm talking about "average joe" that normally creates noise..

again, we are having very different point of view (apart from agreeing that s3d is crap, if I read your comment correctly), as you have "users", and I look at whole 3d printing ecosystem as a playground where I don't have users, only colleagues

you are trying to be too positive here looking at it from best possible angle .. yes, of course, we all do what we can to make world the better place but huge number of these users are just lazy ppl that believe they are entitled for help/support just because they want help and support.. and that is why things like all in one kits need to exist and ppl selling them should make money, should give % to fossel and should of course offer support

imho tipping will bring more $$ then selling the plugins, but that's just opinion I can't back up with any data ... actually more a feeling then opinion :slight_smile:

I have to say that I got a bunch of product in my short life in open source business in order to support them... the most expensive product I ever got is intel's itanium multi cpu board loaded with ram to help properly solve intel c++ compiler bugs and get mysql to properly run on it ... so this works, if ppl need support for shit ppl will get you shit to support, I shipped bunch of stuff to other ppl and other ppl shipped bunch of stuff to me, it's kinda common... if you are purchasing hw to support your users you need to figure out what your bottom line is... the "you want me to support and test XYZ, send me the XYZ.." it's very simple

Yes, I was coming from a different perspective, specifically someone interested in creating something from scratch with perhaps no knowledge of the underlying technologies/languages.

I felt the same way when I was first working on it. I'll never get over the fact that spaces/tabs are important. That's just nuts and still causes me problems. I prefer strongly typed languages (Or at least languages that support strong types), mostly because the code completion/navigation capabilities are MUCH better in these languages, and there is much better compile time error detection. I like to code for as long as I can before compiling, and hate finding a bunch of syntax errors at run-time.

I wouldn't go that far. Some of my test prints turned out better when sliced with simplify, some didn't. I personally didn't feel it was much simpler, but I'm probably not the target audience. That being said I probably would have been disappointed with it if I purchased it with the thought of actually using it as my primary slicer.

I learned CPU architecture from the itanium way back in the day. One of the engineers from this project gave our class a brief presentation and answered some of our questions. It was so cool at the time.

Also, are you a c++ person? I haven't used it since high school (late 90s), and recently wrote a bunch of (terrible but fast) code that desperately needs a code review (after I clean it up a bit, been struggling with code formatting standards as well since I'm out of my element). Most people I talk to won't touch c++ with a 10 foot pole, and I'm stuck using ... v11 I think.. which makes it even worse.

Edit: I realize now that I digress. I will try to stick to the topic from now on.

Once upon a time, a printer manufacturer would just send you a printer so that you could write the driver for it. It was just assumed that that's the way things were.

It's not cheeky to ask Panasonic to comp you a C270 or similar. Give them a call, get a representative assigned to you and have them send you a box with ten different cameras in it. (Last year I had a representative at MasterLock who was working with me on development.)

That's an interesting idea. There are several printers I'm always trying to give support on, and I can't try out the hardware. MK3, Enders and various Lulzbots come to mind. Also sony DSLRs. I'm not sure why these seem to give everyone problems, but they seem like intractable problems.

This would definitely alleviate a good chunk of the development costs. I also pay for PyCharm, though I could get an open source license for that I think, as well as browser stack, which I have yet to apply for.

1 Like