Open source projects are a lot more exciting than roads and bridges
In July, the Ford Foundation released “Roads and Bridges: The Unseen Labor Behind Our Digital Infrastructure”, a report on the problem of sustainability in the open source (free and publicly available) software movement. This post provides a summary of Nadia’s report, but mainly its aim is to excite ideas for solving open source’s problems by looking at it differently.
Roads and Bridges, written by Nadia Eghbal, argues that open source matters to everyone, not just programmers, because it forms the “digital infrastructure” almost all modern products and services are built on. Companies large and small, and governments around the world depend on open source building blocks that are free or extremely low cost. But the movement is in crisis, with many major projects maintained by unpaid programmers volunteering their time, and lacking in financial and organisational support.
The report raises a red flag that the popularity of open source software puts so much stress on projects that major contributors leave or cannot keep up with the demand for changes, fixes and improvements. This unsustainable situation risks leaving companies the world over vulnerable to unplugged security holes, bugs in functionality and stagnation of development. The infamous “HeartBleed” security vulnerability that hit headlines in 2014, affecting two-thirds of all websites, was a bug in a wildly popular open source library maintained primarily by a single developer.
Looking up from the road
I’ve been involved at the periphery of open source for many years. At one point, I was a core contributor to the TiddlyWiki project, and I was paid to perform this role whilst working at BT. Our mandate was partly to get involved in open source communities and understand the movement on behalf of the wider organisation, and partly to make the software better and find applications for open web technologies within BT. As a result, I met many people involved in open source projects and spent a lot of time thinking about the “business case” for open source in a large company. Although I no longer contribute to TiddlyWiki, my instincts are very much aligned with the open source movement, and I believe that code-sharing is unequivocally a good thing.
The software development industry has been a pioneer in the free exchange of knowledge since the 1980s. The challenges identified in Nadia’s report are the growing pains of a movement that is a blueprint for other disciplines. What we get right, and what we get wrong with open source, informs the future of all other industries.
Absolutely, Nadia’s report feels like an important contribution — it raises significant issues of sustainability and sketches out a map of how projects are currently funded and organised. It also draws attention to the need for involvement from people in disciplines other than software development, if open source is to be successful at all scales.
Whilst a digital version of roads and bridges is a useful metaphor for highlighting how embedded open source projects are in commercial and public works, it does little to help people understand its potential and get them excited about it. Open source is too important to be thought of as civil engineering.
To galvanise the support needed to bring open source out of its adolescence, we need a metaphor that is exciting and aspirational. For me, that excitement is to be found in understanding that open source is a living ecosystem — fragile, but full of wildly beautiful creatures and tiny worlds.
The report, in brief
Roads and Bridges is a chunky 143-pages, aimed at a non-technical audience, and gathers together a lot of anecdotal evidence from various open source contributors about their challenges, as well as looking more broadly at where open source came from and why it is important. Nadia had previously written several pieces on her Medium account exploring the same theme, and announced on August 2nd that she is joining GitHub to “design programmes that support project maintainers” and help to solve the problems she has brought attention to.
To recap the main points from the report, it’s worth starting with this quote:
“Developers did not [give away software] for altruistic reasons. They did it because it was the best way to solve their own problems. The story of open source software is one of the great modern day triumphs of the public good.”
This sets the scene for a story about volunteer coders contributing to a global body of work, which corporations and governments are free-riding and dependent on. The received wisdom is that open source is getting along just fine. Like Nadia says,
“As discussed in this report, many key stakeholders — including those from startups, government, and venture capital — mistakenly believe that public software “just works” and does not require additional support.”
This is the main message of Roads and Bridges, that we need to raise awareness of and find answers to the funding and sustainability issues plaguing open source projects, before they bring the world’s digital economy crashing down around our ears.
Nadia paints a nuanced picture: open source is not a one-size-fits-all definition — there are many different scales of project, from the single developer publishing something she has been tinkering with because it helps her with her work, up through teams of contributors collaborating around a common problem, to large-scale foundations with hundreds (or thousands) of contributors building products like Firefox, Node.js and Linux. The differences in scale require different funding and governance models, but these are not areas that developers necessarily feel comfortable tackling. This professional reticence can lead to a certain snobbery:
“Small project maintainers think mid-sized maintainers should just learn to cope, and large project maintainers think if the project were “good enough,” institutional support would have already come to them.”
Nadia has collected many stories of over-worked project maintainers, and identifies a central dilemma, that although some people are paid to work full-time on open source projects and many do it for non-financial reasons, there is a lack of a commonplace route to cash for people that need it. For many projects, directly charging for use is not a viable option. The adoption that comes from being able to use something for free creates the community that maintains the project.
Current solutions to these funding issues, some of which work better than others, include company sponsorship (either internal or external), payment through a foundation, venture capital funding, or simply donations (e.g. through Gratipay).
As well as funding models, Nadia looks at open source governance models, ranging from contribution policies up to full-blown steering committees. But best practice in this area is nascent, with only a few examples of organisational patterns successfully managing larger projects, such as Ruby Together. And much of open source development is conducted without any structure, organisation or concern for the ownership and licensing of contributions, as the infamous @monkchips quote about developers merrily giving away their code neatly summarises:
“younger devs today are about POSS — Post open source software. fuck the license and governance, just commit to github.”
Open source is an ecosystem
In the last ten years, open source code has made up a large part of any software project I have worked on, as I would imagine is the case for all developers today, to the point where fundamental questions about its existence and sustainability do not get asked because, for the most part, it does “just work”.
But reading Nadia’s report of open source maintainers struggling to get by, it is clear that there is something of a ticking time-bomb inside many of the projects we depend on. As appealing as the metaphor of “roads and bridges” is, I wonder whether this is helpful or actually misleading. If readers respond to the crisis by reaching for the policy tools used to manage public works projects, will that really further the cause of open source?
So the solutions can fit the problem, we first have to see open source for what it is. I think the movement deserves that we think big. As much as the digital economy depends on its “digital infrastructure”, open source behaves more like a natural ecosystem, with its output being varied, colourful and complex, than a group of engineers churning out roads and bridges to a plan.
Describing open source in the terms of an evolving, adapting ecosystem is, to my mind, a better way to drum up support. However, if the metaphor is to be useful beyond simply exciting interest, it must help point the way to solving some of open source’s most enduring problems.
Many ecosystems humans depend on are vulnerable to the “tragedy of the commons”, where overuse of an ecosystem destroys the resources people rely on. The concept of managing an ecosystem has been around since the 60’s, aiming for a balance between the exploitation of an ecosystem and its sustainability for future generations. This is an industry in itself, with its attendant experts, who write books and speak at conferences. These people are familiar with the challenge of persuading groups of people, with diverse interests that may be in conflict, to come together around common goals. Asking some of the people experienced in this discipline to look at the challenges of the open source movement would be a good start.
If we see the open source crisis as an ecosystem (or ecosystems) to be managed, I suspect we will find solutions that wouldn’t come up from thinking in terms of roads and bridges. Each natural ecosystem needs its own governance to avoid crisis — agreement about what should be restricted and enforcement of the rules.
As a starter for ten, here are some techniques used to look after ecosystems that seem at least tangentially applicable:
- Identification of your product/company/person as part of a movement: for example, the Forest Stewardship Council (FSC) logo is stamped on packaging so eco-friendly consumers can choose products without worrying about destroying forests. Companies could show a logo on their website if they contribute to open source, either through giving back labour or financially.
- Sensitive ecosystems, such as coral reefs, are often awarded special status under local or regional laws if they are in danger.
- Where funds for governance are in short supply, low-tech methods of enforcing rules must be found. Malaysian fishing boats are painted different colours according to how far out they are allowed to fish, to make it easy to spot rule-breakers.
- To protect ecosystems, international conventions such as the Convention on Biological Diversity have been drawn up to enshrine care for ecosystems in international law.
- Careful study of ecosystems is necessary to understand their structure and complexity. This certainly fits in with Nadia’s call in Roads and Bridges for further work to quantify the usage of open source and identify key projects.
- Encourage diversity of participation, which in ecosystem management often means empowering women, indigenous people and the young. Translated to open source: get people involved who are not white, male, cisgender programmers.
- And by the way, charging people for access to the resources produced by an ecosystem is not off the table. National parks charge tourists (either directly or through taxes) for the enjoyment they receive, which pays for the conservation and development of the park. Could more education around the use of flexible software licensing lead to a broader base of revenue from companies and public sector institutions directly benefitting from open source?
- A crazy idea: what would a carbon market look like for open source?
Open source as the blueprint for the future
Whether we think of open source as digital infrastructure, roads and bridges, a digital ecosystem, or something else entirely, it’s important to realise that open source is a model that is ready to burst out of software and across the other spheres of human knowledge and activity. “Open” is already everywhere, but open source has had longer to mature than other areas. Wikipedia is the poster child of open knowledge. Udemy, edX, Coursera and others are pioneering open education. Blockchain is powering open finance. The UK has recently made all taxpayer-funded scientific research open access. The US and the UK governments have created huge repositories of open data. Allegedly, the Arduino is even open-sourcing imagination.
Jessica Lord’s 2015 talk on open source is quoted in Nadia’s report and gets to the heart of why open is the right way forward:
“The value of common knowledge cannot be overestimated. We must do better. We need all the ideas from all the people. That’s what we should be aiming for. We need an open source for everyone. Not just for the privileged and not even just for the developers.”
I think expansion into other areas of what’s been rehearsed in open source is also a means to find solutions to the problems Nadia has raised in Roads and Bridges. Ultimately, if we are able to nail open source as a public good, that bodes very well for the “postcapitalist” future that writers like Paul Mason and Jeremy Rifkin have been forecasting. It also paves the way to solving “the economic problem, the struggle for subsistence”, a future that John Maynard Keynes predicted in 1930, in his essay Economic Possibilities For Our Grandchildren. Keynes gave us 100 years. It may be techno-optimism to think we can solve Keynes’ economic problem by 2030, but open source gives us the tools for putting the world’s knowledge and know-how to work and, I believe, gives us a pretty good shot.