Cover photo

Picture yourself building Git in 17 days

How a fight between Linux and BitKeeper led to the launch of Git in record time

Linus Torvalds released the first version of Git with Linux in 17 days!

The funny part is, he thought the project was "just about the least interesting thing in the computing world".

So why did he build it?

Well, the story starts off with a fight between the Linux and BitKeeper teams.

Before we dive in, make sure to subscribe to The Bigger Picture so you don't miss future posts!

Source Control Managers

If you're a developer today, there's a good chance you've had to interact with git in some form or fashion. However, pre-2005, the default source control manager (SCM) was BitKeeper (BK) developed by Larry McVoy.

An SCM is a system that basically keeps track of changes to the code in a project and allows people to collaborate.

At the time, Linus appreciated BitKeeper over other SCMs because it permitted distributed merging and enabled everyone to have their own repository. The reason BitKeeper never took off was because they kept their code proprietary.

There was a free version available for open-source projects, but everyone else had to pay.

Linux is of course open source so the devs contributing to the project used BK.

Reverse Engineering BitKeeper

But in early 2005, Andrew Tridgell, an Australian computer programmer, started reverse engineering the BK protocol which pissed off Larry and started the fight between the BitKeeper and Linux teams.

The BK team eventually decided to revoke the free license to Linux devs.

Torvalds was clear that none of the other SCMs met his standards and was essentially forced to build one on his own.

Using Git to build Git

On the first day of coding, April 3rd, 2005, he wrote enough logic where he could "start committing things into git using git itself".

He mentions that the challenge wasn't about how much code to write but rather figuring out how to organize the data. By April 20th, he had sent an e-mail to the Linux community describing his work on Git and mentions:

it's the first [release] in a long time that I've done without using BK and it's the first one ever that has been built up completely with git (Source)

Git rapidly evolved with contributions from the community and within a short time surpassed other SCMs in terms of features, flexibility, and performance.

Today, Git powers tools such as GitHub which is used by over a 100 million developers across the world!

100 million developers and counting

What started off as a simple project Linus had to write because of a fight eventually ended up becoming the de facto SCM for the developer community.

That's all for today!

I'll see you all tomorrow 🤝

Collect this post to permanently own it.
The Bigger Picture by Yash Bora logo
Subscribe to The Bigger Picture by Yash Bora and never miss a post.
  • Loading comments...