GitHub: The New Locus of Software Development
GitHub launched in 2008 and over the past three years it has become the people's choice code repository. Over time, we believe that it will infiltrate the enterprise software development environment as developers insist on the combination of convenience and productivity that GitHub enables. As this chart shows, despite being less than half the age of the other popular forges, GitHub already has significantly more commits.
Looking at the graph below, the future is even brighter for GitHub. Beginning in early 2010 and gaining pace in 2011, the number of git installations has surpassed all the other version control systems. The chart represents installations on Debian Linux only but we believe that it is representative of an across-the-board trend: developers are switching en masse Subversion, CVS and Mercurial to Git.
In retrospect, the phenomenon that is GitHub seems inevitable and one might ask why it took a half century to reach the current angle of repose. We believe that GitHub sits at the intersection of four long term trends that have now reached full fruition, with the result that software development has been completely changed.
Consumer-grade User Experience
GitHub has fully exploited all the advantages of a young code base. Its user interface regularly delights even the savvy developers it is serving. By making use of the latest HTML5 API, activities like navigating through a code directory structure are greatly enhanced.
As the system of record for software, it is natural that the rest of the software development ecosystem (bug trackers, project management, continuous integration and testing tools) are now scrambling to integrate with GitHub. This will continue to reinforce their leadership position and make life easier for developers.
Travis CI gives a glimpse of what the future holds. Checking code into GitHub automatically triggers a test and integration build on Travis CI, a framework running on Heroku. This relieves developers of the tedium of integration testing and will result in better quality software.
Prior to GitHub, the accepted way of contributing to an open-source project was to write a message to the mailing list for that project asking for feedback on a proposed feature. GitHub introduced the idea of "pull requests" which are the best idea since the advent of open-source software. Pull requests have completely changed developer workflow and unleashed the full power of crowdsourcing in the developer marketplace.
"Pull request" is a slight misnomer because the real concept is that new features and bug fixes are now very easily pushed into a repository via a much simplified approval process. By cleverly integrating all the necessary communication tools to build a community, GitHub has made collaboration effective.
The Freemium Business Model
As developers increasingly gravitated towards GitHub for their personal, open-source projects, it was inevitable that over time they would demand to use Git at work. Clearly few corporation can afford to expose their source code to the world and so the paid model made natural sense.
Freemium business models always work best when a well-designed product with a great UI can be frictionlessly adopted by individuals and then be upsold to business buyers willing to pay for enterprise features such as privacy and security.
Dirt Cheap Computing
Underpinning the freemium business model is the fact that as the cost of compute, storage, and (most importantly) bandwidth has fallen, GitHub has been able to offer free project hosting to millions of users. The marginal cost of each new project is likely less than $1 per year.
By completely dominating the landscape for open-source software, GitHub fast became the default code repository for most developers and their personal projects. Over time, GitHub will infiltrate enterprise software development with a sustainable business model built on the love of individual users.
Originally published January 10, 2012.