This is an interview with Chris Wanstroth, CEO and co-founder of Github. This interview is part of the “Bootstrapped, Profitable, & Proud” series about companies with revenues of more than a million dollars that did not cost venture financing at the start and generate income.
What does your company do?We provide open and closed hosting services for projects based on a distributed git version control system. Our goal is to simplify the interaction of developers as much as possible, especially in the field of open source. Making changes to any open project should not distract the developer from the code, the process should be as transparent as possible. Working with colleagues, whether they are in the same room, or at the other end of the world, should be focused on the development of the project, and not on combating the shortcomings of the tools used.
We also conduct git workshops, provide materials and sponsor open source projects.
')
How do you explain to “ordinary” people (relatives, friends) what your company does?GitHub is like Wikipedia for programmers. You can edit the program, watch the history of edits, read old versions from anywhere in the world, the only difference from the encyclopedia is that the work goes on the source code, and not on the text of articles. Business uses Github to develop software and network resources, programmers share their work and use the work of others.
The business model is simple: if the code is open to everyone, then you don’t have to pay for it. If the code is important for the functioning of the company and it is impossible to open it, then you will have to pay a small fee to work with it.

From left to right: Rick Olson,
Tom Preston-Werner , and Chris Wonstroth. (Photo by Dave Fayram).
Do you earn much on courses?Seminars do not constitute the largest part of our revenue, but they provide an opportunity to communicate with customers directly, strengthen ties, and learn about their wishes directly. Scott Chaykon (our git guru), conducts seminars around the world.
Support for open source development and git is useful for the industry as a whole, but we do it so simply because we like it so much. We appreciate the desire of our developers to participate in open source projects.
How did you start doing Github?The first prototype we started writing on weekends. Tom Preston-Werner and I sat in a sports bar after meeting a local programmer get-together, then he shared with me the idea of making a simple hosting project on git. Resource on which it will be easy to share code, get used to git, a kind of hub. This tool was made for a reason, but of necessity: we both liked git, and there was no public opportunity to share the code at that time. Tom decided that it would be interesting to me to solve this problem, and it happened.
We met on Saturdays, collecting pieces of our site. We had breakfast, discussed plans, then proceeded to work. Tom pointed out how the pages should look, but I was mainly engaged in the implementation. As soon as the main functionality was ready, we immediately implemented GitHub in my main job, another startup that we did with PJ Hyett. Developing GitHub has become easier, as he and I used it every day and easily understood what was missing.
One thing when developing his previous startup,
Gravatar , Tom realized exactly: to provide resource-intensive service at no additional charge is very expensive. In that case it was a hosting of images with a lot of traffic, here it was git. Storage and exchange of code could fly into a pretty penny. It was necessary to find a way to make money.
Thinking about it, we launched a beta for our friends. And the site immediately began to use! It was easy to create both an open and a closed project, everyone began to place their working code there - and PJ and I did the same. After a while, people began to contact us asking whether they should pay for closed repositories.
And then we realized how best to monetize Github, which helped in the future to make it not just entertainment, but business. We began to provide all participants with unlimited possibilities for placing open code, and they began to charge fees only for closed ones. That is, only those who wanted to pay paid.
PJ became a co-founder of Github and our previous project was abandoned. Now our project has become Github. The site was opened to the public on April 10, 2008, the service has existed and has been actively in demand since then.
How much money did it take to run? How did you find them?First, of course, we bought a domain in Slicehost, ordered some graphics. We managed to scrape together several hundred dollars to register a company, just throwing it all together.
Large expenses were spent on personal expenses, because it was necessary to live and develop a business. PJ and I consulted, Tom worked full time. As the business develops, we have come up with an approach to gradually moving towards a permanent salary.
We paid out of the firm’s income to each small amount, if sales went well, this amount increased. Gradually, our income approached a full-fledged salary and became sufficient for permanent work.
At first everything went very well. Then there were several months when sales did not grow at all, but by collective labor we managed to solve this problem as well.
How successful is your business?We hire great people and pay well for their work, without attracting funding from additional sources. From this point of view, we are very successful.
As the numbers grow (we have hundreds of thousands of users, tens of thousands of whom pay, a million repositories - a thousand new ones every day). All this we have achieved in two years.
What conditions do you work in?We work at a convenient time for us. We did not hire managers; we ourselves can determine what our priorities are, objectives and goals. The one to whom this or that task is most important is engaged in its implementation.
This may seem strange, but this approach really works. This is a great way to get people interested in what they are doing. If no one needs any thing, no one will do it. We all use our product ourselves, so it becomes immediately clear what is not working and what is missing. We try to maintain informal relationships with customers, it also helps us to prioritize.
We work distributed. We have an office in the center of San Francisco, but, as a rule, everyone is where they are comfortable and work when it is convenient. This office is a group chat in
Campfire . At first it was of necessity - there was simply no money for the office, so we sat at home and in coffee shops, and contacted via the Internet. Now it became clear that it was just so convenient. Github employees can spend the day in the office, get on a plane, and continue working the next day without any problems. There is no need to work out a certain amount in hours, you just need to solve the selected tasks.
The most important thing is to get things done. We are lucky that we are working on a web application (mostly), which means that changes are made easily and quickly. We already understood that it is better to release at least something now, and correct the mistakes along the way, users themselves will tell where the problem is. Try as early as possible to let new features in production.
Why is it important to first release the product, and only then correct the errors? Is there a simple example?It is never possible to do something immediately and well - this is a natural peculiarity of a person, understanding it is already a great advantage. Early start-up allows you to find out how users perceive this innovation. Are there more important problems that have not been solved yet? Did the product exceed expectations? Has anyone encountered a problem that could have been suggested? Trying to think through all this in advance, you can just get lost.
Sometimes it is difficult to understand what is more important, it is easier to give users the opportunity to choose for themselves. Determine what is most needed and do it.
In addition, the implementation and roll-out - in itself is interesting. If there is a deadline - this is work, otherwise it is a kind of competition.
The last time I participated in the rollout functionality for organizations. As soon as something began to work, we invited our friends to participate in the beta. Observing their work helped not only fix errors, but also build and improve the model.
What are the goals of the company?Both now and after 5 years, I would like to maintain good relations with colleagues and not lose interest in work. We want to grow, earn more and hire more to meet the needs of users, but the most important thing is to enjoy the process itself. I hope we will never tire of working on Github, and people will never get tired of using it.
As long as we have people who enjoy work and are making a good product for themselves, there will be no problems with meeting customers' requests.
Github can visualize the code change process. Here the color indicates the contribution of different participants to the homebrew project - the width is proportional to the volume of changes.In which case you did not heed advice from the outside, and did it your own way?Tom wrote a great
article about how he declined a $ 300,000 reward from Microsoft, and started working at Github.
The need to choose arose earlier than I can imagine. I could either become an employee of Microsoft and get a bonus, or go and work closely on Github ... In the end, I, like Indiana Jones, did not give up the search for the Grail, the ability to do what you really love, regardless of the stability of alternative conditions . When I become old, looking back, I can say “what cool things I did!” And not “as I was comfortable and safe.”In general, we rely on ourselves, not on the help of advisers. Every decision must be thought out and justified before it is taken. The fact that once in similar conditions a certain decision led to success (or did not lead) does not mean that it is necessary to act in this way.
Many people suggested that we abandon seminars on git (“where to go further, time is limited”), or not to offer local hosting of Github services, but both products now exist and delight our customers. All companies are different, we are very attentive to the observations and advice of clients, but we rely, nevertheless, on ourselves.
What was the most difficult problem in the company?The first year recalled that stage of teenage life when you realize yourself. Github was just fun, it was not the main project, there were no big expectations from it. We just wanted to do something cool. I would like to say that this is enough, but there must be a vision in perspective, a philosophy. Every employee (at least co-founder) must be on the same wavelength. The only problem is to catch this wave.
Do we make a web application, or just version control? What salary to pay employees? Is it worth speaking at conferences? How to approach technical support? These are seemingly different questions, but the answers to all of them are determined by the company's policy. When it is clear what we are striving for, answers to these questions immediately appear. But at first I had to think a lot.
Is the company's philosophy written in the documents? Or do people themselves understand how you work?We discuss this in interviews and we take it very seriously. Every potential Github employee needs to understand what the job is and understand that he is comfortable. Talking over dinner about culture, philosophy is part of the workflow.
We hired some employees only on the basis of their technical competence, leaving aside our views on life. And we could not work together. Therefore, no less attention when searching for people, we pay a vital position.
Office (Photo by Dave Fayram).What is more remarkable about your business?Two of the three co-founders did not graduate.
Do you think this is a coincidence?I don’t think - Tom and I left the university to start working in the industry as soon as possible. He had a startup, I have a job on order, but we both wanted to create. It was clear that someday we will do something of our own.
PJ received a degree in computer science, but he flew to San Francisco on the day he graduated. He worked at CNET (where we met) before graduation, and implemented his own projects throughout the entire period of study.
I do not have a definite opinion on whether you need to get a higher education or not, wonderful people are remarkable not by their education, but by their acumen, sense of humor, perseverance, but the reasons for which I was uncomfortable with what I would have experienced in a big the company. Most people do not even realize how comfortable it is to work for themselves. Work should like.
What advice would you give to business beginners?Work, look to the future. Think. Pay attention to the meaning of what you are doing. Be attentive to expenses (even when you get a significant income). Concentrate on the things that are important to you, do not chase after new technologies. When the project will work, you will have time to rewrite everything.