ccan code breaks older build farm systems

Rusty Russell rusty at
Mon Jul 11 07:15:36 MDT 2011

On Thu, 07 Jul 2011 07:35:18 -0400, simo <idra at> wrote:
> On Wed, 2011-07-06 at 14:25 +0930, Rusty Russell wrote:
> > On Tue, 5 Jul 2011 10:14:33 +0200, Volker Lendecke <Volker.Lendecke at SerNet.DE> wrote:
> > > On Tue, Jul 05, 2011 at 12:14:08PM +0930, Rusty Russell wrote:
> > > > > Also, the ccan files don't have a copyright/license header
> > > > > comment block.
> > > > 
> > > 
> > > ...
> > > 
> > > > 
> > > > Does anyone have suggestions to add?  If not, I'll update the ccan
> > > 
> > > Please add the full GPL header to the files.
> > 
> > Sorry, htable is the only one which is GPL.  hash is public domain.  The
> > rest are LGPL:
> If htable is used in tdb2 that's a problem.
> Tdb and Ldb are LGPLv3 in samba and GPLv2 is incompatible with LGPLv3.
> The only way to coherently release Ldb for us would be to release it as
> GPLv3 (the only license compatible with both LGPLv3 and GPLv2 (by the
> 'or any later version' clause) at the same time. But we already have
> external programs that depend on a LGPL like license for Ldb.
> We need to fix this problem asap.

Sorry, I'm at a conference at the moment, been travelling.

I've deleted htable: it's actually an optional dependency, which *only*
comes into play when CCAN_LIKELY_DEBUG is defined.  But the license
contamination is a mess (and I should change ccanlint to check for

I also added a short README in lib/ccan and a line at the top of every

And actually, I'd really like a separate lib/external (or?) area for
code we pull in from elsewhere.

> > We could put a note about the different licenses if you want.
> > 
> > Please, does anyone have a better reason to put a 25 line header on each
> > file which contains so little useful information?  Better than "that's
> > what we've always done?".
> Do you have a good reason not to ? :-)

By the same argument, I could include the git log, an example Makefile,
a configure script, a waf build script, manpages, a python support
subdir and an ABI subdirectory.

Look at lib/tdb.  The source is hidden under all that clutter: 70% of
the files are not source code :(  CCAN modules are about snippets of
code: you really want to look at one and see the code and nothing else.


More information about the samba-technical mailing list