Skip to end of metadata
Go to start of metadata

This page provides an overview of Clojure Contrib for people considering using (or authoring) a Clojure Contrib library

  1. Code in Clojure Contrib can be promoted into Clojure. 
    Clojure Contrib is developed with the same Contributor Agreement and License as Clojure. This makes it possible for libraries to become part of Clojure. It is very difficult to track down copyright and license assignments after the fact, so if you think a library might have any chance of becoming a part of Clojure, it should be in Contrib as early as possible.
  2. Being a part of Clojure Contrib is orthogonal to library maturity / production use.
    Clojure Contrib is a breeding ground for new ideas, some of which are bleeding-edge new.  On the flip side, some of the most widely-used and well-supported Clojure libraries are not in Contrib. The only time the Clojure Contrib label should imply anything about production readiness is when the library reaches 1.0 status.  (As I write this, in November 2012, zero libraries have reached this level.)

  3. Updates to Clojure Contrib are much easier than updates to Clojure.
    Updates to Clojure itself go through a screening process, and must be reviewed by the BDFL. Contrib libraries can be updated directly by the individual project teams, and require no review.

  4. The Contrib process, while lighter-weight than Clojure's, is not weightless.
    Contributors can only accept patches (not pull requests) from other contributors; all contributors must sign the CA.

  5. Contrib projects share common infrastructure.

    Github for code
    JIRA for issues
    Hudson for CI
    Common Maven template