david alfonso

FOSS zombies

First and foremost, FOSS projects are usually maintained by volunteers that donate their own time to the community. We can only be thankful for that. Nevertheless, it's our right to find ways to devote our time where it will make more impact (whatever that entails for each of us).

Now imagine you've been contributing for some months to a FOSS project. You've learned its internals to a large extent and your change proposals have been quite consistently merged.

Someday, you realize that your patches take more and more time to receive attention; what used to take days, now takes weeks. You start feeling a bit frustrated. You have so many ideas to improve the software, but at this pace, your code will hit master within months if you're lucky.

At this very time, you start noticing things in the project that you didn't pay much attention in the beginning, but which can explain crystal clear why you've got involved in what I'm calling a "FOSS zombie".

Let's review some signals and tips to avoid falling in the trap.

Zombie signs

Inactive or dismantled organization

The organization behind the project is not active anymore.

What to look for?

External contributors are the only contributors

Most releases are minor/patch versions proposed by external contributors and new features are rare.

What to look for?

Maintainers accumulate all responsibilities

Maintainers still have all responsibilities even if they haven't made any significant contribution for months/years.

Nevertheless, they have not vanished; they still provide feedback, merge contributions and release versions.

What to look for?

Initial boost

The project received much attention at its creation, but in the following years/months it was pretty much inactive.

What to look for?

Open issues and contributions

There are many open issues and contributions, which means ideas and developments that didn't go well for whatever reason.

What to look for?

Useless work and code

There are unmerged contributions which have received a lot of feedback and work, but that didn't work out well and now all that code is in the limbo.

What to look for?

Conclusions

It's important to distinguish between a "FOSS zombie" and a project which is simply done. If that's the case, you'll find out easily by reading the documentation.

Now that we can identify a "FOSS zombie" and tell the difference from an abandoned/unmaintained one, let's realize that we are not obliged to contribute to it; there are always alternatives:

  1. Find a similar project with a more active community.
  2. Talk to the maintainers in case they are willing to support a fork or hand-off.
  3. Create a fork and start improving and using it.

In my opinion, "FOSS zombies" lead to confusion to potential contributors. If the maintainer(s) don't want to work anymore in the project, which is perfectly fine, they'd be better off letting go of it. Otherwise, contributors might get quickly burned out and the project will miss opportunities to grow and improve.