Re: [PATCH 2.6.1 -- take two] Add CRC32C chksums to crypto and lib routines

From: Matt Domsch
Date: Wed Feb 18 2004 - 16:29:21 EST


On Wed, Feb 04, 2004 at 11:21:16AM -0600, Matt Mackall wrote:
> On Wed, Feb 04, 2004 at 10:14:13AM -0600, Clay Haapala wrote:
> > On Tue, 3 Feb 2004, Matt Mackall said:
> > > On Tue, Feb 03, 2004 at 05:25:08PM -0600, Matt Domsch wrote:
> > >> > >> +MODULE_LICENSE("GPL and additional rights");
> > >> > >
> > >> > > "additional rights?"
> > >> > >
> > >> > Take it up with Matt_Domsch@xxxxxxxx -- it's his code that I
> > >> > cribbed, so that's the license line I used.
> > >>
> > >> The crc32 code came from linux@xxxxxxxxxxx with the following
> > >> copyright abandonment disclaimer, which is still in lib/crc32.c:
> > >>
> > >> /*
> > >> * This code is in the public domain; copyright abandoned.
> > >> * Liability for non-performance of this code is limited to the
> > >> * amount you paid for it. Since it is distributed for free, your
> > >> * refund will be very very small. If it breaks, you get to keep
> > >> * both pieces. */
> > >>
> > >> Thus GPL plus additional rights is appropriate.
> > >
> > > Ok, makes sense for CRC32 stuff which can be easily lifted from the
> > > kernel or 50 other places, but not for stuff that's depends on
> > > cryptoapi.
> >
> > Matt is correct about crypto/crc32c.c -- that should be simply "GPL".
> >
> > As for the derived-from-public-domain-CRC32 stuff, should one even
> > claim "GPL" on it? That would be, in effect, licensing public-domain
> > code and placing restrictions on it, something only a copyright holder
> > should be able to do, and not the intent of the author, in this case.
>
> Hard to guess what the author's intent was as he left no license, but
> perhaps you're right. However, public domain works are routinely
> relicensed by publishers when they make a trivially derived work, see
> any reprint of Shakespeare or Bach.
>
> As has been pointed out, _not_ putting some sort of license on it
> potentially opens people who ship it up to liability. Arguably, by
> compiling it into the kernel, you're accepting the GPL liability terms
> for that use. But that doesn't stop someone from taking crc32.c,
> incorporating it into something else, having it blow up disastrously,
> and then suing whoever sold them the kernel tarball. Sounds
> outlandish, but crazier things have happened.
>
> As "dual GPL/public domain license" is an oxymoron, the best thing to
> do is probably to slap a dual GPL/2-clause BSD license on it to
> disclaim liability while minimally limiting all other rights. Matt,
> since you're the last one to touch this, I'll let you make the call,
> but here's what I would suggest (still needs an actual copyright
> notice):

After seeking advice from Dell's lawyers, they recommend simply adding
the GPL license text to the top of the file and be done with it.
It's public domain, we're free to include (and relicense) it as we
wish. If someone else wants to use it in a non-GPL fashion, they'll
need to start from the original public domain submission, not this one
which clearly has been modified somewhat since we first received it,
with faster algorithms, creation of the table at compile time, etc.

Thanks,
Matt

--
Matt Domsch
Sr. Software Engineer, Lead Engineer
Dell Linux Solutions linux.dell.com & www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/