A friend asked me a very interesting question yesterday: was publishing free plugins for WordPress worth it?
I sat for a minute and cryptically answered: it depends.
It depends on what it is you’re trying to get out of the plugins in the first place. All of my publicly-published plugins have been free; it’s been way way to give back to the community that helped educate me as a developer. Anyone can learn from the cool code I’ve written, or from the horrible mistakes I’ve made.
I haven’t made much more than a handful in donations from any of the plugins. Unfortunately, I have been asked to give a lot in return.
Support
Plugins in the public sphere are used by a lot of people – all together, my plugins have been downloaded over 100,000 times.
There are bound to be issues.
I subscribed a while ago to a feed of support questions related to my plugins. I don’t check the forums daily, but I do keep an eye on things to make sure there aren’t catastrophic security issues running wild. In my book, you get what you pay for – my code comes with no warranties and no guarantee I’ll publish further updates or fix any bugs you find.
If you were paying me, expectations are a bit different. If you’re not paying me, tough luck.
Unfortunately, no code is ever perfect and people find issues with my work almost daily. I didn’t account for this character set they’re using on a site. I didn’t plan ahead for files of several hundred megabytes being served by a simple script. My widget isn’t compatible with a 4-column responsive theme. I didn’t add enough filters for ordering content in presentation.
If I tried to follow up with every feature demand, bug report, or user support request that comes to my inbox, I’d have to quit my day-job and handle them full-time. Again, though, I give away the plugins for free and those running to the support forums often want my support for free, too.1The few who do attempt to compensate me for my time are appreciated, but sending me a $5 donation to thank me for 5-10 hours of custom development work to fix a feature is not sustainable in any sense of the word.
I don’t provide support for my plugins for the same reason I don’t charge for my plugins: I’m not distributing these plugins for the long-game.
ROI
The return I get from my investment in plugins is twofold: learning and community.
On the one hand, I often build a plugin because I’ve learned or want to learn something new. I work for several hours on my code, and come up with something I think is pretty neat. I share it with the community so either others can learn from it or they can point out where I went wrong and how I could’ve written things better.
I’ll take this learning and apply it to paying projects that help keep food on the table. At this point, I’ve already gotten as much return as I expected from my plugin: I learned something.
But I release the plugin into the community and perhaps support it for a year or two because I think others can learn from it, too. Does the constant rabble of the support forums bother me? Sometimes. Often it’s so frustrating I want to give up on distributing free code entirely.
Then I get that one email of thanks that reminds me where I started – looking at and learning from free code published by others. Then I sit down, write a new project, learn something, and set it free.
- 1The few who do attempt to compensate me for my time are appreciated, but sending me a $5 donation to thank me for 5-10 hours of custom development work to fix a feature is not sustainable in any sense of the word.