An open source project means that anyone can take and freely modify the source code, and also re-release it as a different product. WordPress is open source, as are the vast majority of WordPress plugins. As someone who makes their living off of WordPress, I have to ask myself the question “is open source right for this plugin?”. It is a really important question and one that I’d like to dive into a bit deeper.

Some Reasons to Open Source Your Plugins

One of the biggest advantages to open source plugins is that other developers can help you out. Since your code is open and available to everyone, it is much easier for other developers to contribute bug fixes and enhancements.

In the realm of WordPress plugins, the WordPress repository is also a tremendous way to gain exposure for your plugin, since the user base there is about 1000 times larger than anywhere else. If you want to put your plugin in the repository, it must be open source.

There is also something that just feels good about giving something away to anyone and everyone. The gratification of having a user of your free plugin say something like the quote below is extremely heart warming:

Thank you so much for your awesome plugin, it really saved my day. And thank you for making it free!

Why I Chose to Open Source Easy Digital Downloads

Easy Digital Downloads is the big project that I have been working on for the past couple of months, and it is open source. The plugin resides on the WordPress plugin repository and is free to modify by anyone.

There were a few of reasons I open sourced the plugin:

1. I really wanted to give something large away for free. Prior to writing EDD, I had written a lot of little plugins that were given away for free, but most of my larger ones were part of my Code Canyon portfolio, and thus closed source. I suppose it might be a side effect of working in WordPress for a long time, but I had a really strong itch that needed scratched, and I could only get to it by giving away a really large plugin.

2. An ecommerce plugin that is only used by a couple hundred people doesn’t do anyone much good. One of the most significant challenges I have found that comes with ecommerce development is accounting for all of the things you didn’t think of (sounds simple, I know), but it’s true, there are so many aspects to ecommerce that you never think about until a user points it out. Without a lot of users / testers, there is no one to find the things you missed.

3. I wanted to build a plugin that was created by the WordPress community. What I mean by this is a plugin that is frequently contributed to by other developers. When a code base gets large enough, it can be extremely difficult to manage everything on your own, and since I’m mostly a one man team, this was really important. To date, 11 developers have contributed code to Easy Digital Downloads. By engaging other developers you really get into the spirit of what open source is all about. Tom McFarlin wrote a great post about why he contributed to EDD and he does a great job explaining how open source can help improve you as a developer.

4. Believe it or not, open source can actually be an extremely lucrative business model, when done right. I love giving code away, but I also enjoy being able to provide for my family, so simply devoting all of my time to a project that had no revenue stream was not likely to last very long. By creating an extensible base plugin that allowed for add-on plugins (a model sometimes called “freemium”), I was able to give EDD away for free and generate a revenue stream.

Reasons Not to Open Source Your Plugins

Open source is not right for every plugin. Sometimes you, as the developer, need to maintain granular control over how the plugin is distributed, who can make changes to it, how much it costs (or doesn’t cost), etc.

The plugins listed on my Code Canyon portfolio are all closed source, primarily because in order to generate a steady revenue stream I couldn’t simply allow people to download them for free, since very few users would choose to purchase them over downloading for free.

Update

As pointed out by @leewillis77, I didn’t make something very clear:


All plugins on Code Canyon are open source. They have to be in order to be compliant with the WordPress GPL license. When I say “closed source” in regards to paid plugins, I simply mean that their source code isn’t openly available to download somewhere on the web. If you purchase one of my plugins, or any other WordPress plugin, you are free to modify it in anyway you want.

It may sound counter intuitive, but I generally find that users of free plugins have a larger sense of entitlement than users of premium plugins. Why this is I really don’t know, but I’ve seen comments like the ones below far more often than I care to count:

Your crappy plugin doesn’t work. Waste of a download.

Why can’t you just add feature X?! It’d only take me 5 minutes!

I sent you an email an hour ago, why haven’t you responded? I’m awaiting your reply . . .

The quotes above are all real and I have been on the receiving end of all of them, and many more like it.

An Example of Open Source Goodness

A few days ago I wrote a simple plugin for pulling all contributors of a project hosted on Github. It was little more than a simple short code and I release it as open source. Within 30 minutes of publishing it, I’d already had two different developers submit improvements and bug fixes on Gihub. Evan Solomon sent a very detailed patch that dramatically improved a lot of things that I had neglected.

  1. Tom McFarlin

    These are good thoughts … and I think you hit on an interesting point (as did someone who commented on my blog) in that there’s this notion that open source work is synonymous with free.

    The code itself is, but services rendered around it are certainly not subjected to that. For example, especially if someone is devoting time to supporting them.

    Anyway, all of this recent talk about plugins, the Developer Community, and GitHub has me really interested in seeing where all of this ends up.

    • Pippin

      I’ve had a lot of users tell me personally that they didn’t purchase a plugin (be it my own or someone elses) because of the plugin itself, but because of the support.

      I’m really looking forward to seeing where WP plugins go in the next 6 months.

    • Peter

      But the code is not inherently free just because it’s open source, is it? I’ve always understood it as it’s free to distribute, modify, etc once you HAVE it – but you’re free to charge whatever you want when you distribute it to other people.

      Obviously there are lots of caveats and weird situations here, but I feel like it’s important to point out that there is nothing wrong with actually charging money for a download of open source code. You just have to realize that whoever you just sold it to can legally (and ethically, depending on who you ask) turn around and sell it to 500 more people for as much as they please.

    • Pippin

      I will be perfectly up front and say that I don’t really know the exact truth to that. Licenses are sticky discussion points 🙂

  2. vinko

    Everyone knows you can get software somewhere on the net, legally or otherwise, and apparently there’s nothing stopping anyone from publicly publishing any wordpress plugin.

    In the end, the only thing important with all this copyright/license stuff is support. I’m relying on that support, and that’s why I like to buy a plugin: not for the code, but for the service.

  3. Ashok Rane

    Interesting read. I was faced with similar question when I created one of my plugins 4 months ago.

    Initially I didn’t have a free (lite) version of the plugin available for download. I only had a paid version with a demo. Later I decided to create a free version of the plugin, which would contain less features than the paid plugin. That helped increase the sales as well as I started receiving feedbacks from the people who downloaded free plugins in terms of bugs, feature requests & so on.

    I feel you should open source your plugins (download for free & code available), in a way that it provides value to the customer as well as you should create enough value for the same customers to come & purchase the paid version.

    • Pippin

      I’ve done the exact same thing several times and couldn’t agree more.

  4. Maeve Lander

    In discussion of open-source software licensing I feel it’s really important to note that we’re talking free as in FREEdom not free as in price. Using the GPL for your software product doesn’t mean you can’t charge for it. It just means that users of your software are free to do whatever they want with your code (including redistribute it) as long as they also pass on the same freedoms (license terms.)

    Despite the clarity of the GPL itself and the rights free philosophy, the misconception highlighted above is understandable. A developer new to the GPL scene might initially ask:

    “why would I spend loads of time and resources in developing, modifying, re-developing software, only for it to be available to anyone to redistribute as they please and benefit from my hard work?!”

    The answer is simple. You consider that your product is solid, with attractive presentation, marketing and delivery behind it. You will stand by it and offer users quality support to make it last into the future. This means that users will choose to purchase and use your product, not someone else’s ‘knock off’.

    Finally, and most fundamentally, you believe in the philosophy of software innovation over and above proprietary licensed software which may make huge profits yet will cause user dissatisfaction and stunt the growth of creative ideas.

    I choose to distribute my Premium plugins under an open-source (GPL) license because I firmly believe that the GPL fosters innovation and creativity of the industry, and that users will value my product and support services enough to pay for it.

    • Pippin

      Standing behind your product with quality support, marketing, etc, is one of the most important things you can do for your software business, especially if you are releasing under the GPL.

      All of my plugins are 100% GPL and I”m not concerned in the slightest of people “stealing” my work and reusing it as their own products.

  5. Mark

    Good to know they conform with the GPL. I would like to buy the affiliatewp. I see you state the number of sites it can be used on for various pricing levels. Does this mean the number of sites you give support to? Or the number of sites you are limited to regardless of support.

    • Pippin

      The number of sites mentioned in the license level determines the number of sites you can get support for and also the number of sites that you can get updates for.

Leave a Reply