Ten years ago, if you were working on an open-source project, you probably hosted it yourself. At the most, your team may have used SourceForge for storing your project code. But today, there is only one name in open-source software project repositories: GitHub.
Throughout 2012, GitHub consistently played host to the biggest, most complex and most useful open-source projects. Relative newcomers to the open-source scene, such as Twitter’s Bootstrap, Raphael and Phusion Passenger, are all gaining popularity with both users and developers adding to these projects. But what is it about GitHub that makes it different from SourceForge?
The answer is the social aspects. GitHub mines its data to show which projects are popular, which projects have just been updated, and which projects are seeing increased activity this month. It makes it much easier to check the pulse of a particular project. And because popular projects like the Linux Kernel and Ruby on Rails are already hosted there, it’s a sure bet that some of the best coders in the world are checking GitHub every day, if only to work on their own projects.
Of course, just because you’ve posted a patch on GitHub and attached a pull request doesn’t mean your code is getting into the kernel. A lengthy exchange between Linus Torvalds and the rest of the Linux community took place this past August. It turns out that Torvalds only accepts pull requests done in Git proper, not those that exist on GitHub. While a minor distinction, this caused some uproar in the community, as developers finally understood why their patches were continually ignored.
Having all of those eyes in one place helps to make GitHub the center of the open-source universe. But GitHub’s charm isn’t entirely about its “Hub.” A lot of the draw is Git itself, and 2012 was the year that commercial application development tool vendors finally realized this fact.
That’s why almost every major repository vendor found some way to integrate Git this year: Atlassian and Perforce both now offer services and support for it. Elsewhere, Git gained better OS X support through open-source projects.
It was business as usual at the Apache Foundation, as the Hadoop project continued to pull the most commits from the development community. Hadoop itself didn’t evolve much during 2012—the major changes for Hadoop 2.0 are still being planned for a nebulous future release date. But the Hadoop ecosystem saw great leaps forward, with Apache-hosted projects like Aero, Pig and Cassandra all expanding capabilities. The key-value store Cassandra, in particular, spent the year getting closer to Hadoop through support for running Map/Reduce jobs against a Cassandra cluster instead of against an HDFS cluster.
But no discussion of 2012 could be complete without NoSQL. This year, SD Times attempted to drain some of the water out of the NoSQL swamp by offering a stricter definition of the term. For our readers, NoSQL means high-performance databases—either key-value stores, JSON stores, or other non-relational data-storage systems specifically designed for speed of development and ease of scalability.
MongoDB is seeing success with lone developers, or with developers rapidly building single-tier Web applications. MongoDB took a number of hits in 2012, as many developers discovered just what it can and cannot do. One thing it cannot do is scale easily, and 2013 should see 10gen addressing this problem.
Couchbase is the result of the merging of Membase and CouchDB. This was the last year CouchDB’s founder, Damien Katz, would work on that project. Now at Couchbase, he and the development team have been working on a fork of the project specifically tailored to the Couchbase platform.
For mobile developers, the Android platform moved up to jellybeans. The release of Android 4.1 in the summer saw many new features added to the mobile device platform, including a faster interface paradigm, and the transition within the OS and the Google Play store from non-protected binaries to protected binaries. This change should help curtail the rampant piracy rife within the Android community.