/
githistory.tex
16 lines (11 loc) · 1.96 KB
/
githistory.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\section {A brief history of Git}\label{githistory}
The Linux kernel development was originally handled by a patch-emailing system, but in 2002 Linus Torvalds and his development team moved to the Source Code Management (SCM) system BitKeeper. BitKeeper was a commercial product free to use for open-source projects, however, Linus Torvalds decided to make use of it. Although Linus Torvalds' philosophy concering software is \zitat{Open Source is the only way to make software} \cite{googletechtalk2007}, he uses the best software available for his needs, commercial or not.
In 2005, BitMover (developer of BitKeeper) stopped their support for open-source projects. That is why soon after Linus was desperately trying to find a new system to handle the Linux kernel development, without success. They were either slow or simply not distributed. For Linus it was essential that the SCM system is distributed and has a high performance. If a system did not provide only one of these aspects, the SCM system simply was not of any use for him. When Linus did not find any SCM system he could use, he simply decided that it is best to write his own SCM - Git - which he already released in April 2005. Linus Torvalds commented his decision to write Git in the following way:
\zitat{I decided that I can write something better than anything out there in two weeks. And I was right!} \cite{googletechtalk2007}
In the Git development, design ideas were based on what developers learned from BitKeeper. Although Git was BitKeeper oriented, it became a completely new software with numerous advantages, including \cite{gitpro2009}:
\begin{itemize}
\item incredible speed
\item high efficiency, especially in large projects
\item outstanding branching system
\end{itemize}
Git became a huge success. Originally used for nothing but the Linux kernel, soon other projects moved to Git to handle their development. A few popular examples are X.org, Fedora, Samba and Ruby on Rails. \cite{gitinternals2008}