Four years ago Linus Torvalds laid the groundwork for a new version control system, called Git, that would allow the distributed team of kernel hackers to collaborate and coordinate the extensive work that was being done on the Linux kernel. Today, Git adoption has exploded, now in use on high profile open source projects like WINE, Ruby on Rails, Perl, Android, Prototype, VLC, X.org, Fedora, and thousands of others.
Unlike centralized version control systems that enforce a bureaucracy around who is allowed to commit to an authoritative repository, Git encourages would-be contributors to fork the main repo and commit to their copy as they please. When they’re ready, contributors can simply point the core team at their fork and request that their changes be merged in. If the upstream repo changes before a patch series can be included, tracking upstream changes with Git is very easy (no need to re-roll patches!).
Drawing on experiences I’ve gleaned from cofounding and running GitHub (the world’s largest and most active Git hosting site) for the last year, I will introduce the concept of “Social Coding” and cover a number of case studies that demonstrate how Git has altered the way in which open source contributions are accepted, tested, and finally merged into the canonical repository. Some examples will be the Linux kernel (and their lieutenant hierarchy), Ruby on Rails (and their explosion in contributions after moving to Git), and ClickToFlash (which came back from the dead after moving off Google Code and onto GitHub). There are many strategies that can be adopted depending on the size of the project, the number of collaborators, and the philosophy of the core team. One of the hardest things for new Git users is to determine which workflow will be best for their project.
Chris Wanstrath is a co-founder of GitHub and an Isaac Asimov fan. He lives in San Francisco, never has enough time to work on his own open source projects, and tweets at http://twitter.com/defunkt. Originally at CNET, he had to spend a year consulting before he was able to work solely on GitHub.
Tom Preston-Werner is a cofounder and chief executive officer of
GitHub, a web site that makes it easy for users to collaborate on
software projects and share code. This site has attracted a community
of more than 3.5 million developers and strives to lower the barriers
of collaboration by building powerful features into its products,
making it easier for users to contribute and write better code,
Preston-Werner also invented the Gravatar, a globally recognized image
that follows its user around the internet to help identify posting on
blogs, web forums, or other internet activities. He sold Gravatar in
He lives and works in San Francisco. The weather there is strange, but
he loves it, and the mountain biking is unbelievably good.
Have a suggestion for a speaker or topic at Web 2.0 Expo San Francisco? Send an email to: email@example.com
View a complete list of Web 2.0 Expo contacts.