Pippins Plugins
  • Email
  • Facebook
  • Feedburner
  • Github
  • Google
  • Twitter
  • Vimeo
  • Youtube
  • Rss
  • About
  • News
  • Join the Site
    • Member Benefits
    • Member Plugins
    • Email Notifications
  • Plugin Store
    • Affiliate Area
    • Checkout
  • Plugins
    • Plugin Portfolio
      • Plugin Portfolio – List View
    • Free
    • Premium
    • Member Plugins
    • Coding Standards
    • Get Plugin Support
  • Tutorials
    • Series
      • Plugin Development 101
      • Creating a User Follow System Plugin
      • Customizing Restrict Content Pro
      • Displaying Content with Easy Content Types
      • Writing Your First WordPress Plugins, Basic to Advanced
      • Working with Widgets
      • User Submitted Image Galleries
      • Plugin Thoughts
      • Integrating Stripe.com with WordPress
      • WordPress Rewrite API
    • Member Exclusive
      • Free Members
      • Subscriber Only
    • Difficulty
      • Beginner
      • Intermediate
      • Advanced
    • Action and Filter Hooks
    • Ajax
    • Custom Post Types
    • External APIs
    • Short Codes
    • Taxonomies
    • Video Tutorials
    • Widget Tutorials
    • WordPress Admin / Dashboard
    • Working with jQuery
    • WordPress Database
    • Writing Plugins
    • Tag Index
  • Reviews
  • Support Forum
  • Contact
    • Support the Site
    • Request Code Review
    • Plugin Support

Should You Open Source Your Plugins?

Posted on August 21, 2012 by Pippin in Thoughts 9 Comments
Home» Thoughts » Should You Open Source Your Plugins?
Tweet
Love It - 1

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:

@pippinsplugins Good to hear, but your post confuses licensing vs cost in a way that perpetuates the myth that GPL = $0, and $x != GPL …

— Lee Willis (@leewillis77) August 21, 2012

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.

Tweet Follow @pippinsplugins
easy digital downloads, Open Source, Tom McFarlin

9 comments on “Should You Open Source Your Plugins?”

  1. Tom McFarlin says:
    August 21, 2012 at 10:07 am

    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.

    Reply
    • Pippin says:
      August 21, 2012 at 10:10 am

      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 says:
      August 21, 2012 at 10:26 am

      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 says:
      August 21, 2012 at 10:29 am

      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 says:
    August 21, 2012 at 2:15 pm

    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.

    Reply
  3. Ashok Rane says:
    September 3, 2012 at 3:55 am

    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.

    Reply
    • Pippin says:
      September 3, 2012 at 9:17 am

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

  4. Maeve Lander says:
    April 22, 2013 at 2:35 am

    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.

    Reply
    • Pippin says:
      April 22, 2013 at 9:03 am

      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.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Login

Lost your password?

Please enter your username or e-mail address. You will receive a new password via e-mail.

  • Facebook Become a Fan Like

  • Twitter Subscribe on Twitter Follow

  • YouTube Follow my Videos Subscribe

  • RSS Feed Subscribe with RSS Subscribe

Easy Digital Downloads

Most Loved

  • Love It Pro for WordPress
  • Write a “Love It” Plugin with Ajax to Let Users Love Their Favorite Posts / Pages
  • Simple Notices Pro Plugin for WordPress
  • User Bookmarks for WordPress
  • Front End Registration and Login Forms Plugin

Similar Plugins and Posts

  • Restrict Content Pro – Member Discounts for Easy Digital Downloads
  • Easy Digital Downloads – One Year Old
  • Comments Not Replied To Plugin
  • Easy Digital Downloads v1.5 Released
  • Crucial Security Flaw Discovered and Fixed

Latest Premium Content

  • Plugin Development 101 – Introduction to Adding Dashboard Menus
  • Plugin Development 101 – Intro to Loading Scripts and Styles
  • User Follow System – Part 5
  • Plugin Development 101 – Intro to Short Codes

Latest Tutorials

  • Storing Session Data in WordPress without $_SESSION (19)

    The term Session in web development refers to...

  • Test Your Plugins with RTL (1)

    Right-To-Left languages are those that...

  • Submitting Your First Pull Request to a WordPress Plugin on Github (5)

    Github is an extremely popular tool for managing WordPress plugins, and one...

Enter your email to receive automated updates when new posts are published

WP Core Contributions

  • [24316]

View the ticket on Trac.

WP Codex Contributions

  • Function: shortcode exists
  • Function: has shortcode
  • Function: shortcode exists
  • Function: shortcode exists
  • Function: has shortcode

View all 41 changes in the Codex.

Latest Tweets

  • Could not fetch Twitter RSS feed.

Topics

campaign monitor add_options_page hook get_user_meta Rémi Corson the_content meta box register_setting Sugar Event Calendar attachments wp_enqueue_script contextual help shortcodes authors Related posts attachment image forms do_action plugin mail chimp login short codes comments recent posts post types apply_filters short code bbpress taxonomies custom post type gallery images Ajax Stripe taxonomy jquery widgets users add_filter easy content types add_action widget restrict content pro easy digital downloads

Weekly Newsletter

Useful Links

  • Join the Site
  • Plugin Store
  • Affiliate Area
  • Tag Index
  • Support the Site
  • Suggest a Tutorial
  • Random Post
  • Contact

Monthly Archives

(c) 2013 Pippin's Plugins