Nzubechukwu.
← All posts
Open source5 min read

Why I contribute upstream instead of maintaining forks

Forks feel powerful and rot quietly. Upstream contributions are slower and compound forever. The math I use.

By Nzubechukwu Cyprian · Pharmacy student at UNN, full-stack developer

Cover image for “Why I contribute upstream instead of maintaining forks” — Open source

When a library doesn't do what I need, the fork is tempting: I control it, I can change anything today, no review, no waiting. I've done it. It felt powerful for about two months, and then it started rotting.

The fork's hidden invoice

Every fork is a private copy of a moving target. Upstream fixes security issues; my fork doesn't get them automatically. Upstream improves the API; my fork diverges. The moment I need an upstream improvement, I'm doing a painful merge — of code I half-remember, in a project that's no longer theirs and was never really mine.

The upstream alternative

Slower and smarter: open an issue describing the gap, submit the patch, wait for review. Sometimes the answer is no — and then I've learned whether I truly need the fork. But when the patch merges, the maintenance belongs to the project, the improvement ships to every user, and my name sits in the changelog forever.

My decision rule

  • change useful to others → upstream, always try first
  • change niche or contrarian to the project's direction → local patch, clearly marked, with an issue explaining it upstream anyway
  • fork → last resort, with a written exit plan, because forks are how you adopt someone else's maintenance burden in disguise

Upstream contribution is slower today and free tomorrow. The fork is the opposite.

Found this useful? Send it to someone.

Nzubechukwu Cyprian studies Pharmacy at the University of Nigeria, Nsukka and builds software, products, and AI experiments in between.

One email when a post lands

No schedule, no spam. Just the posts worth reading — new writing on software, AI, products, and the Pharmacy × Tech life.

Prefer a feed reader? Grab the RSS feed.