The Idea

That nice snippets of C code should be moved out of junkcode directories and exposed to a wider world, where they can become something useful.

CCAN is loosely modelled after the succesful CPAN project for Perl code development and sharing.

Getting The Code

Once you grab some modules, there are two basic ways to use it:

  1. Just hack it to compile in your project.
  2. Use it in place by giving it a "config.h" (steal this example) and compiling all the .c files which don't start with "_" (eg. as in this simple Makefile).

There's also a Bazaar repository for all the CCAN infrastructure at http://ccan.ozlabs.org/repo.

Module Contributions

We welcome new code! The guide to creating new modules is a work in progress (just copy an existing module), but anyone can just upload code.

"GPLv2 or later" and supersets thereof (eg. LGPLv2+ or BSD) licenses preferred.

Complaints, Ideas and Infrastructure

We have a low volume mailing list for discussion of CCAN in general, and you're welcome to join.

We also have an IRC channel: #ccan on Freenode.

We also have a wiki; feel free to enhance it.

Rusty Russell