Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
TianoCore UEFI FatPkg switches to 2-clause BSD license (gmane.org)
27 points by ashitlerferad on March 30, 2016 | hide | past | favorite | 14 comments


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.)


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



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.


Does LibreBoot have the lawyers to enforce compliance with the GPL? As we have seen with Linux/busybox/etc, the GPL is not magic pixie dust and is close to useless without lawyers to back it up. As we have also seen, financial support from corporate sponsors is not the best way to ensure that GPL compliance work continues; better is if the Free Software directly crowd-funds that work.

https://sfconservancy.org/supporter/ https://sfconservancy.org/copyleft-compliance/ https://sfconservancy.org/copyleft-compliance/principles.htm...


I already donate to the SFC. Considering the fact that the FSF recommends laptops flashed with LibreBoot, I would assume that the FSF would fund them in some way but I'm not sure. Should probably shoot them an email to find out.


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.


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".


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.


> 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.


The fun thing is that this reminds me that AMI claims to be able to do Chromebook firmware (coreboot) too: https://ami.com/products/bios-uefi-firmware/chromebook-firmw...


I'm a bit confused why they didn't mention U-Boot (which is on most chromebooks[1] the second stage payload after Coreboot has powered up the machine).

But I am thinking about buying an AMI Chromebook so I can get their modifications and posting them online. I don't need another laptop at the moment, though. :/

[1]: https://www.chromium.org/chromium-os/developer-information-f...


Maybe because they don't use U-Boot anymore on x86.


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: