Chris DiBona was worried everything would end up in one place.
This was a decade ago, before the idea of open source software flipped the tech world upside-down. The open source Linux operating system
was already running an enormous number of machines on Wall Street and beyond, proving you can generate big value—and big money—by freely sharing software code with the world at large. But the open source community was still relatively small. When coders started new open source projects, they typically did so on a rather geeky and sometimes unreliable internet site called SourceForge
DiBona, the long-haired open source guru inside Google
, was worried that all of the world’s open source software would end up in that one basket. “There was only one, and that was SourceForge,” he says.
So, like many other companies, Google created its own site where people could host open source projects. It was called Google Code. The company had built its online empire on top of Linux and other open source software, and in providing an alternative to SourceForce, it was trying to ensure open source would continue to evolve, trying to spread this religion across the net.
But then GitHub came along
and spread it faster.
Today, Google announced that after ten years, it’s shutting down Google Code. The decision wasn’t hard to predict. Over the past three years or so, the company has moved about a thousand projects off of the site. But its official demise is worth noting. Google Code is dying because most of the open source world—a vast swath of the tech world in general—now houses its code on GitHub, a site bootstrapped by a quirky San Francisco startup of the same name
. All but a few of those thousand projects are now on GitHub.
Some argue that Google had other, more selfish reasons for creating Google Code
: It wanted control, or it was working to get as much digital data onto its machines as it could (as the company is wont to do). But ultimately, GitHub was more valuable than any of that. GitHub democratized software development in a more complete way than SourceForge or Google Code or any other service that came before. And that’s the most valuable currency in the software development world.
GitHub: Catnip for Coders
After just seven years on the net, GitHub now boasts almost 9 million registered users. Each month, about 20 million others visit without registering. According to web traffic monitor Alexa
, GitHub is now among the top 100 most popular sites on earth.
Its popularity is remarkable for a site that’s typically used by software coders, not people looking for celebrity news, cat videos, or social chatter. “If you look at the top 100 sites,” says Brian Doll, GitHub’s vice president of strategy, “you’ve got a handful of social sites, thirty flavors of Google with national footprints, a lot of media outlets—and GitHub.”
The irony of GitHub’s success, however, is the open source world has returned to a central repository for all its free code. But this time, DiBona—like most other coders—is rather pleased that everything is in one place. Having one central location allows people to collaborate more easily on, well, almost anything. And because of the unique way GitHub is designed, the eggs-in-the-same-basket issue isn’t as pressing as it was with SourceForge. “GitHub matters a lot, but it’s not like you’re stuck there,” DiBona says.
While keeping all code in one place, you see, GitHub also keeps it in every place. The paradox shows the beauty of open source software—and why it’s so important to the future of technology.
How to explain this paradox? It’s all about Git, the “version control” software on which GitHub is based. Linus Torvalds, the creator of Linux, created Git in 2005 as a better way to build Linux. Git made it easy for many people to work on the same Linux code at the same time—without stepping on each other’s toes.
In short, Git let anyone readily download a copy of the Linux source code to their own machine, make changes, and then, whenever they felt like it, upload those changes back to the central Linux repository. And it did this in a way that everyone’s changes would merge seamlessly together. “This is the genius of Git,” DiBona says. “And GitHub’s genius is that they understood it.”
GitHub created a site where any other software project could operate much like the Linux project—a site the average coder could easily grasp. “GitHub is just really smooth,” says Rob “CmdrTaco” Malda, who lived through the open source revolution as the editor-in-chief of the tech site Slashdot. “It’s a sexy, modern interface.”
Now, pretty much everyone hosts their open source projects on GitHub, including Google, Facebook, Twitter, and even Microsoft—once the bete noire of open source software. In recent months, as Microsoft open sourced some of its most important code
, it used GitHub rather than its own open source site, CodePlex.
S. “Soma” Somasegar—the 25-year Microsoft veteran who oversees the company’s vast collection of tools for software developers—says CodePlex will continue to operate, as will other repositories like Sourceforge and BitBucket. “We want to make sure it continues being there, as a choice,” he tells WIRED. But he sees GitHub as the only place for a project like Microsoft .NET.
“We want to meet developers where they are,” he says. “The open source community, for the most part, is on GitHub.”
Private Meets Public
And yet, thanks to what DiBona calls the “genius of Git,” the community also operates off of GitHub
. Thanks to Git, coders can not only move code onto their own machines as they work on particular projects, but can easily “fork” code as well, creating new and separate projects. They can keep some code private while publicly exposing the rest on GitHub. Or have nothing private at all.
Git and GitHub, you see, aren’t just for open source software. They’re also for private code. You can easily move code from private to public and back again. You can do your own thing, but also draw on the power the collective. That’s genius of open source.
Google does all this. Go, the company’s new-age programming language, is housed on GitHub, and it’s entirely public. A project called Kartes sits in a private GitHub repo, but then it feeds a public project called Kubernetes. The Chrome browser sits on a private Git service inside Google.
At Microsoft, the system works much the same. Internally, the company uses Git via tools like Visual Studio and Team Foundation Server. But it also shares code publicly on GitHub. And in offering tools like Visual Studio and Team Foundation Server to the world at large, Microsoft is among those pushing Git into a world of other businesses. Somasegar estimates that about 20 percent of Microsoft’s customers now use Git in some way.
Developers Are People
What’s more, the community of software developers is no longer small.
These are the people who now run the world—quite literally. Of GitHub’s ranking in the top 100, Doll says, “What that tells me is that software is becoming as important as the written word.”
The community of developers has become so large that GitHub is now struggling to offer tools that can accommodate activity on its largest projects, says Google engineer Igor Minar, who helps oversee the open source Angular project, which is hosted on GitHub and involves tens of thousands of coders.
Developers are everywhere. So many of them are on GitHub. And on GitHub, they’re contributing to tens of millions of open source projects. Minar describes the site as a kind of bazaar that offers just about any piece of code you might want—and so much of it free. “If you need something, you just go to GitHub,” he says. “You will find it there.” In short, open source has arrived. And, ultimately, that means we can build and shape and improve our world far more quickly than before.