Preston-Werner grew up in Dubuque, Iowa; his mom was a special-education teacher and his stepdad an engineer. (His biological father passed away when Tom was a kid.) Preston-Werner was the classic engineer-in-training: ripping apart pieces of gear his stepdad had lying around, hacking the family TRS-80 PC, studying How Things Work books. Eventually, just as the dot-com boom was cresting, he set sail for Harvey Mudd College, east of Los Angeles. After two years, he dropped out to be part of a company run by two fellow Mudd students; then he struck out on his own, first running a digital design firm, which taught him "all of the crap it takes to run a business--taxes, all that," then creating Gravatar, the technology that allows your avatar to follow you around the Web from site to site.
He sold Gravatar to Matt Mullenweg, the founder of WordPress, then paid off his credit card debt and enjoyed the first bit of breathing room he had known in several years. That's when he met Wanstrath, who is still only 27, six years younger than Preston-Werner. ("I started GitHub when I was really young, so I don't have a bio or anything," says Wanstrath, who looks like Gregg Allman run through a reverse aging machine. "My life story's pretty short.") The two were part of the growing crew of developers working in Ruby on Rails, a Web development framework that has itself become a major force. "One of the things we talked about in the Ruby community was Git," Wanstrath recalls, "at the time a very esoteric version control system." In October 2007, they set about improving Git, partly for fun and partly to make it more useful in their professional lives. They stayed in their day jobs and noodled at GitHub primarily at bars and coffee shops around the SoMa neighborhood. During this period, they picked up two other co-founders, PJ Hyett and Scott Chacon.
GitHub went live in February 2008, and soon Geoffrey Grosenbach, founder of PeepCode, essentially demanded to pay for the service. Suddenly, a dork pastime was a business, and by July, Preston-Werner was confident enough in it that he passed up the offer of a $300,000 bonus and stock options from Microsoft, which had acquired Powerset, the company he worked for at the time.
Today, a programmer in Dubai can drop a chunk of code in a "repository" on GitHub's site, post a description of his project and what kind of help he's looking for, and then watch as coders around the world dig in and contribute. If the software is open source (that is, free for the taking by anyone who wants it, with minimal restrictions), the "repo" is visible to all three million developers who work on GitHub.com. Depending on how interesting the idea is--it might be a simple feature for a website or an entire operating system--hundreds or even thousands of people might "fork," or copy, the code and start working to improve it. When a developer thinks he has cracked whatever problem or portion of the problem he was working on, he can make a "pull request" to the "maintainer" of the repository to review his suggested fixes. The maintainer integrates some or all of the new code as he sees fit.
GitHub is in some ways like Wikipedia--highly social, tapping into the human desire to contribute to a common goal. When so many brains are engaged at once, the process of development, refinement, and deployment is radically accelerated. Each revision should, in theory, make the code more powerful, get it closer to the point where it can be shipped as an element in a larger software product, whether open source or commercial. "If the barrier to collaboration is too high, then you're not gonna do it," Preston-Werner says. "But once you get that barrier low enough, once you pass a certain threshold, everybody's contributing." GitHub is adding users at the rate of 10,000 per weekday.
Unlike Wikipedia, however, GitHub has a business model. Essentially, GitHub offers programmers and companies a choice: They can use the collaborative platform for free as a place to build open-source software, or they can pay to use it behind a wall, where they can develop proprietary software that forms part of a commercial product or service. In the first case, your willingness to make your code available to everyone earns you the right to exploit the web of open-source coders working on the GitHub site. In the second, your company's developers work in private, using the collaborative features GitHub has built but not its distributed global network of talent.