Pippin Williamson on Building a Community Around Your Open Source Project

photo credit: inQbation
photo credit: inQbation

When Pippin Williamson launched Easy Digital Downloads in early 2012, he could not have predicted the success that the open source project is experiencing today. The core plugin is approaching half a million downloads and recently passed 100 contributors on GitHub. It provides the foundation for a profitable commercial marketplace of more than 190 extensions authored by the EDD community.

The Birth of Easy Digital Downloads

As is the case with many entrepreneurs, Williamson discovered one of his best ideas while solving one of his own problems. He had become an avid plugin developer long before EDD was in the picture. “I wanted a better way to sell WordPress plugins I was creating through my own site,” he said. “I had been using the Code Canyon marketplace from Envato for a while and had toyed with a few of the other e-commerce plugins, but I wanted something a bit different.” Williamson had no idea that EDD would soon become his full-time job.

When a project starts out that way, it’s really hard to guesstimate what the future holds for it. As I continued building on the plugin and making more generalized features that had a wider audience than just my site, it became apparent pretty quickly that others were looking for some of the same things. The project was started in March and by November of the same year, I really started to consider the prospect of it becoming a full-time job for me.

Williamson was inspired by Jigoshop’s and WooCommerce’s successes with the “extensions marketplace” business model. “As an outsider, it seemed as though the extensions model was working well for them, so I thought, ‘Why not?’ It seemed like a good fit. Early on though I had no idea that we would reach more than 150 extensions in so short a time.”

He built the first couple of extensions for himself, including the Stripe integration. “Those first extensions were really the ones that proved building a marketplace around EDD wasn’t an utterly insane idea. Mostly insane but plausible.”

Extensibility Has a Direct Correlation to Profitability

Easy Digital Downloads is well known for having a codebase that is easy to extend and friendly to developers. Williamson built this into the project out of principle from the early days of EDD, not knowing how vital extensibility would become further down the road.

“It definitely started as a core philosophy but became a fundamental requirement as the project grew. EDD wouldn’t be even half as successful as it is now if it weren’t for the extensibility,” he said. “There are still severe pain points in terms of our extensibility, but they are being worked on for future releases. A commitment to always making the plugin more and more extensible is one of the things that has really helped us along the way.”

Extensibility is the backbone of the EDD marketplace, and it’s paying off for Williamson and the project as a whole. On an average day, the core EDD plugin sees 400-1000 downloads. “The revenue of the project has grown consistently since first launching two and a half years ago,” Williamson said. “In its first year, we saw steady growth, but nothing amazing by any means. It was enough to tell me there was potential for much, much more.”

In 2012, Williamson reports that the project pulled in $25,000 in extension sales, with one fifth of this paid out to third party developers for extension sales. Over the course of 2013, EDD grew its monthly revenue from ~$2,000 per month up to nearly $16,000 per month. Williamson finished that year with ~$190,000 in sales and paid out nearly $64,000 in commissions to third party developers.

“And now, just as we are wrapping up 2014, we have seen more than $456,000 in sales and have generated more than $200,000 in commissions for third party developers,” Williamson said. “In 2015 these numbers are expected to grow, just as they have for the last two years. To say we’re excited for the future would be to put it lightly.”

Attracting and Keeping a Community of Contributors

Without EDD’s large community of contributors, the project’s success would have been severely limited. EDD seems to have an organic way of attracting and keeping contributors. Williamson attributes this to three key aspects of the community surrounding the project:

  • We work hard to always try and make new contributors few welcome. No one should ever be told (even indirectly) to go away when they are trying to give back to a project. By being open to criticism and suggestions from the community, and working to ensure the community feels encouraged to speak up, we have gained a lot of long-time contributors, simply because they didn’t feel like their suggestions were lost in a dark abyss of nothingness or intentionally ignored. When people feel welcomed, they tend to stick around.
  • Every suggestion gets an answer of some kind. Period. We strive to never leave a support ticket or github issue unanswered. Even if the answer is “no”, we still answer it. When people are ignored, they leave, so we never ignore anyone. Period.
  • We have actively asked people to help out on the project. There are tons of people out there ready, willing, and wanting to help; sometimes all it takes is an invitation.

Williamson doesn’t think that any of these efforts are unique to EDD, but they have been the most important factors for growing and keeping a large contributor base. He aims to make sure every single contributor gets an answer to their suggestions, no matter how small the contribution or bug report. “If someone that is brand new to the project feels they have been ignored, how likely are they to ever come back? I think we see this a lot with WordPress core contributors,” he said.

“There are hundreds of tickets on trac that have gone unanswered from new contributors, and I suspect a huge percentage of those people have decided to move on and not contribute since they felt ignored. It doesn’t matter if someone is actually ignored; it matters that they feel they were ignored.

In order to maintain a good follow-up process, Williamson has streamlined development of the core plugin through its GitHub repository. New contributors who want to get involved with extension or theme development also have access to a private Trello board where they can connect with other developers.

Advice for New Open Source Project Leaders

When reflecting on the early days of EDD, Williamson has a few regrets and encourages developers to think about the future when it comes to plugin architecture. “There is one major architectural change I would make, and that is the use of custom tables for storing data,” he said.

“We opted out of using custom tables from day one, and that was a mistake. Not properly leveraging custom tables that had the exact database schema that we needed actually made it dramatically more work for us in the long run. We’ve had to jump through a lot of hoops to build advanced queries for solid store reporting.”

This mistake has made it difficult to build EDD in a way that will scale the plugin up to a larger user base on larger websites, as needed. Williamson and contributors continue to find ways to deal with it but it is still costing the team a great deal more effort.

On the community aspect of the project, he has a few simple tips for open source project leaders who want to attract a decent base of contributors.

  • Be nice.
  • Respond to everyone.
  • Make it publicly known that you want contributions.
  • Do what you can to make it easy (hint: asking people to email patches is not making it easy.)
  • Be very open to criticism.
  • Work hard to build an awesome product, as that alone will attract a certain number of interested in contributors.

Holding to these principles has made Easy Digital Downloads a resounding success, as well as an inspirational example for WordPress plugin developers. Williamson hopes to expand operations to include a hosted version of the plugin, but doesn’t yet have a roadmap for how that will play out.

“I would like to see a hosted version be available within the next year or two. We haven’t officially decided if we will offer one or if we will seek partnering with an agency or other group, but I’d love to see it come about,” he said. If he’s able to launch a hosted version, Williamson will have the opportunity to tap into a whole new demographic of customers, many of whom are likely not developers.

“I’ve never run a hosted service before so it will be a whole new experience for me with a whole new set of challenges,” he said. Williamson counts the strong EDD community as one of his assets in pursuing this new venture:

One advantage that I feel we will have, however, is the rapid development pace that having a strong community of contributors affords us. As we iterate quickly on the self-hosted version, those same changes will be able to be applied to a hosted version. It will also be able to go in reverse: as we test out new features in a hosted version, we can apply those same changes upstream to the self-hosted version. Much like WordPress.org and WordPress.com.

With a large number of people building extensions for the project, and a regular stream of contributions and bug fixes, Williamson and EDD are uniquely prepared to support a hosted version. The success of Easy Digital Downloads demonstrates the value of building a strong community around your open source project. With the right cultivation and a healthy community, any quality project can become more profitable and prepared for the future.


7 responses to “Pippin Williamson on Building a Community Around Your Open Source Project”

  1. Great story and Pippin obviously gets and understands Open Source. I love the philosophies he lays out. EDD is a fine example of an open source project that is turning into a successful business for not only himself, but for those that are investing in the project.

    He mentions that if he could go back in time, he’s make an architectural change that right now, the team is constantly finding ways to move forward despite it. I wonder if there are plans to at some point, leave EDD as it is as a legacy version and fork over whatever code will work on the new version that can scale well.

    It just seems like he knows of a point in EDD’s development where it’s going to be inevitable to fork or somehow make the change. At what point does the effort involved in jerry rigging things outweigh the benefits of staying the course?

    • Thanks Jeff!

      Will we need to fork or abandoned the current version in order to make the structural changes we’d like to make? No. We have an absolute and unwavering commitment to backwards compatibility, and that means working through the challenges caused by previous decisions in a way that does not leave a single user behind.

      We are 100% confident that we can make the necessary changes over the next couple of years and have already proved it’s possible. In EDD v2.1, we introduced the first of the structural changes and included upgrade routines that successfully upgraded hundreds of thousands (or perhaps) millions of customer records to a new database schema. In total, we are aware of perhaps 1-3 sites that had an issue with the upgrade routine, and those were easy to resolve.

      When you take the time to properly plan out changes and dedicate yourself to finding a way to maintain backwards compatibility, awesome things can happen.


Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

%d bloggers like this: