“GitHub, I believe, is doing to open source what the internet did to the publishing industry: It’s creating a culture gap between the previous, big-project generation of open source and a newer, more amateurized generation of open source today.”

“Before GitHub, I spent a lot of my time thinking and talking about how to best manage open source projects because the coordination cost of an open source project was significant. So significant, in fact, that when a project did well and grew a big enough community, it made more sense for the project to grow rather than fracture into smaller projects. But the bigger and more complex a software project got, the harder it became to contribute. So an assortment of members — or “committers” — were tasked with managing and producing the project. This often led to rifts between those producing and those consuming a project.

GitHub closed this rift by making open source much more decentralized. It became less about the project and more about the individuals.

The workflow for using GitHub is very personal. A person (I’m github.com/mikeal) has an account, and everything they publish exists one level below them. If someone else wants to fix something, they “fork” it, which puts a copy of it under them.

This workflow is very empowering: It encourages individuals to fix things and own those fixes just as much as they own the projects they start. It also gives all users an identity in the new open source culture; GitHub is actually the number-one identity provider for peer-based production over the internet in more than just code.

I’ve been contributing to open source projects for over 10 years, but what’s different now is that I’m not a “member” of these projects — I’m just a “user,” and contributing a little is a part of being a user. Little interactions between me and the project maintainers happen several times a week on all kinds of little projects I use.

And it happens even more often in the other direction: People I’ve never heard from send me little bits of code on all the little projects I’ve published.

The first versions of GitHub did one thing very well: They made it much easier to publish — than to not publish — your code. This was enough for many notable projects, including Ruby on Rails, to move to GitHub almost immediately.

But what happened next was even more interesting: People started publishing just about everything on GitHub…. Pushing code became almost as routine as tweeting. By reducing barriers to entry and making it easier to coordinate and contribute to open source, GitHub broadened the peer production to casual users.

Today a vast landscape of simple and understandable software is accessible to a creative class of people who did not have the depth of technical knowledge necessary to participate in the large open source projects of the past.

This blurring of relationships between producers, contributors, and consumers naturally values smaller and more easily understood projects — and has led to a long tail of contributions. In the entire month of September 2012, for example, half of all active GitHub users who pushed a “changeset” pushed fewer than five changesets, with 22 percent (about 44,000 people) pushing only a single changeset that month.”