So I looked all over to try and find some kind of rules, or at least some common-courtesy guidelines, concerning this issue and couldn’t find anything.
Essentially I’m wondering what I should do when I find a WordPress plugin (free, listed within wordpress.org/plugins/, and includes the GNU GP License) that I think could seriously benefit by adding a given amount of functionality to it.
After altering the code and including the new functionality, do I:
1) Submit it to the current author of the plugin and hope that he/she adds it in?
2) Submit the “new” plugin to the WordPress plugin listings as one of my own?
3) Avoid either of these options. Just change the plugin and only use it for myself.
4) Do something else that isn’t listed here? (Implies that suggestions be made in the comments section.)
From a licensing perspective, I can’t see any prohibitions against making any of these choices. I don’t know how moral it’d be to take the code, alter it, and then sell it as a premium plugin, but that doesn’t seem to be prohibited by the GP License either.
What’s the best practice for this situation? Obviously I don’t want to offend the original author of the plugin or do something that’d make me look bad in the WordPress coding community. Still, in this case that I’m up against, I think the plugin would seriously benefit from this added functionality.
What say ye?
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Ask the developer before you start writing code.
- The feature you need might be implemented already, just not published.
- Or the plugin API changes in the next version, and your code wouldn’t work anymore.
- Maybe the author can just add a hook, so you can implement your code as separate plugin without changing the main plugin.
One of the core ideas of open source is collaboration. Always try to improve together. Avoid publishing something that is 90% a duplicate of an existing plugin. You make the choice for users just harder.
But if you had to write that improvement, and the developer of the original plugin just refuses to work with you, make your code public for the benefit of other users.
The license of plugins hosted on wordpress.org will always allow such alterations or addons.