[ccan] CCAN issues

Rusty Russell rusty at rustcorp.com.au
Tue Dec 18 23:10:57 EST 2007


OK, so I promise I'll put up a bzr repo sometime soon, but meanwhile here's a 
list of thoughts on open issues in no order:

1) Domain name.  ccan.org would be ideal: seems to point to a generic ISP
   page, whois says Community Care Ambulance Network in Ohio, which seems
   legit at first glance.  ccan.com seems to be for sale by a squatter,
   perhaps we could do some deal where we buy ccan.com for the ambos and get
   ccan.org?

2) Namespacization.  If someone can't use (say) container_of because their
   existing project uses that name, it'd be nice to rename it to
   ccan_container_of.  Of course, this means any other ccan modules which use
   this need changing too.

   I thought about making the ccan_ versions canonical and providing macros
   to map to the normal names, but it breaks the golden rule:

	This code must not be ugly.

   So I chose the harder road of supplying a C program to actually rewrite the
   module and anything which depends on it.  Not quite finished yet, but it
   has the merit of placing the burden of ugliness where it belongs.

3) Minimum compiler requirements.  Seems like Microsoft's C compiler doesn't
   do vararg macros, let alone any other C99 stuff.  This makes it impossible
   to have nice code for some things, so for the moment I'm still sticking
   with my intention of requiring (most of) C99, and Windows coders will have
   to hope they catch up, or we do some horrible mangling at the user end
   (like namespacization).

4) Licensing: so far I'm restricting it to with BSD no advertising, or GPLv2+. 
   More than that makes life too tricky for people wanting to use the code.

5) Uploading, automated testing, etc.  No idea here, plan to steal as much of
   CPAN as possible for this.

6) I have documentation-extraction code, but it doesn't do any xml-style guff
   (the Linux kernel's system on which this is loosely based is perl based, so
   maybe we should just steal that for the documentation, as it does various
   different output forms).

7) Automatic downloading, testing, checking for updates, and dependency
   tracking.  This would be nice, particularly handling namespacization and
   detecting local mods.

Thoughts welcome!
Rusty.



More information about the ccan mailing list