UNIX는 대형 컴퓨터의 운영체제이다. 리처드 스톨먼은 UNIX와 호환되는 다양한 기능들을 추가하여 개인용 컴퓨터를 위한 운영체제를 만들기 위해 GNU(GNU’s Not Unix!) 프로젝트를 시작한다. 이 프로젝트는 GPL(General Public Licence)의 조건사항 아래 모두에게 공개되었다.
리누스 토발즈는 이 프로젝트 내에서 리눅스 커널을 작성해 GPL 라이선스 하에 배포하였소, 많은 발전을 거치며 GNU 시스템과 통합되었다. GNU/Linux 시스템은 리눅스 배포판으로 불리며 자리매김 한다.
리누스의 리눅스 커널 개발 하에 많은 사람들과 협업을 진행하게 되었는데, 형상관리의 어려움이 있었다. 서로 다른 개발자가 구현한 하나의 파일의 조각들을 병합하는 일을 사람이 직접 수행하였는데, 그야말로 지옥이였다. 이를 해결하기 위해 리눅스 프로젝트에선 DVCS(DIstributed Version Control System; 분산 버전 관리 시스템)인 Bitkeeper를 사용하였다.
BItkeeper의 상용화로 유료화를 거치자, 이들은 GPL 라이선스의 새로운 버전관리도구인 Git을 개발하게 된다.