Fork
Creating a personal copy of someone else's project to independently develop without affecting the original.
Also known as: GitHub Fork, Forking, Project Fork
Category: Concepts
Tags: software, version-control, collaboration, open-source, workflows
Explanation
Forking is creating your own copy of a repository, typically hosted on a platform like GitHub, that starts as an identical duplicate but can diverge independently. Unlike cloning (which creates a local copy), forking creates a server-side copy under your account that you control.
Forks are fundamental to open-source collaboration. They allow you to experiment with someone else's project without needing permission or risking damage to the original. You can make any changes you want in your fork, and if you create something valuable, you can propose those changes back to the original project via a pull request.
The fork workflow enables distributed contribution: fork a project, make improvements in your copy, submit a pull request, and the original maintainer can review and merge your changes. This scales collaboration—thousands can fork and experiment simultaneously without coordination overhead.
Forks maintain a connection to their upstream (original) repository, making it easy to sync with ongoing development. You can regularly pull updates from the upstream into your fork, keeping your copy current while preserving your modifications.
Forking represents a balance between independence and connection. You have complete autonomy over your fork while retaining the ability to contribute back. Some forks remain connected to their upstream and regularly sync; others diverge to become independent projects serving different purposes.
For knowledge work, forking represents taking someone's framework, methodology, or knowledge structure and adapting it to your needs. You preserve their foundation while customizing for your context. The fork maintains attribution to the original while enabling personalization.
Related Concepts
← Back to all concepts