Home / Companies / GitHub / Blog / Post Details
Content Deep Dive

Being friendly: Friendly forks 101

Blog post from GitHub

Post Details
Company
Date Published
Author
Lessley Dennington
Word Count
1,403
Language
English
Hacker News Points
-
Summary

A friendly fork is a long-term fork of a software repository that complements its upstream repository with customizations aimed at a specific group of users, and it often collaborates with the original project by contributing features back through a process known as upstreaming. Unlike divergent forks, which arise from irreconcilable differences and often lead to significant deviations, friendly forks maintain a cooperative relationship with the upstream repository, facilitating a mutual exchange of features to benefit both user bases. The blog post explores the concept of friendly forks through examples such as git-for-windows/git, microsoft/git, and github/git, each serving unique purposes while maintaining a connection with the original git/git repository. These forks address specific needs—like Windows compatibility, monorepo support, and GitHub's infrastructure requirements—while also acting as testing grounds for new features before they are considered for upstream integration. The post emphasizes that friendly forks can be public or private, with private forks offering organizations a controlled environment to develop and test new features independently of the upstream release schedule.