ccan code breaks older build farm systems

Michael Adam obnox at
Thu Jul 7 05:54:40 MDT 2011

Hi Rusty,

my first misconception was that I thought you had added the ccan
code to samba proper. In that case it is simply our policy to add
the copyright / license boilerplate commentes to the code files.

It was not clear to me that the ccan code is considered external
contributed code whose authoritative copy is not inside the samba

Anyhow, since you added the ccan code so that it is directly linked
to virtually all samba3 binaries via the LIB_OBJ collection in
source3/, to my understanding, you need to relicense
the LGPL files to GPLv3:

It says, it is OK to include the LGPLv3 code into the GPlv3+
project if you relicense the copy of LGPLv3+ code that is
included in samba under GPLv3.

Generally, I think we should make it more clear in our code tree which
code is original samba code and which is external contributed code.

I think we should not put such external code directly under lib/
but add a contrib/ folder (or similar) to contain externally
contributed code.

Cheers - Michael

PS: as for cluttering the code: I think it is generally very
worthwile to add copyright / license boilerplates to any
piece of code, however small. You can use folding in your
editor to hide it. (Which is what I do.)

Rusty Russell wrote:
> On Thu, 7 Jul 2011 07:30:53 +0200, Volker Lendecke <Volker.Lendecke at SerNet.DE> wrote:
> > 
> > On Wed, Jul 06, 2011 at 02:25:44PM +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:
> > 
> > Then state so clearly.
> It's totally clear.  There's a LICENCE file in each directory, and the
> metadata file, _info, has a License: line which refers to it.
> In some ways that's clearer than for the rest of the source, where a
> simple grep doesn't give you the answer.
> > I just want to make sure that we are crystal clear and very
> > obvious about the licensing status of our code.
> Sure, and I think a README in the top lib/ccan dir explicitly pointing
> out that these snippets of code are subject to their own license and
> come from external sources makes sense.
> I also think a one line per file pointing out the LICENSE is a good
> idea.  But before going beyond that, I wanted to know if anyone had
> received legal advice different from mine?
> > For
> > third-party code we also must make very sure the source is
> > authoritative to publish the stuff under the license we are
> > importing it under. I've had regular queries from lawyers
> > about exactly these questions in the past, and you are not
> > in a good situation if you can't answer them or even have to
> > think twice.
> Agreed, and that's not a problem with lib/ccan/*.
> > Regarding the value of a long GPL header on a small file: Is
> > your disk space really that limited?
> The CCAN modules are, by definition, small pieces of code.  I resist
> *anything* which clutters the actual code.
> I was annoyed at having to include the LICENSE file in each directory,
> but without it there's a real possibility that it would get lost, given
> this code is designed to be copied one whole subdir at a time.
> Hope that clarifies,
> Rusty.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 206 bytes
Desc: not available
URL: <>

More information about the samba-technical mailing list