Open Source Haskell Releases and Growth

Hackage, Haskell’s central library achive site, went live 2 years ago during the 2007 Haskell Hackathon in Oxford.

Here we are two years later, on the verge of 1000 open source Haskell applications, libraries and tools (993 at the time of writing), all swinging around cabal and cabal-install.

Is the Haskell community getting any better at the production of code? To work this out, I made a 28 day sliding average of the daily releases to Hackage, and there’s a clear upwards trend. More people are releasing more Haskell than ever before:

Sliding average of Haskell releases

The two spikes correspond to the yearly GHC major releases, where a whole suite of libraries get updated.

We can break Hackage down by category too, to see what areas Haskell is being used in:

Half of all libraries (just over 500) are devoted to data structures, text handling and parsing, system interactions, control structures and abstractions, graphics, and development tools. Nothing terribly category-theoretic there :-)

Following closely are network, web, math, sound and database programming. (Breakdown of the top 30 categories).

The release of new code also mirrors the growth in community participation. Here, the growth in the Haskell IRC channel over the last 7 years:

It seems we’re seeing an obvious correlation between community input (new programmers) and output (project releases).

Join in: the lambdas are hot!

7 responses to “Open Source Haskell Releases and Growth

  1. Robby Findler

    Very nice graphs! One question about the data, tho: are these counting unique packages or are they counting different versions of the same package separately?

    Thanks,
    Robby

  2. Did you plot the graphics with a Haskell library? This could be a nice other topic for your blog!

  3. Seung-Cheol Jung

    sweet report :)

    by the way, what is the values of x-axis and y-axis in the third chart?

  4. archhaskell

    @robby

    The 1000 packages figure is the count of unique packages. The moving average graph (first graph) is daily uploads (which include rereleases of the same package).

    @gnuvince

    yes, this used the google-charts and gnuplot libraries from hackage

    @Seung-Cheol Jung

    The final chart y-axis is number of people in the channel at a given time, and the x-axis is the day since launch of the channel. This graph is actually a bit ot ouf date, since we’re over 650 users in the irc channel now.

  5. archhaskell

    Some other bits of miscellaneous data:

    200 day long term moving average of releases:

    (Note the tripling in the long term moving average of releases in 2 years

    Project versions on hackage as vectors over time:

    (Maybe projects start at 1.0, interestingly)

  6. Pingback: Open source releases and growth « Control.Monad.Writer

  7. Update: the 1000th Haskell package was released just a few days ago: http://article.gmane.org/gmane.comp.lang.haskell.cafe/51186

Leave a reply to gnuvince Cancel reply