Linus Torvalds Reflects on 20 Years of Git
It was 20 years ago that Linus Torvalds wrote the Git distributed version control system — April 7 2005 was he made the first commit. So in early April, GitHub celebrated. GitHub staff software engineer Taylor Blau conducted an interview with Torvalds, which GitHub then shared on YouTube (where the git-based service’s channel has 467,000 subscribers).
But the first question provided some crucial context. Did Torvalds still expect to be using and talking about Git 20 years later?
The creator of Linux answered that he’d expected to still be using Git — but “maybe not talking about it.” He’s surprised that it didn’t just persist, but came to dominate the source-control management (SCM) space for developers around the world — because “I saw it as a solution to my problems.”
So what happened next? Torvalds uses the interview to reflect on all the little lessons learned — about network effects, workflows, and the importance of simplicity in problem-solving. He shared his one regret, but also expressed a hope for the future.
And by the end of the interview, he was weighing in on whether or not Git had actually changed the act of programming itself.

Changing Dynamics
Looking back, Torvalds remembers Git wasn’t at first greeted with unconditional love. But 2008 brought “these strange web developers who started using Git in a big way.” Three years earlier a group of these developers released a brand new web-application framework called Ruby on Rails, Torvalds says, “which I had no idea — I still don’t know what Ruby even is.”
Calling them “strange” seems to show his sense of wonder at this “completely new kind of Git user — at least, that I hadn’t seen before…”

“It just made it very obvious that suddenly you had all these young people who had never used source-control management in their life before! Git was the first thing they ever used, and it was what the project they were using was using — so it was kind of the default thing.”
Torvalds still believes their arrival “changed the dynamics, when you didn’t have these old-timers who had used a very different their whole life.” The abruptness of the change seemed downright funny. Within three years, “Instead of saying ‘Git is so hard,’ I started seeing these people who were complaining about, ‘How do I do this when this old project is in CVS?’”
This eventually led to a network effect, with new projects adopting Git by default just to stay compatible with all the other projects. Torvalds says that probably explains why Git’s popularity skyrocketed — creating a challenge in the decades that followed not for Git, but “for anybody else who thinks they have something better.”
One report even claimed 98% of projects used Git, though Torvalds says, “I don’t know how true that is. But it’s, like big!”
There are alternatives (like Pijul, Jujutsu, Piper). Has he ever tried them? Torvalds has a ready answer. “No.”
Because why would he — when he already has Git?
Back in 2005
Torvalds gave an early talk at Google about Git back in 2007. And it’s interesting that he’d made a point of thanking BitKeeper, the version control that Linux had been using from 2002 to 2005.
In that talk, Torvalds applauded BitKeeper’s ability to coordinate and merge widely distributed contributions. “BitKeeper was not only the first source-control system that I ever felt was worth using at all — it was also the source-control system that taught me why there’s a point to them, and how you actually can do things… A lot of the flows we use with Git come directly from the flows we learned from BitKeeper.”
“One of the replacement options was going back to tarballs and patches, but nobody really liked that anymore.”
Torvalds is credited for writing git in 10 days. But looking back this April, he remembers that “By the time I started writing, I had actually been thinking about the issue for four months, thinking about what worked for me and thinking about how do I do something that does even better than BitKeeper does.”
He tactfully described his thought process as: “I can’t use CVS, because I hate it with a passion, so I’ll do my own thing.”
But looking back, Torvalds emphasizes that he’d stuck to a few simple design goals.
- Performance: Linux’s kernel is a large project, and some version-control tools took as long as 30 seconds for each patch, “which was not acceptable to me,” since faster results means faster fixing. (“It’s actually a quality of life thing.”)
- No Corruption: Some have said it was a mistake to use SHA-1 hashes — but Torvalds points out it wasn’t there for security, but to prevent data corruption, which they’d already experienced with BitKeeper. As Torvalds said in 2007, “If you can’t guarantee that the stuff I put into an SCM comes out exactly the same, you’re not worth using.”
- Support Distributed Workflows: Torvalds said in 2025 stressed another design goal: making it easy to copy repositories, with every repository being being exactly the same. “That was something I very much wanted. And I didn’t realizing how many other people wanted it too.”
“The implementation is really simple,” Torvalds said in 2007, calling it “80,000 lines and mostly in C.”
In 2025, Torvalds suggested that if there’s a theme to that codebase, it’s “Let’s get this working, because I have another project that I consider to be more important that I need to get back to.”

A screenshot from Torvalds’s 2007 Google talk
Looking Back
Were there any decisions he wished he’d done differently?
Torvalds acknowledges he regrets SHA-1 “in the sense that I think it caused a lot of pointless churn, with the whole trying-to-support-SHA-256 as well as SHA-1.”
LWN.net reported that in 2020 Git’s code was refactored “and can handle multiple hash types, with SHA-256 being the second supported type.” Torvalds said, “I understand why it happened, but I do think it was mostly pointless. I don’t think there was a huge real need for it. But people were worried… So, I think there’s a lot of wasted effort.”
When asked later what Git changes he’s followed over the years, Torvalds revisits the subject. “I think the biggest change I was still tracking a few years ago was all the multiple hashes thing. Which really looks very painful to me.”
But did Git change the way we code? At one point, Torvalds seemed to reflect on everything that came after, saying GitHub and other hosting services “made it clear how easy it is now to make all these random small projects, in ways that it didn’t used to be.”
Also it resulted in a lot of “one-off things where somebody did something and left it behind, and it’s still there.” Torvalds won’t say whether it fundamentally changed software development as we know it — but he concedes that “it changes the details. It makes collaboration easier, to some degree.”
“It makes it easier to do these throwaway projects, and if they don’t work, they don’t work, and if they do work — now you can work together with other people.”
Thanking Junio
But for all the Git-using projects over the last two decades, the real hero of Git is long-time maintainer Junio Hamano, Torvalds says, and “20 years later, you should definitely talk to Junio not to me.”
Even back in his 2007 talk at Google, Torvalds was calling Hamano “the person who actually made it more approachable for mere mortals.” (And Torvalds added that “There’s been a lot of other people involved, too.”)
All these years later, Torvalds says the amount of credit coming his way. He remembers when his oldest daughter first went off to college — and told him that he’s better known at her computer science lab for creating Git than for Linux, “because they actually use Git for everything there.”
“It’s kind of ridiculous that yes, I used four months of my life maintaining it.”
Conclusion
There was a stunning revelation. Torvalds sometimes checks his own Git history file and shared some statistics about his own usage patterns. “It turns out: I use five Git commands.”
“And git version, git blame and git log are three of them. So I’m a very casual user of Git, in that sense.”

(The other two Git commands Torvalds uses are git commit and git pull.)
Asked about his hopes for the future, Torvalds notes that while many sites do offer bug-tracking features, “I’d love to see that be more unified… where bug-tracking and issues in general would be something that would be more shared among hosting sites.”
But all this begs one more question. Linux. Git. Are we due for another big project from Torvalds? “Oh, that question,” he says with a smile. He’s heard it before — but the answer is no.
All the projects he’s made, “I’ve had to make because I couldn’t find anything better that somebody else did. I started doing Linux because I needed an operating system and there was nothing that served my needs, and I started doing Git for the same reason.”
Ten years ago, Torvalds even wrote his own program for scuba divers (since he’s also an avid recreational diver). “But I much prefer other people solving my problems for me,” he tells his interviewer.
“So me having to come up with a project is actually a failure of the world.”
“And the world just hasn’t failed in the last 20 years for me.”