Co-founder explains why GitHub worked



GitHub, the world's largest software development platform, was released in 2008 and has grown to over 100 million developers by 2023.

Scott Chacon , co-founder of GitHub, explains why GitHub was so successful.

Why GitHub Actually Won
https://blog.gitbutler.com/why-github-actually-won/



According to Chacon, the four co-founders of GitHub had previously launched another service, and although the product was of good quality and had good taste, it did not grow much because the market environment and timing were not right. Despite this, Chacon says the reason for GitHub's success can be summarized as 'launching at the right time' and 'having good taste.'

First, Git , a distributed version control system for source code, was released in 2005, three years before GitHub was released. Git was developed by Linus Torvalds, a developer of the Linux kernel, for use in managing the source code of the Linux kernel.

At the time, software development generally used centralized version control systems like Subversion , and Chacon said that, frankly, as long as they were developing proprietary commercial software, there was no big problem with a centralized version control system that was easy to check out, change, and check in.



However, the problem was with the growing open source software development projects at the time. When GitHub was released in 2008, it was estimated that there were about 18,000 active open source projects. However, centralized version control systems were very difficult to use for open projects in which multiple developers participated in development.

For example, if an external developer wanted to contribute to an open source project, they had to check out the latest version, make their changes, generate a patch file with

GNU Diffutils , and upload the patch file to the ticket system or mailing list used by the open source project.

Furthermore, the maintainer of the open source project must then pull down a patch file, apply the project to check if it works properly, provide feedback or make changes to the project, or commit the changes before the contribution can be made to the open source project. This process is very time-consuming, making it difficult to manage and contribute to open source projects.

Git emerged in this environment, with amazingly quick and easy branching and merging, and very simple permission management. Chacon said, 'In the early days of Git, I would go up on stage, create some branches, commit my changes, switch branches and merge in 60 seconds. People were literally blown away. Some even thought I was faking the demo. In 2006, it felt like magic to be able to context switch and merge so quickly and easily. With Subversion, it was a total nightmare.'



Chacon also points out that it was also important to be able to easily fork a repository, push changes, and have others pull down to their forks. Some people think that the reason Git was accepted was because 'you got the whole history when you cloned,' but Chacon says people at the time didn't care about that.

However, Git is not without its weaknesses, and since Git uses SSH as its main protocol, it was difficult to give other team members SSH permissions to the internal server. The GitHub project was started with the concept of solving this hassle of Git hosting.

GitHub was just a small project at first, but it started to attract attention as Git itself became more popular. Chacon recalls that one of the most important factors in GitHub's growth was its acceptance by the programming language

Ruby community. At the time, the Ruby community was attracting attention as an up-and-coming force, and posting their own projects on GitHub was a big appeal.

It was no coincidence that the Ruby community embraced GitHub, and Chacon and other founding members held conferences with the early Ruby community to demonstrate GitHub and give talks. Chacon said, 'We weren't selling a product, we were sharing something we were passionate about. There was a lot of trust in this community, and the GitHub founders were very much part of it. We were trying each other's products and supporting each other.'

The Ruby community's use of GitHub meant that GitHub plugins would appear at every conference, essentially acting as free advertising, which led to more and more projects migrating to GitHub and new projects being started on GitHub, helping GitHub to establish dominance in the hosting space.



Chacon points out that a big difference between GitHub and other hosting services is that it was built by developers, for themselves, and they truly care about their developers.

'We are developers, and we built what we wanted to work the way we wanted to work. GitHub was the only one built by developers for developers, with no PMs, accountants, or CEOs trying to optimize for revenue over developer experience. GitHub ultimately won because the open source community was starting to converge on distributed version control, and we were the only ones in the hosting space that really cared about how developers worked,' Chacon said.

in Software,   Web Service, Posted by log1h_ik