Given intense competition for the world’s best engineering talent, can your company really afford to lock up its code behind proprietary licenses? Sure, if you’re in the business of selling software, giving it all away may not make sense. But the vast majority of companies don’t sell software, and should be contributing a heck of a lot more as open source.
How much more? “(Almost) everything,” to quote GitHub co-founder Tom Preston-Werner. The post is a few years old, but judging from how the industry continues to treat software like something to be hidden, not nearly enough people have read it.
Consider this your reminder.
Reasons To Open Up
If it sounds like business model suicide to “open source (almost) everything”, it’s not. At least, not for the 99.999% of companies that sell services, not software. For this overwhelming majority, Preston-Werner offers several reasons to open source code:
- Open sourcing code is great advertising for you and your company… translat[ing] into goodwill for [your company] and more superfans than ever before;
- If your code is popular enough to attract outside contributions, you will have created a force multiplier that helps you get more work done faster and cheaper. More users means more use cases being explored which means more robust code;
- Smart people like to hang out with other smart people. Smart developers like to hang out with smart code. When you open source useful code, you attract talent;
- If you’re hiring, the best technical interview possible is the one you don’t have to do because the candidate is already kicking — on one of your open source projects; and
- Once you’ve hired all those great people through their contributions, dedication to open source code is an amazingly effective way to retain that talent. Let’s face it, great developers can take their pick of jobs right now. These same developers know the value of coding in the open and will want to build up a portfolio of projects they can show off to their friends and potential future employers.
Keep in mind that open source really only helps you with a particular kind of audience. Chances are, open source won’t appeal to your end customers, whatever your product happens to be. But that’s OK, because open source is really just a way to engage the people who will help you build your product.
Still not convinced? Take a look at Facebook, the company I’ve called the world’s largest open source company. In an excellent Fast Company article, Facebook open source chief James Pearce touts the benefits it derives from open source, most notably recruiting:
It turns out that large percentages of our engineers will have known about our open-source projects before they will have joined and they will say that it contributed positively to their decision to join the company. It’s a great window … into the world of the sorts of problems that we solve, and of course we’re hoping there are world-class engineers around the world who would relish those kinds of opportunities and when they see the problems we’re solving will feel the urge to take a look.
I’ve written before about the importance of open source to recruiting the industry’s best engineers. Much of today’s best software is written in the open, be it Hadoop or Spark or MongoDB or Android. It’s how companies engage with developers long before they engage with end-customers.
It’s also how companies learn from their peers, as Box did from Facebook.
It’s why Netflix bothers to write technical blog posts that only a geek could love. (“There are a couple of things you should think about though before trying to score 100 billion records in Pig.”)
It’s why your company needs to stop hoarding software that offers no competitive advantage and start sharing. It will help you attract and retain talent which, in turn, will help your company better serve end customers.
That’s how open source helps. And it’s why you should give (almost) all of it away. Now.