Fork (software)
Also known as: software fork, project fork, code fork, forking
A fork is a copy of a software project that someone develops independently.
On platforms such as GitHub, 'forking' often just means making your own copy to propose changes back to the original. In open source, a fork can also mean a community split, where developers take the code in a new direction, often after licence changes or disagreements. While forks can divide communities, they're also a powerful safeguard, because no single company can fully control open-source software.
Fork (software), explained at three levels
At home
Forking is like photocopying a recipe so you can try your own changes without altering the original. If your version is better, you can share it back.
At work
Forks matter to businesses when software they rely on splits into competing versions, which can affect support and licensing.
At home
On GitHub, the 'Fork' button copies a project to your account. You can make changes there and open a pull request to suggest them to the original project.
At work
Community forks often follow licence changes. Organizations must decide whether to stay with the original, move to the fork, or pay for a commercial licence.
At home
Popular apps sometimes have forks with extra privacy features or removed tracking. In my opinion, check that a fork is actively maintained before trusting it.
At work
Monitor licence changes in critical dependencies, evaluate forks on community health and foundation backing, plan migration costs, and keep internal forks minimal since they drift and become hard to update.
Real-world examples
At home
Fatima forked an open-source note-taking app on GitHub to add a feature she wanted, then shared it with the original developers.
At work
Thomas manages infrastructure for a Montreal SaaS company. After Terraform's licence change, his team evaluated and moved to the OpenTofu fork.
How it compares
| feature | Fork | Branch (Git) |
|---|---|---|
| Purpose | Independent copy of a project | Separate line of work within a project |
| Ownership | New owner or community | Same project |
| Typical use | Outside contributions, splits | Features and fixes |
| Merging back | Optional | Usually expected |
A branch is a side path. A fork is a separate road.
For analysts
I'd include licence changes of key open-source tools in technology risk reviews. Forks can save the day, but switching still takes planning and budget.
History & origin
Forks have occurred throughout open-source history. In 2010, developers forked OpenOffice to create LibreOffice after Oracle acquired Sun Microsystems. MariaDB was forked from MySQL in 2009 by MySQL's original creator, Michael 'Monty' Widenius, who named it after his daughter Maria. When HashiCorp changed Terraform's licence in 2023, the community created OpenTofu under the Linux Foundation, and when Redis changed its licence in 2024, Valkey was forked, backed by companies including Amazon and Google. Redis later added an open-source licence option again in 2025. In my view, the ability to fork is open source's ultimate check on corporate power.