WritingScalewayScalewaypublished May 16, 2023seen 5d

Giving back to Free and Open-Source Software (FOSS)

Open original ↗

Captured source

source ↗
published May 16, 2023seen 5dcaptured 3dhttp 200method plain

Giving back to Free and Open-Source Software (FOSS) Build • Jonathan Norblin • 16/05/23 • 7 min read

Free and Open-Source Software (FOSS) is everywhere. Most of the software we use every day relies on free open-source bricks without users knowing or even noticing.

FOSS is loved by developers and companies because:

It is free to use, modify, and distribute, even if the “free to use” part is probably the main draw for most people and companies.

It allows developers to know what they’re using under the hood.

It allows developers to quickly build applications without reinventing the wheel or paying companies for software that is a black box that users can’t easily debug.

FOSS is hiding in plain sight

To illustrate how ubiquitous Free and Open-Source Software is, let’s take a concrete example with the smallest front-end and back-end application you can think of, a to-do list app.

The front end will probably be written in JavaScript, running on Node.js and using a framework like Vue.js , Svelte , etc. Your application back end could be written in Go or Java (running on OpenJDK ) and maybe using specific libraries to handle HTTP requests if that’s not included in the standard library.

You’ll also be using open source to store your data, whether you want to store it in relational databases (MySQL or MariaDB , PostgreSQL ) or a document database ( MongoDB ). And in the cloud era, your app will probably be deployed on a virtual machine (VM) running GNU / Linux on your favorite cloud provider. And even if you’re not aware of it, your cloud provider will probably use open-source software to virtualize a VM.

Evenings and weekends: where FOSS struggles

FOSS is not all rainbows and unicorns, however: there are three main issues:

Not enough maintainers or contributors: many developers are writing and providing libraries in their free time. Contributing is, sadly, mostly done during personal time or seen as a hobby, and it’s rarely part of a company’s policies to have employees contribute to open source during work hours.

A need for more funding.

A lack of appreciation for maintainers, for example, users expecting quick fixes or for-profit companies using repos without so much as a “thank you”.

On the importance and fragility of FOSS, source: xkcd

The problem can be summed up in one simple question: Every developer and company loves free open source, but what are we doing to give back?

In this blog post, we will show you — both individuals and companies — some ways to support the FOSS projects that make your life easier.

Contributing money

There are multiple ways free open-source software is monetized . Finding out how to contribute financially to a project can be difficult, but since most of FOSS is located on GitHub, using GitHub sponsorships can be seen as the standard way to help projects. GitHub can even recommend projects you rely on based on your public repositories, so all you need is a credit card to start distributing good vibes (and money).

Even a small contribution will surely bring a smile to a desperate maintainer’s face because it will allow them to continue their FOSS journey for a little bit longer.

Developers are fully aware that releasing code won’t bring in enough money to support themselves because only a small fraction of users will even consider paying for something that’s free to use. It’s comparable to tipping, except unlike with tipping, there’s no social pressure — the user can hide behind their computer, and no one will think worse of them for not contributing.

Companies, of course, pay their developers but ignore that a huge part of their stack often relies on FOSS developed by third parties whom they are not paying for their work. Even if it’s a small tool that just makes a company’s developers’ lives easier (like a testing framework), internally developing that tool from scratch and maintaining it would require time and money. If you think about it, it’s a bit like using brick and mortar to build a house and expecting the materials to be free of charge.

Source: Unsplash/Simon Lee

So consider contributing financially to open-source projects, especially as a company that uses open source in its stack. It’s not much different than buying a pizza for a friend who helped you move — something you could have achieved yourself but which would have taken you longer without their help.

Just remember: financial contributions don’t make maintainers indebted to you; it doesn’t and shouldn’t mean that your requests to enhance the software will be prioritized over others. That said, there are now initiatives such as Polar , which helps developers and backers tie contributions to specific issues, hoping to create one solution to the FOSS funding problem.

Contributing with your brain

Patrons won’t solve all the issues of FOSS. Which is good news for those who aren’t financially flush and still want to help. If you can’t contribute financially, you can still use your brain to make a difference, and the community will appreciate it.

Lack of contributions or project maintenance has been a common problem in the last few years: even widely used packages such as gorilla/mux have failed to find maintainers and were forced to archive their projects.

So, if you’re a developer and like to get your hands dirty, there are a couple of things you can do to help.

Get involved with feature requests

If you, as a user of an open-source tool, envision features that’ll help you in your daily life, they can probably also benefit others. Don’t hesitate to propose new features, discuss with maintainers, and even create draft pull requests.

Squash some bugs

When you find a bug, you can start tackling it. A small PR could be the perfect start of a discussion with others. You’ll be helping other users and, at the same time, improving your programming skills by getting involved with different codebases. So it’s really a win-win situation. Often, issues tagged as “good first issue” can be used as a launching pad to more complex issues.

Become a maintainer

As a developer, some tools you’re developing as side projects or to automate your job could be worth giving to the FOSS community. See this as a gift to other developers probably facing the same issues your project tries to solve.

Contribute without coding

Finally, if you’re not a developer but just a user, you can jump into issues to help others or triage them. Documentation is also essential, so any mistake you can…

Excerpt shown — open the source for the full document.