Tom Preston-Werner – Github 1 of 3

“Code is about the people who are writing it.” Github is the leading social network that empowers programmers to collaborate, share, and write beautiful code.

Matthew: Hi, this Matthew Wise with FounderLY.com. We empower entrepreneurs to have a voice and share their story with the world enabling others to learn about building products and starting companies.

So I’m very excited today because I’m here with Tom Preston-Werner, who is the founder of GitHub. GitHub is the best way for software developers to collaborate. With that said, Tom we would love for you to give our audience a brief bio.

Tom: I come from a background in science mostly; I was very interested in science as a kid. I grew up wanting to do physics in high school and went to college for physics. I found that physics was just math – who knew – and then I changed to computer science. I did that for another year and then I dropped out because I was offered a job at a start up. I said, “Why would I stay in college if I can go and work for a start up right now?” Which was really what I wanted to do? 

So, out of college I started working for a start up as an employee, that company got bought and ended up down in San Diego and then after a few years of doing my own thing – after I got laid off from that company – I moved up to San Francisco and worked at a place called Powerset and started this company on the side called GitHub and then did that with two other co-founders and I’ve been doing that ever since.

Matthew: Can you tell us what makes GitHub unique? Who is it for and why are you so passionate about it?

Tom: GitHub is the first site that has brought social elements to software development in a way that people found them to be useful. One of the big elements that we did originally that allowed for that to happen was name spacing accounts by user instead of project. Most code hosting sites before us would say whatever.com/projectname – so something like Apache or Rails, those would be top level URL. And then people would work on that together and the project was the most important thing. 

On GitHub we decided to do it the other way around and put the user first. On GitHub the URLs are github.com/username/projectname. What that allows you to do is feel very free to put whatever kind of code you have onto GitHub. It doesn’t have to be really great, polished code, it could be anything. It could be your dot files, or just little experiments that you had, or one off scripts that you’ve written; any code that you have you can put on GitHub and feel comfortable about it because we’re not asking it to be super important, or feel like you’re consuming a top level name space with your project. It’s all name space under your user. So, that’s been really unique and helpful in the development of GitHub and has gotten a lot of developers on board and thinking about how to work together. The people are very important and we want to make that apparent through the social features as well. Code is about the people who are writing it.

Matthew: What are some of the technology and market trends that currently exist and where do you see things developing in the future for your space?

Tom: I would say just easier collaboration. That’s what we’ve been trying to do from the beginning. We started GitHub as a way to help ourselves with code. We, the three co-founders – Chris Wanstrath, PJ Hyett and I – have a lot of open source code and when we started working on GitHub, we did it mainly for selfish reasons. We wanted an easier way to write code together and with Subversion – which is what we were using before, as was and still is very common – the method of collaboration is a bit difficult. You have to download the source; modify it locally; you can’t make commits because you don’t have access to push back to the original source; then you have to roll the patch; and submit that patch to a random bug tracking software; and then you have to talk about it for a while. By the time you’re done with that whole process, that patch probably doesn’t apply cleanly anymore to the upstream. 

With Git you can go around all of that and just fork the project, work on it on your own, make the commits when that’s logical and then send it back to a place where someone else can see that repository, and then pull those changes in directly, without having to apply patches or otherwise. All the tooling of Git allows that process to be streamlined and GitHub makes that whole process easier. We are trying to make collaboration as easy as possible; reduce the barriers to collaboration so that anyone feels comfortable collaborating and doesn’t feel like it’s this huge task to do so. If you notice something wrong in a project, fix it and submit it; that’s how projects are going to get better. That’s the direction that we’re going and it’s the direction that the industry has to go in order to be competitive. 

Matthew: So, we’ve covered your background and an overview of the market. Can you tell us a story of behind GitHub? How’d you come up with the idea? Was there an aha moment or did you do research that led to the opportunity? What’s the story behind it?

Tom: It was a side project in the beginning, I was working at a company called Powerset, we were doing semantic search focused on Wikipedia. I had just recently sold a previous project that I had, called Gravatar – which are the little avatars that follow you around. I had gotten tired of running that because it was causing me a lot of pain; I didn’t make any money off it and it was requiring a lot of server time and I just didn’t have the ability to scale it properly without running it as a side project. I sold that to Automatic, who runs wordpress.com and they’ve fostered it very well, I’m very happy about that. When I did that… And the reason I did it is so I could free up time to work on something that I thought would be better. I didn’t know what that would be at the time, but it turned out to be GitHub. 

The idea of GitHub comes from talking to other developers at mostly the Rudy Meetups in San Francisco; this was about three years ago and back then we were just starting to talk about Git and what it meant. I had been introduced to that technology at Powerset by a good friend of mine, Dave Fayram, who is the quintessential first user of everything. He was saying how great it was, and I checked it out and learned that it was pretty cool; it could do branching really well, you could commit offline, everything was super fast because it was just using your local stuff. And the collaboration methods that it allowed for were really powerful. 

The only thing was that in order share your repository with someone else you had to either, package the whole thing up and email it to someone – not going to do that – or find a server somewhere and create user accounts and then set up this whole system where people log in and get access that way and manage the whole thing yourself so that people can push and pull from each other and there was no good interface to do that. While you had Git, the system that allowed all kinds of amazing collaboration possibilities, there was nothing properly utilizing those possibilities. 

So, GitHub came from that, from the desire to use Git and collaborate with other people in the ways that Git allowed, but weren’t possible. One night after a Meetup – after Meetups we would generally go to bars and drink, which was my favorite part – and that is where Chris and I sat down together and talked about this idea which was really to make hosting Git repositories less of a pain in the ass. And that’s what it said on the homepage for probably a year and half, “Git Hosting, No Longer a Pain in the Ass”. 

And that was the crux of it; let’s have good Git hosting and at the same time we wanted to have some social features because those were very popular at the time – still are, even more so today – and why not build those in? It’s supposed to be about collaboration between developers, so let’s make developers a first class type of thing and then create the ability for them to communicate, and have events when things change on repositories that they’re looking at, and be able to watch repositories the same way that you are able to follow people on Twitter – why can’t you follow them on their code? So, that’s how all the ideas came together.

 
 

FounderLY Photos

			FounderLY posted a photo:				FounderLY posted a photo:	Future of Education - FounderLY			FounderLY posted a photo:	Future of Education - FounderLY			FounderLY posted a photo:	Future of Education - FounderLY			FounderLY posted a photo:	Future of Education - FounderLY			FounderLY posted a photo:	Future of Education - FounderLY

Press Mentions #1

Press Mentions #2