Subject: Re: [bug#40579] [RFC PATCH] add iPXE.

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Sun, 12 Apr 2020 23:18:21 +0200

Hullo Danny,

Danny Milosavljevic 写道：
> Tobias Geerinckx-Rice via Guix-patches via 
> <[email-masked]> wrote:
>
>> Could you elaborate?  What's "interesting" about it?  That all 
>> looks very boring and straightforward to me (which is good! :-) 
>> — 
>> the result is GPL2-only, no?
>
> No, there are different makefile targets (rom output filenames) 
> which will
> result in different parts of ipxe to be built and included in 
> the output.
>
> There's special makefile targets for each of these targets to 
> determine
> the license that applies to each of the latter targets, 
> respectively.

OK.  This was already clear.

I'm now convinced that this whole make target thing is a 
misunderstanding and a distraction: iPXE licencing is not, in any 
way, ‘generated on the fly by make rules’ or ‘unclear’ or 
‘interesting’.  It's boring.  It's good.  It's GPL2.

  λ grep -hr '^FILE_LICENCE ( .* );' * | sort -u
  FILE_LICENCE ( BSD2 );
  FILE_LICENCE ( BSD3 );
  FILE_LICENCE ( GPL2_ONLY );
  FILE_LICENCE ( GPL2_OR_LATER );
  FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
  FILE_LICENCE ( GPL_ANY );
  FILE_LICENCE ( MIT );
  FILE_LICENCE ( PUBLIC_DOMAIN );

Just a normal Free software package.  Happens to bundle a Perl 
script similar to <https://linux.die.net/man/1/licensecheck> (but 
less useful).  Nothing to see here.

> Did you try to make all of the targets' license targets?

No.  I hope I've shown they're irrelevant now.

What is relevant is that some files are missing licence headers 
(e.g. drivers/net/tg3/tg3_phy.c).  However, this is so common as 
to be standard (Guix wouldn't exist if we demanded headers in 
every file) and COPYING says that these are licenced under ‘the 
GPL’.  That's… acceptable.

> P.S. The following ROMs are not reproducible:
>
> 10222000.rom GPL2
> 10500940.rom GPL2 
> 10ec8139.rom GPL2
> 15ad07b0.rom GPL2+
> 1af41000.rom GPL2+
> 8086100e.mrom GPL2+
> 8086100f.mrom GPL2+
> 808610d3.mrom GPL2+
> 80861209.rom GPL2+
> ipxe.iso license checker doesn't work
> rtl8139.rom GPL2

Ooh, thanks for catching that.

I noticed that Debian installs a very different set of file( 
name)s[0] than we do.  I don't know what that means though.

Kind regards,

T G-R

[0]: https://packages.debian.org/sid/all/ipxe/filelist
     https://packages.debian.org/sid/all/ipxe-qemu/filelist