Quite a while ago now, I built an open source WordPress plugin called MobilePress while I was contracting for company. Eventually we spun it off and used it to create a startup, but that story is for another day.
I recall quite vividly, the day that the plugin went live. There was quite some buzz around it as it was one of the first plugins that could render a mobile version of your blog. This was before responsive themes were the in thing and smart phones were main stream.
The plugin continued to grow daily and before long we had thousands of downloads and people were loving it.
But that’s when it started. Having put a plugin out there that got some serious attention, people started finding bugs. They also wanted it customised to their needs and if something wasn’t available that they thought should be, oh did you hear about it – mostly on social media.
Supporting an open source plugin is definitely not for the weak. It takes a lot of determination and commitment. It’s easy to put something out there but much harder to commit to it for the long term.
I’m as guilty as many open source developers at not doing a good enough job supporting my open source software.
What makes it especially difficult is the negative feedback. I’ve been seeing a lot of discussion threads recently on social media where open source developers are sharing their WordPress plugin reviews from ungrateful users. Users who expect the plugins to be perfect and almost seem to think that we get paid to do this full time. It’s quite disheartening.
But ignoring that for now, writing open source WordPress plugins can be very rewarding in so many different ways…
- You get to put out a “product” that is an expression of who you are and where you’re at as a WordPress developer.
- You get to see hundreds, and if you’re lucky, thousands of people use your software.
- It’s really good for your career growth. Employers in the WordPress space love it when you’re contributing back.
- You get to play around with some of the latest tools, frameworks etc on your own projects which you may not be working on during the day.
So how can you support your open source plugin without feeling drained, frustrated and demotivated. It’s tricky, but possible. Here are a few tips from my experiences that you can apply.
Tips for supporting open source WordPress plugins
- Appreciate all feedback, negative and positive, and thank the person for providing it. Don’t get worked up by negative feedback. I struggled with this for a long time, I felt offended. But I learnt over time to appreciate it and take it for what it’s worth. Negative feedback is usually driven by circumstances outside of our control. Someone is having a bad day or perhaps they’re just a troll. You never know and it’s best to not dwell on it. Accept it and if it’s relevant feedback, apply it, otherwise move on from it.
- Always be friendly. You can very quickly change negative feedback in to positive feedback by sending someone a smiley and thanking them for their feedback. When users realise that you are actually a human being just like them, they quickly backtrack and explain their frustration better and then more often than not, change their attitude.
- Acknowledge that by releasing something as open source software, you’re making a commitment to your users that your software will be stable (unless otherwise stated). You need to figure out if open source software is really for you, or maybe you need to refocus the areas that your writing your software. I’ll give you an example that applies directly to me. Lately, I’ve been considering finding new owners for my plugins and focusing entirely on WordPress core development. By doing that, I get my open source fix that I love but have to do less support on my own and through my own channels. Maybe this is something you would want to consider too. While it’s not for everyone as we need a thriving plugin ecosystem, it may be something that suits you.
- Use Github to manage the project and you will very quickly have other developers helping you out by submitting pull requests for new features or bug fixes. Use the issue tracker as well and let people know in your plugin readme that Github is where you track and develop your project.
- Follow best practices at all times when writing your plugin. By doing this, it not only makes it easier for others to contribute back to your software, but I’ve found that it generally ends up eliminating many bugs in the software. Use tools like VVV, PHPStorm and PHPCS for this – it’ll make your life so much simpler.
- Allocate specific time each week to supporting your plugin and only spend that time doing support. We’ve all got really busy days that seem to get busier as time goes on. If you don’t allocate specific time each week to work on your open source software and support it, then it will never happen. Again this is something I am trying to apply and as difficult as it has been, when I have been able to do it, it’s been great.
- Charge for custom work that is requested on your plugin. By releasing your WordPress plugin you will get lots of feature requests via email and other channels. What I would suggest that you do is figure out your hourly rate. Then when someone asks you for a feature, say something along the lines of this… “Thank you very much for that feature request. I think it’s a great idea and have put it in my backlog of things to do. If you want it done sooner, I can develop the feature for you. My hourly rate is $x and it will take about 5 hours to complete. You’ll get the feature completed by next week and I’ll give you a mention in the changelog as the sponsor of this feature. How does that sound? Would love to get started on it immediately”. You will be surprised at how many people are willing to sponsor a feature. You will even get people asking to pay for features in your plugin without you having to say a word. I’ve got one in my inbox right now.
Doing the above will alleviate some of the pain of open source plugin support and hopefully make you a happier developer. Let me know if you have some suggestions of your own, I would love to hear them.