Tom Preston-Werner, cofounder of GitHub, is in an enviable position. When he cofounded GitHub in early 2008 with Chris Wanstrath and PJ Hyett, few developers even knew what Git was. Today, however, their monster of a code-hosting site has become the go-to site for developers, worldwide. So successful is GitHub that Netscape founder Marc Andreessen’s venture capital firm handed over US$100 million in investment funds last year.

Preston-Werner said that these funds have allowed GitHub to choose whether it is profitable or not. The service, which charges for privacy and for a behind-the-firewall version of its repository software, has been profitable since day one, he said. We stopped by GitHub’s offices in San Francisco to chat about the future of Git, the potential for it to change business workflows, and just what the company is going to do with all that money.

SD Times: GitHub is at the front of a revolution in enterprise-development tools. Do you worry about competing with other new distributed development tools?
Preston-Werner: We don’t think about it that much. We want to redefine how people work together. It means thinking of it in how you do it as best as possible. We call that thinking from first principles. It’s not like, “There are these competitors, so let’s build solutions to compete with them.”

We’re looking at how software is going to be written in the future, because it’s different than it was 10 to 15 years ago. There are better tools, there are better methodologies now than there were 10 to 15 years ago. We have learned, in building this company, a lot of things about what it means to write software in a distributed environment. Companies that can work well with a distributed team can have access to a much better pool of talent, but you need tools to do that.

Tom Preston-Werner
Tom Preston-Werner

You created the pay-for-privacy business model. Is that more lucrative than your behind-the-firewall enterprise product?
We’ve had 300% year-over-year growth with our SaaS product and our enterprise product. Enterprise revenue is growing quickly, and we barely even have a sales force yet; there are six or seven people there. We’re thinking about that a lot now: how we reach and market to and properly serve enterprise customers, so their developers can have access to the same great tools small businesses and small developers have now. Think of how much of an enhancement that would be.
The enterprise has drawn interest as a place to sell software again. Have you seen an increase in uptake from enterprises?
The consumerization of the enterprise is what a lot of people call it. It sprouts from the fact that people everywhere are using really great tools for themselves. Tools like Facebook, Twitter and others you’ve never even heard of. They’re used to really slick solutions. Then you’ve got traditional enterprise companies whose model is to tick off checkboxes on the CIO’s list of needs. So, they’re building for a customer who’s not the end user. That’s how you get these terrible solutions.

There is an opportunity in the enterprise, but they can’t use it unless they can install it in their own enterprise environment, inside the firewall. And we decided, for the enterprise product, let’s keep it as close to as possible. The release cycle is one to two months now, so you can be totally up to date with

Are there any plans to expand GitHub’s services to support typical business work, such as documents and spreadsheets?
Git is really quite heavily optimized for software at this point in time, but the model is quite good for a variety of things. You see people using already for non-code things. People write books on there. The City of Chicago released some data sets there. They open it up for this workflow we have, which is the fork/modify/pull-request model. So they’re starting to see this workflow and this tool work sufficiently well, even though it’s not optimized for that use case.

Git repositories become terribly slow when they grow to 2GB. Will this be fixed?
I would love to fix that 2GB limit. It’s a huge limitation. I would love to make Git work for everyone regardless of how big the files are. There are some interesting solutions to that. There’s an opportunity there. Git the technology should not limit how people are able to use GitHub the tool, so we think about and work on solutions to any problem we see with the tooling underneath what we built. We hate to be curtailed by the things we use.

I wouldn’t expect Git core to fix it, but we employ one of the Git core members, so there are ways for us to solve our own problems.

What are the weirdest things you’ve seen GitHub used for?
There’s a guy that tracks things he’s doing in his house on GitHub. We started doing it in my house too. It’s in the repository: There’s a screw that needs to be fixed, so I put a picture of it on there.

There was a cool project—maybe not weird but fascinating—some university has a repository that contains code that instructs a laser on how to shoot laser pulses into a worm’s brain, thus being able to control the worm’s movement, heart rate, etc. They can make the worm poop on command with lasers.