Contribution as culture

This post spends a lot of time analyzing and referencing two other blog posts. Excuse me for that, but also be sure to read both, as they are relevant for this post and also interesting in their own right.

Matt Mullenweg wrote a blog post called Five for the Future yesterday that advocates his belief that WordPress-centric companies should aim to utilize 5% of their company resources toward contributing back to the project.

He noted in the post that Automattic isn't quite to this point, but that they are working on it, and describes why he believes it's important. He closes with this:

It’s a big commitment, but I can’t think of a better long-term investment in the health of WordPress overall. I think it will look incredibly modest in hindsight. This ratio is probably the bare minimum for a sustainable ecosystem, avoiding the tragedy of the commons. I think the 5% rule is one that all open source projects and companies should follow, at least if they want to be vibrant a decade from now.

This was followed up by one of the co-founders of one of the very hosting companies Matt partially referenced in his post — WP Engine's Ben Metcalfe — who responded with a blog post of his own: WordPress: What exactly do they get for their 5%?

I think I was immediately thrown off by Ben's post title, but so many times throughout reading it I was shocked at how he made assumptions of Matt's intentions or missed what I would call “the point”.

5% is not a decree

Obviously, Matt is not speaking from the mountaintop with a proclamation of law. This is his recommendation — one that he believes will reward the firms that strive for it.

I believe that the community has already shown us that those that invest into WordPress are rewarded from it. We improve our understanding of a foundational software of our careers, improve our skills, are more marketable, more attractive to employers, and create natural opportunities for developing industry relationships.

How should 5% of “people” be defined? I'm pretty sure Matt would agree that 5% of people or 5% of revenue toward people doesn't really matter to him; yet Ben makes a continuous sticking point about the cost of — and need for — engineers.

Additionally, while Matt utilizes full-time employees, the same (or better) effect could be had with shared time from more employees.

I'm not big into absolutes, so it's important to remember that while I'm advocating that Matt's recommendation of 5% time, I think it's simply a good recommendation. This is a free economy and companies can do what they want. But I think in the current and long term, contribution will be key to greater corporate success for those that choose to do so.

What does 5% cost, and who does it require?

While Matt was careful to include numerous non-engineering roles companies could help with, ultimately what drives the open source project is source code contribution by software engineers. …

A reasonable engineer in the US costs $100k/y, and if you factor in benefits (tax funded health-care, anyone?) and overheads you could easily be looking at $130k or more per person, per year. …

A 200+ person web hosting company would need to hire 10 engineers to meet a 5% goal, requiring a budget of anything between $1MM-1.3MM+ per year. Those engineers probably need a manager – to mentor them, provide career development etc. Those 11 people also put pressure on human resources, finance, legal, facilities etc – probably equating to another person again. Now we’re talking probably more like $1.25-$1.5m annually.

First, I believe Ben has spent too much time in the world's largest cities if he believes engineers cost $100,000 per year on average. In my experience (yes, I interview people myself), that's not the case, and based on my decent view of the ecosystem it's not an appropriate going rate — especially if the offer on the table is a particularly desirable position.

More importantly, the project needs far more non-technical contributors. Ben's assertion that “ultimately” software engineers drive the project is not true. Users drive the project. A technically savvy user-minded contributor can be a beacon of light to a group of software developers. And given the user-facing nature of WordPress itself, non-engineer contributors could drastically improve the less code-sexy parts of the WordPress ecosystem: project management, docs, training, testing, support, translation, etc.

Additional to “core” contributions, WordCamps, plugins, themes, communities, and many other venues are outstanding places where contributors — yes, they're still contributors! — can impact the overall project.

Finally, as I noted above, I think companies could quite effectively contribute parts of employees' time versus dedicated 100% time, which would also prevent the need to have dedicated managers for open source contributors.

Foundational software to your business

Ben spends a chunk of time saying that big companies like GoDaddy get a “get out of jail free card” and that obviously Matt wouldn't expect they dedicate 5% of their thousands of employees.

GoDaddy definitely benefits from WordPress and they also contribute to it; and no, they don't contribute 5% I'm sure. But WordPress is not foundational to GoDaddy's business. They have a dedicated sub-product for it, and they also have many contributors to it.

WP Engine, and many others (including mine), are almost completely or completely reliant on WordPress as a platform. WordPress and its underlying technologies are foundational to our careers and businesses.

It is simply a different story to compare a company that would continue on pretty much fine without WordPress and one that would have to seriously reconsider their entire business model.

For example, let's compare the scenario to a publisher. Re/code is built on WordPress. They have a staff of 20+. Do they completely rely on WordPress for their website? Yes. For their business model? No. In their scenario, it makes sense for them — and could benefit them pretty directly — to allocate some time of some employees to WordPress, but if WordPress disappears they can and will migrate to a different platform.

Contributing to the full stack

It was questioned to me on Twitter, after my initial reaction to Ben's post, whether I contribute 5% of my time to open source projects like PHP, MySQL, and other tools that WordPress relies on.

This is a good question and point, but it does not cause me to stumble in my opinions. I believe open source contributions in general benefit the entire software stack.

In my scenario, I can be more impactful on the WordPress project than others. But I believe contributions can take many shapes, in both directions.

Some folks, like Daniel Bachhuber, greatly contribute to the project as a whole by supporting upstream projects like WP CLI.

Automattic is a fantastic example of a company that has both upstream and downstream contributions. They are active contributors to, employers of contributors or founders, or monetary sponsors to a huge number of downstream projects: WordPress, PHP, Nginx, jQuery, Elastic Search, Node, Socket.io, and probably a bunch I can't think of or don't know about. Additionally, they are a driving force behind dozens of upstream, open source themes and plugins.

Edit: Matt says in a Tweet where Andrey Savchenko asked for clarification about PHP contributions that Automattic doesn't actively contribute to PHP. Though I think I define contribution a bit more loosely than Matt does.

Whether a company is contributing to their foundational piece of software, a downstream or upstream application, or on an adjacent aspect that leads to the betterment of the platform that is foundational to their business objectives, then I believe it will in turn be beneficial to their bottom line.

Contribution as culture

Contribution should not be considered an isolated cost, but an enabling investment.

If I run a business that relies on a foundational piece of software like WordPress, then it benefits me greatly for my employees — no matter what role they play within the company — to be intimately familiar with that software.

In my last job, I was tasked with guiding a transition of my company from developing mostly on a proprietary CMS to WordPress. I consistently preached the importance for everyone in the company to understand some fundamentals of WordPress itself. During my time there and since I've moved on, I've seen other members of that company learn the software, get involved in our local community, and even contribute back to WordPress itself; and both they and the company are better off for it.

Whether an employee is in sales, customer service, design, development, management, or wherever else — every employee knowing your product is important. I firmly believe this. I would want anyone in an organization I'm part of to be able to discuss our product in detail and with confidence to anyone.

When your company relies on a foundational piece of software — such as those we're discussing in this post — that's in effect part of your product. We are building products and services around and for WordPress. How important should it be that our company's employees understand it?

And how can they understand it better? By contributing of course!

Have a new support rep? Show them the WordPress.org forums to get their feet wet. New designer or front-end developer? Have them sit in on default theme conversations or read through the Make UI blog. New sales person? Get them involved at your local meetup and WordCamp. This list can go on.

Avenues for contribution are an incredible gateway for learning WordPress. Blogging about WordPress (another avenue of contribution) has greatly enabled me to be better at my job, and therefore made me significantly more valuable to the companies I've worked with.

Five for now

Matt called his post Five for the Future, and talked specifically about how a 5% investment by a company will ensure a greater future for WordPress and therefore said company. I disagree.

Contributing now will benefit the company and its employees right now. And while both Matt and Ben focused on individuals within the company being targeted contributors, I think it's much more beneficial to have a much larger percentage of a company contributing a portion of their time (even if small). I'd rather see 2 of 200 employees be full time contributors and then have 80 10% contributors than have 10 full time contributors.

I think we've seen many, many examples of contributors (people and companies) reaping tangible and intangible benefits from when they contribute — whether that contribution is to the codebase or the community. Contributors in this ecosystem come out on top.

Contributions are not an isolated cost or burden. Nor should their effects be limited to good faith investments to the sustainability of the ecosystem.

Contributions benefit the bottom line, and they benefit the bottom line right now.