
TianoCore UEFI FatPkg switches to 2-clause BSD license - ashitlerferad
http://thread.gmane.org/gmane.comp.bios.edk2.devel/9930/focus=9956
======
pm215
This is (as Laszlo says) critically important for free software virtual
machines that want to boot a UEFI BIOS, like ARM architecture ones. Previously
even if your VM was free software (like QEMU/KVM), you couldn't ship the BIOS
blob with a distro, except in a non-free subsection somewhere. Now the whole
VM stack will be completely free software, and it will be straightforward to
make it all just work out of the box.

(The previous license for the FAT driver was "2-clause BSD but with an extra
term forbidding use of the code outside a UEFI implementation". That's
obviously not an issue for manufacturers putting UEFI BIOSes into real
hardware, but it was a real awkward point for open source VMs, and it's great
to see it's been resolved.)

~~~
ashitlerferad
It is great for people who want to prove a UEFI Secure Boot setup before going
to Microsoft for the keys.

------
brudgers
A brief overview of Tianocore:
[https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_In...](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#Intel_EFI)

------
cyphar
Yet another piece of free firmware that isn't under the GPLv3. _sigh_ The only
reason we can use UEFI laptops is because Microsoft was feeling kind one day.
If TianoCore was GPLv3, we could use both ARM and x86 UEFI devices in freedom.
I'm sticking with LibreBoot, thanks.

~~~
Sanddancer
Yes, we have a piece of free firmware that can be used by BSD software, CDDL
software, Apache licensed software, etc. GPLv3 means that only one group of
people can use that software, instead of letting a larger community work on it
and contribute to it.

~~~
cyphar
_FUD intensifies_

First of all, there's no reason you can't use GPLv3 licensed software in any
other project. It just means that the collective work has a different license.
Sure, some people might have a problem with that, but that's their problem. If
the software is good enough for them to use it, it's good enough for them to
make some compromises in terms of licensing.

The exception to this is the CDDL, which has some issues that have been
discussed at length. However, the MPLv2 (which is what people who didn't work
at Oracle in the 90s _actually_ use) is compatible with the GPLv3.

And as for "only one group of people can __use __that software ", that's just
patently wrong. Anyone can use the software, they just have to follow the
license requirements.

Not to mention that this presupposes that someone is going to do anything
_but_ write more firmware using firmware code. It's not a library, it's a
piece of software used to boot your bootloader. Okay, it's a FAT driver, but
it's written as a UEFI module and would probably require substantial (read:
complete) rewriting to work as a kernel module or userland program.

IMO you're looking at the problem the wrong way around. The question shouldn't
be "how do we pander to people who want to use proprietary-friendly licenses
for their software". It should be "how do we ensure that all users of this
firmware cannot have their freedom taken away".

~~~
Sanddancer
There's no reason...except you have to relicense your entire project. In the
same vein, there's no reason the Linux kernel can't mainline ZFS, they just
have to relicense the kernel to CDDL. If the software's good enough for them
to use it, the software's good enough for them to make compromises in terms of
licenses.

Second, the CDDL originated with Sun. Oracle wasn't even anywhere near Sun
when the CDDL was being written, and the CDDL is not even Oracle's favored
free software license. Look at the free software they steward -- Java, Mysql,
and Berkeley DB. All of which is either GPL or AGPL with contributor
agreements, so they can continue to profit on closed source versions that the
community doesn't get. Compare that to Postgres, which is BSD licensed, and
doesn't have one monolith that can do anything they want because they have a
legal advantage.

Yes, you can only write more firmware code with the FAT driver, but as we've
seen from the track record of Clang, the BSDs, Postgres, and other liberally
licensed software, what really matters in getting changes open isn't the
license, but rather the pace of development. Develop fast enough, and people
will contribute back, both because it's the right thing to do and because it's
a lot of work having to make huge patches every upstream release. Compare that
to the situation with GPL-encumbered software like MySQL, where there are
still rather key pieces of the stack that can and are held back because it's
not in Oracle's best interest to give them to the community.

So yes, BSD gives more freedom to everyone. A few bad actors may make a short-
sighted decision not to contribute back, but in the end, more people will do
good than do bad.

~~~
cyphar
> Second, the CDDL originated with Sun. Oracle wasn't even anywhere near Sun
> when the CDDL was being written, and the CDDL is not even Oracle's favored
> free software license. Look at the free software they steward -- Java,
> Mysql, and Berkeley DB. All of which is either GPL or AGPL with contributor
> agreements, so they can continue to profit on closed source versions that
> the community doesn't get. Compare that to Postgres, which is BSD licensed,
> and doesn't have one monolith that can do anything they want because they
> have a legal advantage.

There's one very simple solution to this: Fork it and don't require CLAs (or
use FSF-style CLAs that guarantee copyleft). In fact that's _exactly_ what
happened with MariaDB.

Arguing that the GPL allows for a monolith but BSD licenses don't is a very
weird perversion of the facts. A BSD licensed source can be made proprietary
without CLAs. A GPL licensed project cannot. So, the solution is simple: don't
ever contribute to a project that has CLAs which would allow them to make the
software proprietary.

> Compare that to the situation with GPL-encumbered software like MySQL, where
> there are still rather key pieces of the stack that can and are held back
> because it's not in Oracle's best interest to give them to the community.

Again, MariaDB was forked for this exact reason. And Linux is one of the
largest and fastest moving projects in the world and is under the GPL.

------
yuhong
Yea, most of the FAT LFN patents has expired by now.

