To all my non-developers out there
At its core, Github is the Google docs for developers. It allows developers to collaborate, share and maintain code-bases at scale. But in reality, it is much more than that. It is an App store for code, the resume for a developer, and the social network where they share their inventions with the world.
The Github story is unique in many ways:
- 🦄 In 2018, Github became the third-largest acquisition ever made by Microsoft, sitting at $7.5b (after Skype and Linkedin)
- 🏝They moved from a remote-first company in 2008 to a Hybrid company in 2010 and made it work 🤷♂️. This was well before Hybrid was even a term.
- 💳 They bootstrapped the company for 4 years and scaled it to over 3 million repos (aka projects) before raising any venture money.
But before diving into the company, let’s take a look at the mastermind behind it. Enter Tom Preston-Werner.
The year was 1999
Tom is not your typical had-lemonade-stand-when-I-was-3-years-old entrepreneur. His first real stab at building a company came during his Sophomore year at Harvey Mudd University, when his summer internship turned into a full-time job offer as a Java developer. Tom faced the dilemma of dropping out to become an employee for a hot tech company (right before the Dotcome bubble burst) or go back to school for two years only to find himself looking for a similar position in the foreseeable future… he took the job….and boy, was it the wrong move🙈.
The Dotcom burst.
Shortly after, the Dotcom bubble burst and the company Tom was working for got acquired in a fire sale. Tom was let go (RIP Good times🧟♂️)
Tom and a couple of his buddies, who were also let go during this terrible time, teamed up to start a tech consultancy business called Cube6 Media, paying homage to the cube number Tom had during his short-lived developer career. Cube6 Media did a little bit of everything; you wanted to do flyers, they got you, you needed a new website, they got you, you needed a media strategy…guess what they got you.
This broad focus, coupled with the fact that the oldest person working at the agency was a 22-year-old programmer, meant that businesses wasn’t exactly rushing through the Cube6 door. His other two friends/cofounder had the foresight to leave Cube6 Media to get “real jobs,” but Tom decided to persevere through it and fly solo…and boy was it the wrong move (yet again).
Racking off debt.
The three years that followed were a struggle. By the end of year 1, Tom thought that he was doing OK…only to get hit by a $23k tax bill(as a sole proprietorship, you are supposed to pay estimated taxes every month), but this 22 years old business owner had no freakin clue as to what he was doing. By the end of year 3, Tom was $50k in debt, mainly to the IRS and the eight credit card companies he used to make ends meet throughout.

The surmounting debt was not enough of a reason for the hot-headed entrepreneur to throw in the towel, he had one last trick up his sleeves…take on MORE DEBT.
At that time, in 2003-2004, the housing market was on 🔥. Every month real-estate prices were going up, banks were incentivizing consumers to take on loans with the introduction of No-Document-Loans, and just like stonks today…real estate only went up and to the right (🐶TO THE MOOOOON).
It so happens that Tom’s landlord was selling the property he was renting, and Tom’s solution to the $50k debt problem was to take on some Equity debt: debt that theoretically can appreciate in value faster than the interest. The idea was to use some that upside from the equity(i.e increase in home value) to pay off his $50k bill. The housing market was not so generous to Tom in the following years, but in 2006 he refinanced his mortgage (just in the nick of time) and used some cashback from the refinancing to pay off some of his credit card debt. Finally a small win after years of struggle!
Throwing in the towel
In parallel as Tom was working on his consultancy business, the Ruby on Rails movement was just starting to gain traction.
This new framework enamored Tom; he was an active member of the RoR San Diego community and advocated for its use in every new project he took on at Cube6 media. But, unfortunately, traditional companies weren’t interested in using the new shiny framework that just came out…they wanted the old and tested.
This is what pushed Tom over the edge to give up on Cube6 Media; it wasn’t the debt or the fact that three years in, it was not working. Instead, he wanted to work with Ruby on Rails, and the consultancy clients just weren’t ready.
Gravatar
As Ruby on Rails was gaining popularity among developers faster than a snowcone melting in hell, Tom started to dapple with it on the side. Every few weeks, he would go to the San Diego Ruby on Rails meetups to catch up with some other developers. From time to time, people presented what they were working on. The most promising Ruby On Rails project Tom was working on and brought forth to this community was called Gravatar.
Gravatar was an avatar that tracked you across the internet. Every time you create an account on a website that uses Gravatar, it will capture your avatar from the service. If you change it on one website, it updates it on all of them. Pretty simple, pretty neat.
The only problem was, it wasn’t making any money. It was your typical kickstarting a network effects business dilemma. Companies did not find significant value from being early adopters to Gravatar. The real value of Gravatar came when they are integrated with a statistically significant portion of the web. And until Tom could hit that critical mass, monetization was mission impossible.
Gravatar slowly grew to over 32,000 users, and so did the operational overhead. By the end of 2006, Tom had to spend 2-3 hours a day manually approving the 300-400 new Gravatar profile pictures that got uploaded that day.
Attempt 1: trying to offload Gravatar.

The motivating factor to keep going with Gravatar was that Tom saw it as the gateway from the crippling debt. If someone out there could find some value from this global profile picture service, just $50k worth of value, all his problems would be solved; he could finally be a DEBT-FREE man.
On top of his hit list for companies that he could potentially acquire Gravatar was Automattic, the parent company behind WordPress.
Believe it or not, Blogging was still a thing in 2006, and not having empty/default profile pictures on the 99% of the blog posts comment was a reasonable enough value proposition for the company…or so Tom thought. So through his Ruby on Rails meetups connections, he managed to set up a meeting with the Exec team at Automattic in SF.
Bay Area for life
A few weeks later, Tom flew to SF, unfortunately though, the meeting did not go as well as Tom had hoped. Automattic was intrigued but not that interested in acquiring Gravatar.
The one good thing that came out of this trip was Tom’s friends (also a Ruby on Rails fanatic) urging him to go for a hail-marry interview at the new hot company he just joined Powerset.
Powerset was a natural language processing search company that had the ambition to be the next Google. What they did, which was novel at the time, was very similar to Google Answer Snippets. They surfaced more in-depth answers to your questions, considering the context in a much better way than Google did (or so made their claim go). It’s not every day you get a company that, not only dares to challenge Google in their core product: Search, but also gets the backing and stamp of approval from one of Silicon Valley’s legendary figures: Peter Thiel (Cofounder and ex-CEO of Paypal).
Tom took the meeting and after a couple of rounds of interviews, he would score the second small win in his life: getting a stable source of income. Accepting the job wasn’t as straightforward of a choice as you might imagine. Sure, Cube6 Media was struggling and never really took off, but Tom had just invested all this money he never had in a buying a home he couldn’t afford. To add salt to injury, he thought he would close the Gravatar transaction during this trip and decided to invest even more money he didn’t have into renovating the kitchen and floors of the house.
With this new job prospect as a Junior Software Developer at Powerset, he would have to give up his business, and by some miracle, finish renovating the house by himself as he can no longer afford contractors (he never could actually, I dk what he was thinking 🧐). He concluded the timing didn’t align, and decided to go back to San Diego and try to grind at Cube6 Media for a few more years.
In a typical Netflix-rom-com moment, shortly after Tom arrived at the airport, he had his anti-climatic “aha” moment and got in a cab and blewoff his flight. Over the next few days, he would go back to Powerset and negotiate a start date 3 months out. That way, he would have enough time to wrap up all loose ends in his consultancy business and try to pull a miracle out of his 🍑 in finishing up his kitchen and floor renovations by himself so that he could rent out his place in San Diego. This was the only way to make ends meet between his debt payments, property taxes, and junior developer salary.
Three months later, Tom moved from San Diego to the Bay Area to join Powerset, and his life would change forever.
One thing ends, another begins.
Six months into this new job, Tom reaches out to Automattic again in an attempt to finally crush that debt and sell his side-hustle Gravatar. I am not sure how the conversation went or what exactly changed their minds, but they finally agreed to acquire the company, and on October 18th, 2007, Tom announced to the world via a WordPress blog post that Gravatar had been acquired. For the first time since 1999, Tom had a net worth of >$0. The only caveat here is that the banks have foreclosed on his San Diego property along the way during that time, but that is neither here nor there. TOM WAS A FREE MAN.
In the months prior, as the transaction was coming to a close, Tom did not spend any time 🍆ing around…the next side-project was already brewing inside this beautiful brain.
“I think I was sitting at the booth alone because I’d just ordered a fresh Fat Tire and needed a short break from the socializing that was happening over at the long tables in the dimly lit aft portion of the bar. On the fifth or sixth sip, Chris Wanstrath walked in. I have trouble remembering now if I’d even classify Chris and I like “friends” at the time. We knew each other through Ruby meetups and conferences, but only casually. Like a mutual “hey, I think your code is awesome” kind of thing. I’m not sure what made me do it, but I gestured him over to the booth and said, “dude, check this out.” About a week earlier, I’d started work on a project called Grit that allowed me to access Git repositories in an object-oriented manner via Ruby code. Chris was one of only a handful of Rubyists at the time that was starting to become serious about Git. He sat down, and I started showing him what I had. It wasn’t much, but it was enough to see that it had sparked something in Chris. Sensing this, I launched into my half-baked idea for some website that acted as a hub for coders to share their Git repositories. I even had a name: GitHub. I may be paraphrasing, but his response was along the lines of a very emphatic “I’m in. Let’s do it!”
Tom Co-founder of Github
Brief Detour: History of Git
It is worthwhile to spend a minute to unpack this sentence. “Chris was one of only a handful of Rubyists at the time that was starting to become serious about Git.” In 2007, Git was the shiny new thing, developed only a couple of years earlier by Linus Torvalds, the main developer behind the Linux Kernel and the “godfather” of open-source software.
The history of Git is fascinating.
Back in 2005, if developers wanted to collaborate on code, they had two choices of version control software.
- Client-Server Model: This meant there was only one central repository where all the code lived and everyone worked. This structure meant projects were heavily gated by maintainers of the code. If you wanted to contribute to an open-source project, it was as much as “who you knew” as it was how good your code/contribution is. That “walled-garden” model made it hard to collaborate on large-scale projects.
- Distributed Model: This meant that everyone could have their version of the code and work on it collaboratively. The only problem was that the leading players in the distributed version control software charged a lot of $$$ for their service.
The Linux Kernel project was managed using one of these the leading distributed version control software at the time named Bitkeeper. Linus Torvalds managed to secure an agreement for a free license for his open-source project the Linus Kernet. But in 2005, probably some MBA Biz Ops person crunched his numbers and decided that the company can no longer subside the Linus free-riders. And so Bitkeeper reneged on their free license.
Linus took this personally, and instead of shopping around for yet another for-profit version control software, he created his own: a better, open-source, free version control software named Git. Rumor has it that Linus and the core contributors to Linux built Git in a single week, but 🤷♂️.
Git was significant for many reasons. Primarily because the godfather of open-source himself developed it. More importantly, though, it was a big _|_ from the open-source community to the for-profit companies. Using Git, developers can create branches, fork(copy) projects, work on multiple versions simultaneously, then elegantly pull all the code together in one master file something that was not easily do-able with Bitkeeper.
Back to the story
Git was what you would call a Cult business similar to Tesla, Roam, or even Atoms. For the people who mastered it, they thought it was the best thing ever happened to the internet since the internet was invented. Still, for everyone else, they couldn’t wrap their heads as to why those people were swearing by it.
Tom and Chris saw the Cult behind Git forming, sure it would take some time for it to be widely adopted, but they thought if they could build “the easiest” way to host Git Repos and just waited for Git to gain adoption, they could capitalize on all the free distribution that came from it.
The popularity in their minds was inevitable; the most intelligent people in their Ruby communities (Chris included) already spent the time to learn Git and unlock its superpowers. There was no turning back for those folks; it was only a matter of time until all developers would realize what they already did: Git is Bae.
Building Github

On October 19th, 2007, Chris and Tom pushed the first commit to Github. It was, by all means, a side-project. Not because they did not have enough conviction in the idea but rather that they knew it would be a while before Git gained adoption, and building on top of a nascent platform would take time to materialize. This is the tradeoff of being an early-mover in a space, you get to capture a significant portion of the demand, but the market is tiny. In VC terms…the TAM did not exist for Github at this point.
That sat well with Tom and Chris. For starters, Tom was still working at Powerset, a hot VC-backed company, and was in no rush to leave his cushy job for another entrepreneurial stunt after what he had gone through with Cube6 Media and Gravatar. On the other hand, Chris was working at CNET, and being a Git + Ruby on Rails fanatic meant that the thrill of building technology at the intersection of his interests was so worth it…even if it would never materialize into something more than a weekend project. He was already spending too much time working on Git-related side projects, and Github was the most ambitious version of them all combined.
Fun Fact: The development of Github started just one day after Tom announced the acquisition of Gravatar (even though the deal likely took place a few months earlier).