[LinuxBIOS] License clarification, round 1

Uwe Hermann uwe at hermann-uwe.de
Fri Sep 1 01:24:05 CEST 2006


On Tue, Aug 29, 2006 at 06:33:31PM +0200, Stefan Reinauer wrote:
> The answer here is easy. Every line of LinuxBIOS code is GPL. And 
> every line of code we will include in the future will become GPL by the
> implicit agreement of the contributor to use LinuxBIOS and to enhance
> it. 

I agree, _if_ the code is contributed willingly and knowingly by the
third-party, _and_ that fact is documented in the file (by adding a
copyright line and the GPL license header).

It's an entirely different situation if the code was taken from some
other project, in which case it's not necessarily GPL'd.

> This is why we have been doing code reviews and have been in close
> contact with the contributors to make sure we do not include otherwise
> licensed or protected code.

That's great to hear!

> All of them are GPLed, as a consequence of the inclusion in LinuxBIOS.
> Also, files do not need a header stating their license, as the license
> is absolutely obvious to everyone downloading the code.

Yes and no. The license of the project might be obvious, but I've come
over many GPL'd projects which are not actually 100% GPL'd even if they
say so. Many contained files from some other sources which were copied in
the code-base and had no proper license, or a non-free one...

It's very important in my opinion that every file states the exact
year, copyright owner, and license of the code.

* Year, because this may become relevant in jurisdictions which have laws
  that (for example) code becomes public domain after X years etc.

* Copyright owner, so that everyone knows whom to contact in case of legal
  questions, license questions etc. etc.

* License, so that it's clear under which license terms the file may be
  distributed. Even for the "normal case" of the GPL this is important,
  as it makes a difference whether the respective contributor licensed
  his code under the terms of the "GPL, version 2 (or any later version)"
  or "GPL, version 2" (or version 1, or version 3 in future).
  AFAIK "GPL, version 2 (or any later version)" and "GPL, version 2" are
  compatible, but version 2 and 3 might not be, for example...

  I've seen both variants (v2, and v2 or later) in the code, so maybe
  that should be standardized (by asking all contributors of one variant
  if they agree to relicensing their code to the other variant).

  Maybe some FSF people on this list can comment on this issue.

> > I noticed that many files do not have any license header at all (some don't
> > even say who the author is); such files have an unclear status and must be
> > considered non-free usually, so in cases where that's just an oversight,
> > please add a respective license note.
> No they must not. Who would say they must? Legally absolutely obvious
> that the files have been checked by those with checkin capabilities to
> be free.

The problem is that no license header means you cannot be sure whether the
file is GPL'd or was simply copied from some other project and didn't
have a license header there either, or the header was removed when copying
the file (which is always a bad idea).

Therefore I think it's a lot better to add a license note to _all_
source code files, just to make things perfectly clear and to prevent
guess-work and having to ask around, or search svn commit logs or
mailinglists just to find out which license applies.

> > If the file was taken from another
> > project, please add a note saying so, and mention the license of that project
> > in the file.
> As we are using GPL as the license, only files with GPL license or with
> licenses compatible to the GPL license have been included. All files in
> the repository are licensed under the GPL. No exceptions. 

Well, except for the ones which say something different, of course. Say there
was a BSD-licensed file in the repository (I don't know if there really
is one). That file will remain BSD-licensed, of course, no matter what
the license of the LinuxBIOS project is. It's just the fact that the
(revised) BSD license is GPL-compatible that would make it possible to
use the code in LinuxBIOS. But it would still be BSD-licensed.

> > The biggest problems I notices so far is the code from IBM and AMD, which says
> > things like "Copyright 2005 ADVANCED MICRO DEVICES, INC. All Rights Reserved"
> There is no problem with this. The fact that AMD released these files to
> the public as GPL does not touch the fact that they own a copyright to
> it. In fact, in Europe signing over copyrights is impossible as of
> current law, so these notes are just fine.

That's entirely correct. Copyright is a different concept from a
license, and in Germany (maybe other parts of Europe) you cannot
re-assign copyright ("Urheberrecht", actually) to other people.

It's perfectly fine that AMD has the copyright, as long as the
code is licensed under the terms of the GPL.

It's the "All Rights Reserved" that makes me nervous. If that would read
"This file is licensed under the GPL" (or better just the usual
GPL header was there), everything would be fine.
The current text in there is at least confusing, maybe even worse. It
simply doesn't state _any_ license which applies to the code.

> > or stuff like:
> > That alone (which no additional "this is GPL'd" text would make the
> > code non-free and GPL-incompatible, I guess. I hope this can be
> > resolved or clarified somehow.
> I would not see a legal regulation to back your assumption. The fact
> that it is "licensed" does not make it non-free. the license is GPL,
> because IBM acknowledged making it GPL by contributing to a GPL project.

If that's the case, great! Then it's just a matter of making this clear in
the file.

The text as it is right now, is confusing and doesn't state
that the code is GPL'd. It rather sounds very restrictive and from
reading just that text, I'd have severe doubts whether I can legally
include it in a GPL'd project.

> > src/arch/i386/boot/acpi.c:
> >     "Copyright 2005 ADVANCED MICRO DEVICES, INC. All Rights Reserved."
> >     which is bad as it means it's NOT GPL'd and you cannot use it for anything
> where does it say that it is not GPL? Could not find the paragraph you
> are talking about.

It doesn't state _that_ it's GPL'd, which is should.

> So unless we have an indication stating something different I suggest
> what we do is emphasize that the whole of LinuxBIOS is GPL licensed by
> the respective copyright holders. 

Sure, that should definately be done (for example in a README file).
It should say which license applies to the code written explicitly for
LinuxBIOS, and that some parts (taken from other projects) may have different
(but GPL-compatible) licenses.

It should also state very clearly whether the code is licensed under the
"GPL, version 2 (or any later version)" or "GPL, version 2".

> To make things clearer, I also suggest removing license descriptions
> from every single source file in the tree and only have a single license
> file stating the only valid project license.

Please don't.

I'm pretty sure single files will some day be copied and incorporated into
other GPL projects, therefore it's important to have the copyright and
license lines in each file.

I'd rather do the opposite - add a license header to all files which
don't yet have one. Disk space is cheap, and legal clarity should be more
important than a slightly larger code base.

If you absolutely must, I'd rather use something short, e.g.

  Copyright 200x John Doe
  This code is licensed under the GPL, version 2 (or any later version)

than no license header at all.

HTH, Uwe.
Uwe Hermann 
http://www.it-services-uh.de  | http://www.crazy-hacks.org 
http://www.holsham-traders.de | http://www.unmaintained-free-software.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20060901/ca99d290/attachment.sig>

More information about the coreboot mailing list