GitHub hosts millions of repositories in a plethora of languages. We decided to put together a list of the highest-velocity, most popular projects--a charge that was harder than we anticipated. GitHub calls out leading projects, but as we learned putting together this article, measuring interest and activity in a particular repository is actually trickier than it seems. GitHub allows users to star projects, indicating enthusiasm but not necessarily participation. And you can fork a repository but never contribute any pull requests, making the number of forks an unreliable indicator as well. Then there are repositories that have thousands of commits but only a few contributors. Let's dig into the methodology first.
Django is another web framework, this one written in Python, which started life as an internal project for the Lawrence Journal-World newspaper back in 2003. It was designed to make web development fast enough to meet the deadline demands of the newsroom and manage content in particular. It’s a classic MVC framework now widely used within the journalism world (The Guardian, The Washington Post and The New York Times) and beyond in sites like Instagram. Still a trending Python project in the last month, it has well over 10,000 commits. Incidentally, one of the creators of Django,Adrian Holovaty, later created Chicago Crime Maps, one of the pioneering pieces of work in data journalism.
Flask is a Python project which has been forked a lot this year. Another web development framework, it’s described as a “microframework based on Werkzeug, Jinja2, and good intentions.” Werkzeug is a web server gateway interface utility library for Python while Jinja2 is a templating language for Python, modeled after the aforementioned Django’s templates. Some argue that Flask is easier to use than Django and therefore a better choice for beginners.
Game of Life is a Java project which has racked up large numbers of forks this year. It’s a simple online version of mathematician John Horton Conway's geek favorite Game of Life, a cellular automaton which illustrates how complex patterns can emerge from the implementation of a few simple rules. The Game of Life consists of an infinite two-dimensional grid of square cells, each of which is in one of two possible states, alive or dead. Every cell interacts with its eight neighbors, by apply four rules such as “any live cell with fewer than two live neighbors dies”simultaneously to every cell. This particular implementation is used as a demo application in a book on Jenkins, which is a continuous integration tool.
Homebrew is a package manager for OS X which installs the stuff you need which Apple didn’t. Written in Ruby, it was still trending this month despite being around since 2010. OS X already has two package managers: Fink and MacPorts, but installing and creating packages was still hard to manage. Homebrew is a simple wrapper behind the UNIX configure that aids in making install processes. A Homebrew formula is a simple Ruby script and the core of HomeBrew itself consists of only a few hundred lines of Ruby. Homebrew’s GitHub respository has 2,945 contributors and over 10,000 commits.
This snappily titled project is an interactive online book written in IPython (Python for interactive computing) which gives an introduction to Bayesian methods and probabilistic programming. It emphasizes coding first and math second and has proved very popular with GitHub users who have bestowed 3,748 stars on it this year. Bayesian inference uses Bayes' rule, which is used to update the probability estimate of a hypothesis as additional evidence is acquired. It’s extensively used in Statistics and Machine Learning.
A quine is a program that prints its own source. Quine Relay is a new project which has been trending in the last month, an ouroboros or cyclical program in Ruby that generates a Scala program that generates a Scheme program and so forth through 50 languages until you end up back in Ruby. An exercise in cleverness rather than a useful piece of code, Quine Relay have nevertheless garnered 2,644 stars from GitHubbers in less than a month. Coders do like a bravura bit of meta-programming.
Sliding Menu is an Android library, written in Java, that allows developers to easily create applications with, yes you have guessed it, sliding menus popularized by YouTube and Facebook apps. It’s already being used in the Android applications of Foursquare, LinkedIn, and The Verge and is one of the most forked GitHub projects written in Java. There’s also a demo app available on Google Play demonstrating the capabilities of the library.
Storm is framework which aims to do for distributed real-time processing what Hadoop did for offline batch processing by allowing you to process massive and unbounded streams of data. Use cases include real-time analytics, machine learning, continuous computation, and distributed RPC. Storm’s creator Nathan Marz currently works for Twitter, where Storm is used to allow continuous analysis of the Twitter firehose. Storm is mainly written in Clojure but supports any language (Java is supported by default) and is one of the most starred Java projects on GitHub.
Tree.io is a business management platform written in Python containing modules like Project Management, Help Desk, and CRM (Customer Relationship Management). It’s been one of GitHub’s most forked and starred Python projects in the past month. Tree.io is aimed at small- to medium-sized businesses who need a single system to track everything happening in their business and isn’t going to cost a fortune. It also runs on a company’s own servers instead of in the cloud like Basecamp, Zen Desk, Salesforce, and other solutions which provide part of the same functionality.
Upton is a web-scraping framework, developed by non-profit newsroom ProPublica and packaged as a Ruby Gem, which has been doing well on pulls, commits, and stars. It lets you can scrape complex sites to a CSV in a single line of code and minimizes the number of requests you make to the site you are scraping. Its makers describe Upton as “sugar around RestClient (a debugger for RESTful web clients) and Nokogiri (a HTML parser).” Upton is named after labor journalist Upton Sinclair, who Time magazine memorably described as "a man with every gift except humor and silence."
[Image: Flickr user John Fowler]