Fork yes: embrace forks of your project

Two horizontal forks in black and white with their tines interlaced.

The idea of forking an open source project often has a negative connotation. I often read (and sometimes catch myself saying) a group is “threatening to fork” a project, as if that’s an unequivocally bad thing. To be clear: sometimes the original and new projects both fail after a fork. But I’d argue that it’s not because of the fork, it’s a result of an unhealthy dynamic that caused the fork in the first place. Healthy projects don’t need to fear forks — they can embrace them.

When members of the Pixelfed community decided to create a fork, Daniel Supernault had the perfect response:

Forks fucking rule, I’m happy to see this. Open source is crucial to the fediverse, and while we all might not agree on everything, it feels amazing to desire to work with forks

Daniel Supernault

Why you should embrace forks

Forks are healthy for the open source ecosystem. In the same way that genetic mutations can sometimes lead to better-adapted species, forks can lead to better-adapted open source projects. This can be true in changes to project governance that help the new project be more sustainable. It can also be true if the new project makes a technical change that results in better software.

If you maintain a good relationship with the fork, you can find opportunities to cooperate. Parallel-but-complimentary goals means each project can focus on better serving its own goals but work together on the common pieces. And even if you don’t have a good relationship with the fork, you can copy their homework if the licenses remain compatible. The new project may solve a problem you couldn’t.

Avoiding forks

Although forks are something to embrace, you don’t necessarily want to have too many forks. It can cause user confusion and split your contributor community. Forks to experiment with new technology or serve a different philosophy help the evolution of the open source ecosystem. Forks to work around bad communities (or bad leaders) are good for the forkers, but they shouldn’t be necessary in the first place.

If you maintain a responsive, respectful community, you can reduce the odds of a fork. When your community has a place for exploring new ideas, then the experimentation can happen without creating forks. If you’ve done what you can to make your community a great place to contribute, then you can feel free to embrace any forks that happen.

This post’s featured photo by MacDonald Almeida on Unsplash.

Ben works on open source strategy at Docker and was previously the Fedora Program Manager. He is the author of Program Management for Open Source Projects. Ben is an Open Organization Ambassador and frequent conference speaker. His personal website is Funnel Fiasco.

Share

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.