home projects speaker

Making Open Source Sustainable: Challenges and Solutions

Open source software has revolutionized the world of technology, enabling collaboration and innovation on a global scale. However, as open source projects have gained prominence, the challenge of ensuring their sustainability has come to the forefront. This article delves into the multifaceted aspects of sustainability in open source

Note

This article is derived from my talk How to make Open Source more sustainable, created December, 2022.

Open source has been one of the defining trends in the technology industry over the past several decades. It enables global collaboration and innovation. However, ensuring its sustainability is a growing challenge.

Table of Contents

  1. The Challenge
    1. Examples of Critical Open Source Projects
      1. OpenSSL
      2. cURL
  2. Burnout Among Maintainers
  3. Ramifications of Unsustainable Open Source
    1. Examples of projects that was on the brink of abandonment, or was removed
      1. Lerna
      2. leftpad
  4. Finding Solutions
    1. The Key Questions
    2. Securing Funding for Open Source
      1. Github sponsor
    3. Encouraging Contributions to Open Source
      1. Hacktoberfest
      2. Bounty source
    4. Balancing Sustainability and Open Source Principles
  5. Conclusion
    1. Open Source and a Sustainable Future

The Challenge

Open source projects are mainly maintained by unpaid volunteers. While this aligns with open source principles, it poses sustainability issues. These projects rely on donations and sponsorships, which can be inconsistent. Generating revenue remains a concern for open source companies.

Everyone uses open source, some open source is written by solo maintainers who struggle to pay the rent, which puts us all at risk, so that must change.

Open Source Dependency

Most software relies on open source components. Many solo maintainers struggle financially, endangering the ecosystem.

Examples of Critical Open Source Projects

OpenSSL

  • 1,320,000,000websites
  • 638 community contributors
  • 18 maintainers

cURL

  • 10 000 000 000installations of cURL worldwide
  • 800 community contributors
  • 8 maintainers

For instance, Synopsys’ 2023 open source security report, which audited more than 1,700 codebases across 17 industries, found that:

  • 96% of the codebases included open source software.
  • Just over three-quarters of the code in the codebases — 76%— was open source.
  • 91% of code bases included open source software that had had no developer activity in the past two years — a timeframe that could indicate, the report suggested, that an open source project is not being maintained at all.

Burnout Among Maintainers

Open source maintainers often work unpaid. 60% consider themselves "unpaid hobbyists", and 44% are sole maintainers, said the May 2023 Study by Tidelift.

Open source projects are more and more often victims of their own success. Those responsible for the packages end up spending thousands of hours a year maintaining and supporting packages that exists in the global infrastructure. This can lead to burnout and a lack of resources for maintaining and updating these projects.

Absolutely free, and usually only with outrage as the open source world's salary. It is not sustainable. Not in the long run. This is a massive challenge, across both companies and national borders. We as developers are definitely in a position where we can contribute, but what is really the right way to do it? I will try to answer this

Ramifications of Unsustainable Open Source

Even more concerning than the sole maintainer projects are the zero maintainer projects, of which there are a considerable amount as well that are widely used

– Donald Fischer, CEO and co-founder of Tidelift

Discontinuing open source projects can have significant ramifications. Open source software is often integrated into many other systems and products, and it can disrupt these systems and cause significant technical problems. Furthermore, it can cause loss of trust and confidence in open source software, and discourage potential contributors from participating in open source projects.

Moreover, it can leave users and organizations without support or security updates, which can result in increased security risks and decreased stability. The discontinuation of an open source project can also lead to a lack of innovation and progress in a particular area, as other open source projects may not have the resources or community to fill the gap.

In Tidelift's survey, 36% of maintainers said they have considered quitting their project; 22% said they already had.

In short, it can have far-reaching consequences and can undermine the sustainability of the open source ecosystem as a whole. It's important for open source projects to have sustainable funding and support, as well as clear governance and maintenance policies, to minimize the risk of discontinuation.

Examples of projects that was on the brink of abandonment, or was removed

Lerna

Lerna is a monorepo, that is, a modern build system for managing and publishing multiple packages from the same repository. It was solely driven by @evocateur a.k.a Daniel Stockman, but he got burnt out, and wanted to shut the whole thing down.

Lerna have up to 1.5 million downloads a day, and the creator have a total of 3.9 billion downloads for his packages.

… its creator @evocateur voiced his burnout and intention to abandon the project it was not made official until April 2020.

Due to the slow answer rate and almost no maintenance, people started to dislike it.

However, luckily for the open source world, and the people using Lerna, the torch was passed to Nrwl.

leftpad

javascript
module.exports = leftpad;
function leftpad(str, len, ch) {
  str = String(str);
  var i = -1;
  if (!ch && ch !== 0) ch = ' ';
  len = len - str.length;
  while (++i < len) {
    str = ch str;
  }
  return str;
}

Certainly, the "leftpad" incident remains fresh in the memory of the open-source community.

In the open source world, even the smallest components can wield significant influence. The "leftpad" story serves as a proof to this reality. Leftpad was a small JavaScript library that did a simple thing - it added spaces to the left side of a string to achieve a specified length. On the surface, it appeared trivial. 13-15 lines of code, that was it.

However, a sudden decision by its maintainer to remove "leftpad" from the npm package registry sent shockwaves through the software development landscape. This unassuming library turned out to be a linchpin for countless projects and applications. Its abrupt absence caused widespread disruption and highlighted the vulnerability of open source ecosystems when a critical component is unexpectedly withdrawn.

The "leftpad" incident underscores the imperative of implementing sustainable open source practices, ensuring clear governance, and recognizing the significance of maintaining even the seemingly minor elements within the open source ecosystem. It serves as a sobering reminder that every contribution, irrespective of its size, plays a vital role in the symphony of open source development.

Finding Solutions

The Key Questions

So, what can be done to ensure the financial sustainability of open source projects? To answer this question, we need to consider several crucial questions.

  • How can we secure funding for open source projects?
    • How can we ensure that open source developers are fairly compensated for their contributions?
    • How can we measure the value of open source contributions?
  • How can we encourage more people to contribute to open source projects?
  • How can we balance the need for financial sustainability with the principles of open source?
    • How can we ensure that open source projects are inclusive and accessible to all?

Securing Funding for Open Source

  • Developing a model for compensating open source developers. This could include offering monetary compensation, providing benefits such as more vacation, or allowing developers to work on open source projects as part of their paid work.
  • Securing reliable funding sources for open source projects. This could include setting up a foundation to support open source development, or partnering with companies or organizations that have an interest in supporting open source.
  • Measuring the value of open source contributions by tracking metrics such as the number of contributors, the amount of code contributed, and the impact that the open source project has had on the community.

Github sponsor

Encouraging Contributions to Open Source

  • Encouraging more people to contribute to open source projects by creating a welcoming and inclusive environment. This could include providing mentor-ship and training programs, or hosting events and workshops to engage the community.

Examples of that could be bounties, hackatons, meetups, workshops etc.

Hacktoberfest

Bounty source

Balancing Sustainability and Open Source Principles

With; How can we ensure that open source projects are inclusive and accessible to all?

  • Balancing the need for financial sustainability with the principles of open source by making sure that open source projects remain transparent, accessible, and free for everyone to use.
    • Ensuring that open source projects are inclusive and accessible to all by promoting diversity and inclusivity, and by taking steps to remove barriers to entry for underrepresented groups.

It's important for open source projects to have sustainable funding and support, as well as clear governance and maintenance policies, to minimize the risk of discontinuation.

Conclusion

Open Source and a Sustainable Future

Yes, open source can be a part of making a sustainable future. By promoting transparency and collaboration, open source software can lead to more efficient and sustainable use of resources. Additionally, open source projects bring people together from all over the world to work on creating solutions, which can result in more sustainable and eco-friendly technology. The ability to customize and tailor open source software to individual needs can also reduce waste and contribute to sustainability goals. Overall, open source has the potential to play a significant role in creating a more sustainable future.


About the author

Hi! My name is Alexander, and I am a creative frontender, specializing in UX, accessibility, universal design, frontend-architecture, node and design systems. I am passionate with open source projects and love to dabble with new emerging technologies related to frontend. With over 26 years of frontend experience, I have earned the right to be called a veteran. I am a lover of life, technologist at heart. If I am not coding, I am cooking and I love whisky and cigars. Oh, and coffee, I LOVE coffee!

If you want to know more about me, here is some links you might want to check out: GitHub, Instagram, Twitter, LinkedIn, CodePen, Slides.com, npm,

Speaker

I am also an avid speaker on several topics! Check out some of the things I speak about, and contact me if you are interested in having me at your next event!