[SeaBIOS] KVM call agenda for 2013-05-28
anthony at codemonkey.ws
Fri May 31 16:38:58 CEST 2013
Laszlo Ersek <lersek at redhat.com> writes:
> On 05/31/13 15:04, Anthony Liguori wrote:
>> Laszlo Ersek <lersek at redhat.com> writes:
>>> On 05/31/13 09:09, Jordan Justen wrote:
>>> Due to licensing differences I can't just port code from SeaBIOS to
>> Fork OVMF, drop the fat module, and just add GPL code. It's an easily
>> solvable problem.
> It's not optimal for the "upstream first" principle;
<still on soapbox>
OVMF is not Open Source so "upstream first" doesn't apply. At least,
the FAT module is not Open Source.
Bullet 8 from the Open Source Definition
"8. License Must Not Be Specific to a Product
The rights attached to the program must not depend on the program's
being part of a particular software distribution. If the program is
extracted from that distribution and used or distributed within the
terms of the program's license, all parties to whom the program is
redistributed should have the same rights as those that are granted in
conjunction with the original software distribution."
License from OVMF FAT module:
"Additional terms: In addition to the forgoing, redistribution and use
of the code is conditioned upon the FAT 32 File System Driver and all
derivative works thereof being used for and designed only to read and/or
write to a file system that is directly managed by: Intel’s Extensible
Firmware Initiative (EFI) Specification v. 1.0 and later and/or the
Unified Extensible Firmware Interface (UEFI) Forum’s UEFI Specifications
v.2.0 and later (together the “UEFI Specifications”); only as necessary
to emulate an implementation of the UEFI Specifications; and to create
firmware, applications, utilities and/or drivers."
AFAIK, for the systems that we'd actually want to use OVMF for, a FAT
module is a hard requirement.
> we'd have to
> backport upstream edk2 patches forever (there's a whole lot of edk2
> modules outside of direct OvmfPkg that get built into OVMF.fd -- OvmfPkg
> "only" customizes / cherry-picks the full edk2 tree for virtual
> machines), or to periodically rebase an ever-increasing set of patches.
> Independently, we need *some* FAT driver (otherwise you can't even boot
> most installer media), which is where the already discussed worries lie.
> Whatever solves this aspect is independent of forking all of edk2.
It's either Open Source or it's not. It's currently not. I have a hard
time sympathesizing with trying to work with a proprietary upstream.
>> Rewriting BSD implementations of everything is silly. Every other
>> vendor that uses TianoCore has a proprietary fork.
> Correct, but they (presumably) keep rebasing their ever accumulating
> stuff at least on the periodically refreshed "stable edk2 subset"
> (UDK2010, which BTW doesn't include OvmfPkg). This must be horrible for
> them, but in exchange they get to remain proprietary (which may benefit
> them commercially).
>> Maintaining a GPL
>> fork seems just as reasonable.
> Perhaps; diverging from "upstream first" would hurt for certain.
Well I'm suggesting creating a real upstream (that is actually Open
Source). Then I'm all for upstream first.
In terms of creating a FAT module, the most likely source would seem to
be the kernel code and since that's GPL, I don't think it's terribly
avoidable to end up with a GPL'd uefi implementation.
If that's inevitable, then we're wasting effort by rewriting stuff under
a BSD license.
> Thanks for the suggestion :)
More information about the SeaBIOS