[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