On Wed, Sep 28, 2011 at 5:00 PM, Graeme Russ <graeme.r...@gmail.com> wrote: > Hi Sonny, > > On Thu, Sep 29, 2011 at 9:26 AM, Sonny Rao <sonny...@chromium.org> wrote: >> On Fri, Sep 23, 2011 at 4:56 PM, Graeme Russ <graeme.r...@gmail.com> wrote: >>> Hi Simon, >>> >>> On 24/09/11 03:38, Simon Glass wrote: >>>> From: Sonny Rao <sonny...@chromium.org> >>>> >>>> From: Sonny Rao <sonny...@chromium.org> >>>> >>>> These functions are useful in U-Boot because they allow a graceful failure >>>> rather than an unpredictable stack overflow when printf() buffers are >>>> exceeded. >>>> >>>> Mostly copied from the Linux kernel. I copied vscnprintf and >>>> scnprintf so we can change printf and vprintf to use the safe >>>> implementation but still return the correct values. >>> >>> Have you checked for license compatibility? U-Boot is GPLv2+ and (most) of >>> Linux is GPLv2 - You may not be legally permitted to do this >> >> According to the FSF site, GPLv2 is compatible with GPLv3, see: >> http://www.gnu.org/licenses/quick-guide-gplv3.html >> >> So it's fine to distribute them together. > > Not so fast: > > "GPLv2 is compatible with GPLv3 if the program allows you to choose "any > later version" of the GPL, which is the case for most software released > under this license" > > 'most', not 'all' > > The key phrase is "any later version" - If this is not in the GPLv2 > license text for the code your copying, you cannot license the derivative > work under GPLv3 (or GPLv2+)
I'm a bit confused here... I was talking about distribution, not re-licensing. I'm certainly not saying U-boot should be trying to re-license GPLv2 only code. But the fact is that U-boot is already contains GPLv2 and GPLv2+ code and it is being distributed together. >> In reality though, this code in U-boot was already copied from the >> same file in an older version of the kernel. The license (GPLv2 only) >> hasn't changed on that file, so U-boot is already distributing what is >> GPLv2 only code alongside GPLv2+ code -- which as I mentioned above is >> fine. > > As long as you are not incorporating GPLv2 code into a file licensed under > GPLv2+ and distributing the result as GPLv2+ or GPLv3. > My argument is that this code in U-boot was already GPLv2 only since it came from a GPLv2 only file in the kernel. I don't think that we're applying GPLv2 code into a file licensed under GPLv2+. Perhaps we could add an explicit comment stating that the code in lib/vsprintf.c is GPLv2 only so nobody gets the wrong idea. >> The code here is derived from a later version of that same file, so I >> don't believe integrating this patch into U-boot actually changes >> anything with respect to licensing of this code. > > I think U-Boot will have great difficulty going past GPLv2 due to the > large volume of Linus code already in U-Boot - We would need to either get > the original code relicensed GPLv2+ or rewrite it > > And from the COPYING file in the Linux source: > > Also note that the only valid version of the GPL as far as the kernel > is concerned is _this_ particular version of the license (ie v2, not > v2.2 or v3.x or whatever), unless explicitly otherwise stated. > > and linux/lib/vsprintf.c: > > /* > * linux/lib/vsprintf.c > * > * Copyright (C) 1991, 1992 Linus Torvalds > */ > > /* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */ > /* > * Wirzenius wrote this portably, Torvalds fucked it up :-) > */ > > /* > * Fri Jul 13 2001 Crutcher Dunnavant <crutcher+ker...@datastacks.com> > * - changed to provide snprintf and vsnprintf functions > * So Feb 1 16:51:32 CET 2004 Juergen Quade <qu...@hsnr.de> > * - scnprintf and vscnprintf > */ > > No 'any later version' Yes, as I said before, this code is definitely GPLv2 only. I don't think we're disagreeing here. > Now U-Boot COPYING has: > > U-Boot is Free Software. It is copyrighted by Wolfgang Denk and > many others who contributed code (see the actual source code for > details). You can redistribute U-Boot and/or modify it under the > terms of version 2 of the GNU General Public License as published by > the Free Software Foundation. Most of it can also be distributed, > ----------------------------------- > at your option, under any later version of the GNU General Public > ----------------------------------------------------------------- > License -- see individual files for exceptions. > ----------------------------------------------- > > So U-Boot is also GPLv2, but parts (like Linux) are GPLv2+ > > My point was there is a long term 'vision' for U-Boot to go GPLv3, and > part of that vision is to reject any future GPLv2 only licensed code > submitted. If we want the vision to be realised, I think we need to > look at how we build new GPLv2+ code in new files rather than tying new > code into GPLv2 only files which may, potentially, lock that code down. > Although as the writer and copyright holder of a modification you may be > free to move it over at a later date anyway - I don't know, and I think > that's in the 'ask a lawyer' territory. > So yes, you are right - In terms of license compliance, we are OK as > U-Boot is currently GPLv2 - In terms of U-Boot going to GPLv3, we are > digging a bigger hole :) Ok, then that's up to the U-boot community to decide if they wish to remove all GPLv2 only code, but I think that's a separate issue from what you originally brought up. I think we're in agreement that there aren't any licensing considerations with respect to maintaining the existing license which is GPLv2 only for lib/vsprintf.c. Sonny _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot