April 24, 2008, 8:51 p.m.

Gems on Github

octocat Github is now a gem server. See the howto page for details.

This is a really big deal. It's not that we need yet another gem server, but what this means is that there's now a standard way to distribute your own custom variations of gems at quite nearly no effort.

For example, I might have a project that's built on sinatra, but requires a few minor tweaks to it that either haven't been, or won't be accepted upstream. All I've got to do is fork the project on github, and add a dependency for my version of the gem and we're good to go. I can keep mine up to date, or if the code from the fork is accepted, it can get pulled back in.

Github is ushering in open source philosophies so rapidly that we should really take a step back to appreciate what it's doing. This is the bazaar.

Critics have called github a throwback to centralized systems because it's, well, a hub. That's kind of a warped view, though. sourceforge tried to do it with a good degree of success, but they actually were centralized. Github is centralized the same way a farmer's market is — we all do our work in our own places with various backend tree swapping, but we show up at this one place to show off and trade our wares. Customers in this model need only pay in code for the right to make someone's project a little better.

This is open source 2.0.

blog comments powered by Disqus