Why Your Team Should Contribute to Open Source Projects
Much of the world’s software infrastructure, including that which underpins multibillion-dollar corporations, has been created and maintained by developers, often anonymous, who do it for free in their spare time.
This is the open-source software movement: software whose source code anyone can use and edit. It has united developers from all around the world to create, improve and iterate on flagship software: from well-known consumer products like Firefox and Android, through to key tech infrastructure like Kubernetes.
Open source has served as the training ground for a generation of programmers, developers, and software engineers. It has given them the opportunity to improve their skills and to self-direct, and get involved in projects that they find interesting and meaningful. In fact, according to a new survey, open-source skills are more valued than proprietary ones.
Around 30 years ago, open source-driven innovations were often academic endeavours, sponsored by university IT departments, where students were encouraged to contribute and learn software engineering skills while simultaneously benefiting the university and the wider world.
However, over the last ten years, the world of open source has changed. Today, open-source is seen as the innovation engine across large, forward-thinking enterprises. Organisations are increasingly eager to adopt open-source projects like Linux or Jenkins, whereby they not only leverage technologies but also provide resources to create and contribute to projects. For example, Facebook, Google or LinkedIn embrace open source by creating and building innovative software as communal projects. In fact, open-source technologies and influencers are seen as rock stars in industries from global banking to retailers.
We can see open source everywhere. Projects like Linux, Kubernetes, React.js, or Tensorflow are becoming ubiquitous in IT departments, while open source technologists are quickly becoming the most highly sought-after talent. Innovative organisations are clamouring to build open-source credentials to draw in the best talent to cope with the increasing digital demand on businesses.
Why we all benefit from open source
The ubiquity of open source software means that your organisation is probably already using some of these technologies, many in business-critical applications. By encouraging community participation, organisations have the opportunity to drive change that matters to their business today as well as drive technology innovation forward. Participating in open source helps in-house teams stay motivated and at the cutting edge. Developers want to work on projects they are passionate about. Letting them do this can improve morale, and allowing them to take on challenges they may not face when working on in-house software can help nurture creativity and new approaches.
What’s more, companies that are seen as supporters and leaders in open source are seen as innovators in their industry, increasing motivation internally and visibility externally. In addition, these organisations find it much easier to attract the best IT talent to their businesses in a virtuous cycle of innovation driving innovators.
In the end, there is a clear economic reason to get involved with open source - in 2018, open-source software added between €65 billion and €95 billion to the European economy. It is in everyone’s long-term interest to cultivate and nurture open source projects that can do far more commercial and social good than siloed in-house teams could alone.
Today’s challenge to the open-source movement
While the benefits are clear, some companies don’t see the immediate benefit in letting their teams contribute to open source projects and believe all of an employee’s productive energy should go into work that directly generates revenue. Some organisations have discouraged the use of and contribution to open-source projects in-house or even prevented employees from contributing outside of work.
However, even if companies don’t restrict their out-of-work activity, many developers with full-time jobs simply don’t have the time. Getting seriously into the weeds of an open-source project means a lot of time and energy on coding and fielding bug reports and support requests - often in numbers that an overwhelmed developer minority couldn’t possibly manage completely.
In her book, Working in Public: The Making and Maintenance of Open Source Software, Nadia Eghbal notes that almost half of contributors across 275 popular GitHub projects only contributed once - accounting for under 2% of overall ‘commits’.
Helping open source communities helps us all
We all benefit from ensuring that open source projects retain their guiding hands and most experienced talent from a mixture of employed and volunteer contributors. While there will always be a new generation of younger programmers willing to build up their skills and take the reins of open source projects, full-time developers who are motivated and supported by their employers can leverage their experience to take these projects to the next level.
Open source communities should be considered as shared assets. Their engagement provides short- and long-term benefits for companies, contributors, and society as a whole. When it comes to open source communities, we should always keep in mind the classic problem of the tragedy of the commons - it is a shared space that benefits everyone, and we have to actively work to ensure that both developers creating and companies using open source software put in and take away a balanced contribution. The very companies that put the most energy into helping the open-source movement stand to gain the most from it flourishing.