Why open source? This is a question I was asked when inquiring whether a client wanted to open source a portion of their project. For clients, it seems counterintuitive to give away something that costs money. For those businesses that do, it can pay back in spades.
Companies who require outside help typically fall into one of three categories:
Open source can solve much of this. It boils down down to being able to keep and retain talented developers.
In today’s market, high demand makes retention just as hard as hiring. When we talk to developers, the ones that are most excited about their jobs derive happiness from the type of work and the available learning opportunities. Others that are looking for new opportunities want to be challenged and afforded room to grow.
If you can hire and retain talented resources, you’ll be able to deliver. Open source helps on both counts.
Giving back to broader community demonstrates technical ability at your organization. This respect and awareness is something that shouldn’t be discounted for recruiting and retention. When I think of companies that use our core technologies, the ones that come to mind are the ones who have contributed great tools or frameworks to the development community.
The more community members leverage a project, the better it becomes.
That technical clout also flows down to the employees involved in open source. Employees have the opportunity to further raise the visibility of their companies through speaking engagements at meetups or conferences.
At first blush, open sourcing can be perceived as increasing the workload of internal staff. From responding to issue reports or reviewing pull requests from outside parties, it’s easy to conclude that it’s a time sink. However, the hidden power of open source becomes clear over time. The more community members leverage a project, the better it becomes. Projects that do open source get contributions that can resolve bugs unseen by the original developers. Features not originally envisioned can be added after thoughtful review.
What company doesn’t want to free software development?
Rails has over 3000 contributors while the founding company has no more than 50 employees
Although it could be as easy as flipping a project over from private to public on Github, that isn’t setting it up for success.
One of the most important things to determine when open sourcing is which license to use. Not sure which one is right for you? Read here and choose your own adventure. For many, the MIT License is chosen but every organization is different.
Another legal consideration is contributor license agreements (CLA). Typically, a CLA is used to protect a company from code submitted from those without license to do so. Although these were in use on many high-profile projects, they have for the most part fell out of favor. Requiring contributors to sign a CLA is a speed bump and can prevent otherwise useful submissions.
Although open source gives back to the maintainers, it’s not something to toss over the community wall and hope for the best. As issues and pull requests are submitted, it’s important for the company be responsive. If you treat the community engagement the same way as you would internal bug reports and pull requests, code quality will increase. In extremely successful projects, this will eclipse your own contributions over time.
Ember was started by two developers and now has over 600 contributors
If it still feels like open source is not a good fit, then you might be right. Not everything can be open sourced. This is particularly challenging with monolothic applications. Beyond the inherent benefits of microservices, splitting up your application frequently opens the door to making tools public.
Sidekiq — an excellent queueing solution for Ruby was started by one developer and now has more than 300 contributors
If you look at your current technology stack, many of the core components are probably open source. From major frameworks to tools used within them, many open source projects have opted to use the MIT-license and have grown considerably as a result. The number of contributors in many cases far exceeds the number of internal resources with commits.
Your application or homegrown tools could be next. We are happy to talk with you about how open source can help change your organization.