I just read an interesting post about Movable Type and plugins (specifically Workflow). In a nutshell, the argument is that Movable Type is a product – one which costs money – and having to buy add-ons to provide what is perceived as core functionality isn’t a good thing. It’s an interesting argument, and one that I can understand as a consumer.
When that equation flips around, however, is when there is an issue. The developing of plugins really doesn’t take that much time. I can write something that works on my system in a flash, and then pack it up so that anyone can download it.
What kills me is the testing and support time required. Not everyone uses the same setup as I do, and different databases, different versions of Perl, different versions of Movable Type and even different web servers (not to mention web server operating systems) all add complexity.
Then there are those that need help installing and/or configuring the plugin. Depending on the complexity, that’s not always easy. I do try and document my plugins, but I’m not a writer, so I know that the directions aren’t as clear as they probably could be if I were.
Add all that time together, and the development of the plugin is definitely not the great consumer of time. It’s what I’ll call the “support” of the plugin. The problem is that many plugins are available for free, and don’t really require much support. The more complex, the more support (time) that is required, and that’s where it becomes an issue.
I’m toying with some ideas, and I don’t know the best way to implement them. I suspect that I’ll end up releasing the plugin code for free and then charge for this support. The alternative is to try and charge for the product, which means keeping track of things and managing updates to registered users and the like (and also at least some attempt to keep people from stealing and using the software). I’d surely then want a way to monetize upgrades, too.
As with so many other things, I just don’t know. But that’s the way I’m leaning. That way, if you have the technical know-how and want to tinker and get in and make things work, by all means go for it. If I need to hold your hand to help you get it working, that’s great too – but I simply cannot offer that service for free.