* Re: [Qemu-devel] [edk2] license for binary drivers [not found] <20140806074054.GF2170@masterlulz.local> @ 2014-08-06 10:34 ` Laszlo Ersek 2014-08-06 13:44 ` Paolo Bonzini 0 siblings, 1 reply; 5+ messages in thread From: Laszlo Ersek @ 2014-08-06 10:34 UTC (permalink / raw) To: Reza Jelveh; +Cc: edk2-devel, qemu devel list On 08/06/14 09:40, Reza Jelveh wrote: > Hello, > > EDK2 integrates FAT as a binary driver. What is the license of the FAT driver? https://svn.code.sf.net/p/edk2/code/trunk/edk2/FatBinPkg/License.txt > What are the guidelines for use of binary drivers with EDK2? Specifically if > you want to bundle an OVMF firmware with qemu? I'm not a lawyer. You should consult a lawyer. That said, the binary or source code nature of the FAT driver is inconsequential in this instance. You can actually find the source code for the FAT driver, and build it yourself, you just need to import it in the edk2 tree, and patch OvmfPkg*.{dsc,fdf) slightly. https://svn.code.sf.net/p/edk2/code/trunk/edk2/FatBinPkg/ReadMe.txt https://github.com/tianocore/edk2-FatPkg/ The main issue is that the FAT driver is not free software. It doesn't satisfy the four freedom requirements listed here: https://www.gnu.org/philosophy/free-sw.html [...] The freedom to run the program as you wish, for any purpose (freedom 0). [...] The FAT driver license does not give you this freedom. The FAT driver's license is more restrictive than the 3-clause BSDL that it is based upon. The 3-clause BSDL is GPL compatible: http://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29 But the additional restriction in the FAT driver's license makes it incompatible with the GPLv2 (which QEMU as a whole us released under, see LICENSE). The additional restriction most likely originates from <http://msdn.microsoft.com/en-us/gg463080.aspx>, the Microsoft EFI FAT32 File System Specification: Note: The download license agreement permits you to use the Microsoft EFI FAT32 File System Specification only in connection with a firmware implementation of the Extensible Firmware Initiative Specification, v. 1.0. If you plan to implement the FAT32 File System specification for other purposes, you must obtain an additional license from Microsoft. For example, you must obtain an additional license in order to create a file system for reading or reading and writing FAT32 in digital cameras recording to flash media, in computer operating systems reading and writing internal/external hard disks or flash media, or in set-top boxes reading FAT-formatted media. (This is precisely what freedom 0 would be about.) So no, you can't ship an OVMF binary (or source tarball) that contains the FAT driver, bundled as part of the GPLv2 (+compatible) QEMU distribution, either in source or in binary form. Linux distributions have moved OVMF to their non-free channels accordingly. https://packages.debian.org/sid/ovmf https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745698 http://packages.ubuntu.com/trusty/misc/ovmf What you can do is build an OVMF binary that doesn't include the FAT driver. The result will be then covered by 3-clause BSDL (further restricted by the OpenSSL license, if you include -D SECURE_BOOT), and that one you can bundle with QEMU. However, such an OVMF binary will be useless, unless users themselves can augment it somehow at build time or at runtime with some FAT driver. (The UEFI specification requires FAT32 support.) UEFI should have standardized a preexistent, but unencumbered, file system. That horse is out of the barn. Disclaimer: I am not a lawyer, and this is my personal opinion only, not necessarily my employer's. Laszlo ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [edk2] license for binary drivers 2014-08-06 10:34 ` [Qemu-devel] [edk2] license for binary drivers Laszlo Ersek @ 2014-08-06 13:44 ` Paolo Bonzini 2014-08-06 21:51 ` Andrew Fish 0 siblings, 1 reply; 5+ messages in thread From: Paolo Bonzini @ 2014-08-06 13:44 UTC (permalink / raw) To: edk2-devel, Reza Jelveh; +Cc: qemu devel list Il 06/08/2014 12:34, Laszlo Ersek ha scritto: > So no, you can't ship an OVMF binary (or source tarball) that contains > the FAT driver, bundled as part of the GPLv2 (+compatible) QEMU > distribution, either in source or in binary form. What Laszlo said is mostly my understanding too (IANAL etc.). Just one thing: the GPL does allow you to "merely aggregate" the OVMF binaries with QEMU sources or QEMU binaries; and a lawyer could also tell you the if QEMU were to ship OVMF binaries in its tarball, it would be mere aggregation. It would then be allowed by the GPL. I wouldn't disagree; the OVMF binaries are just data as far as QEMU is concerned. However, the non-free nature of the OVMF binaries mean that QEMU will never ever ship OVMF binaries until the license is fixed for the offending FAT driver. Not only because we don't want to get into legal minefields, but also because QEMU is free software and wants to keep its distributed releases entirely free. Paolo ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [edk2] license for binary drivers 2014-08-06 13:44 ` Paolo Bonzini @ 2014-08-06 21:51 ` Andrew Fish 2014-08-06 22:22 ` Reza Jelveh 2014-08-07 12:53 ` Paolo Bonzini 0 siblings, 2 replies; 5+ messages in thread From: Andrew Fish @ 2014-08-06 21:51 UTC (permalink / raw) To: edk2-devel; +Cc: qemu devel list, Reza Jelveh On Aug 6, 2014, at 6:44 AM, Paolo Bonzini <pbonzini@redhat.com> wrote: > Il 06/08/2014 12:34, Laszlo Ersek ha scritto: >> So no, you can't ship an OVMF binary (or source tarball) that contains >> the FAT driver, bundled as part of the GPLv2 (+compatible) QEMU >> distribution, either in source or in binary form. > > What Laszlo said is mostly my understanding too (IANAL etc.). > > Just one thing: the GPL does allow you to "merely aggregate" the OVMF > binaries with QEMU sources or QEMU binaries; and a lawyer could also > tell you the if QEMU were to ship OVMF binaries in its tarball, it would > be mere aggregation. It would then be allowed by the GPL. > > I wouldn't disagree; the OVMF binaries are just data as far as QEMU is > concerned. > > However, the non-free nature of the OVMF binaries mean that QEMU will > never ever ship OVMF binaries until the license is fixed for the > offending FAT driver. Not only because we don't want to get into legal > minefields, but also because QEMU is free software and wants to keep its > distributed releases entirely free. > IANAL, but this stuff seems kind of free . Reverse engineering something does not make it free. Copying other peoples work and changing the license does not make it free. Nothing that the edk2 or QEMU developers do changes the Intellectual Property rights that are associated with the FAT file system. The IP for FAT was contributed to UEFI, and the specification that includes the license in question was created. The edk2 FAT driver was coded to this specification and thus has this license. Which means you can use FAT for UEFI firmware without paying a licensing fee. So from a commercial point of view the edk2 FAT driver is “free”. How you write a GPL licensed FAT driver seems like a legal quagmire. Probably something better discussed with a lawyer. From the outside looking in it seems like the IP rights are enforced by charging licensing fees to devices that support FAT. So free can still cost you…. Thanks, Andrew Fish PS The original pre-release version of the EFI spec had a simple file system defined, but we got feedback that adding (and maintaining) a new file system on a large number of operating systems would be a pain, and that is how we ended up with FAT32. Well at least we got GPT in the spec…. > Paolo > > ------------------------------------------------------------------------------ > Infragistics Professional > Build stunning WinForms apps today! > Reboot your WinForms applications with our WinForms controls. > Build a bridge from your legacy apps to the future. > http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [edk2] license for binary drivers 2014-08-06 21:51 ` Andrew Fish @ 2014-08-06 22:22 ` Reza Jelveh 2014-08-07 12:53 ` Paolo Bonzini 1 sibling, 0 replies; 5+ messages in thread From: Reza Jelveh @ 2014-08-06 22:22 UTC (permalink / raw) To: Andrew Fish; +Cc: edk2-devel, qemu devel list On 06/08/14 14:51, Andrew Fish wrote: > How you write a GPL licensed FAT driver seems like a legal quagmire. Probably something better discussed with a lawyer. From the outside looking in it seems like the IP rights are enforced by charging licensing fees to devices that support FAT. So free can still cost you…. This is about whether a Hfs driver under the GPL is acceptable not about the FAT driver really. And about how legal it is to bundle these in a firmware. The question arises because I want to know how legal it is to bundle these things together along with Qemu Thanks, Reza ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [edk2] license for binary drivers 2014-08-06 21:51 ` Andrew Fish 2014-08-06 22:22 ` Reza Jelveh @ 2014-08-07 12:53 ` Paolo Bonzini 1 sibling, 0 replies; 5+ messages in thread From: Paolo Bonzini @ 2014-08-07 12:53 UTC (permalink / raw) To: edk2-devel; +Cc: qemu devel list Il 06/08/2014 23:51, Andrew Fish ha scritto: > On Aug 6, 2014, at 6:44 AM, Paolo Bonzini <pbonzini@redhat.com> wrote: >> However, the non-free nature of the OVMF binaries mean that QEMU >> will never ever ship OVMF binaries until the license is fixed for >> the offending FAT driver. Not only because we don't want to get >> into legal minefields, but also because QEMU is free software and >> wants to keep its distributed releases entirely free. > > IANAL, but this stuff seems kind of free There is only one definition of free software, which is what Laszlo cited, and the Tiano Core FAT driver does not satisfy it. And in practice that definition is practically the same as the open source definition, which the Tiano Core FAT driver does not satisfy either (see the paragraph "License must be technology-neutral"). So the driver is neither free software, nor open source software. > Reverse engineering > something does not make it free. Copying other peoples work and > changing the license does not make it free. Nothing that the edk2 or > QEMU developers do changes the Intellectual Property rights that are > associated with the FAT file system. Catch-all words that lump together copyright and patents, such as "Intellectual Property", can help spreading FUD about free software, but they cannot _forbid_ distribution or use of the software. Which are done at your own risk anyway, since almost all software licenses come with a warranty disclaimer. On the other hand, the Tiano Core FAT driver license is just about copyright, and the driver simply _cannot_ be distributed or used except "as necessary to emulate an implementation of the UEFI Specifications; and to create firmware, applications, utilities and/or drivers". Doing so directly violates the license, without much room for discussion. > The IP for FAT was contributed to UEFI, and the specification that > includes the license in question was created. The edk2 FAT driver was > coded to this specification and thus has this license. Which means > you can use FAT for UEFI firmware without paying a licensing fee. > So from a commercial point of view the edk2 FAT driver is “free”. > How you write a GPL licensed FAT driver seems like a legal quagmire. I have three problems with this paragraph: 1) The FAT specification license is not the FatPkg license, and the FAT specification licensor is not the FatPkg licensor. Have you consulted Apple's lawyers before claiming that what applies to the FAT specification (and is written in the FAT speciification license) is also valid for the FatPkg driver, as you are doing? I would do it before making such a sweeping claim. 2) The word free was obviously never used with the meaning of "gratis". 3) No one has mentioned the GNU GPL, and in any case, calling anything "easy" or "hard" from a legal point of view is better left to real lawyers, isn't it? They have figured it out for Linux in the past. Paolo ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-08-07 12:54 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20140806074054.GF2170@masterlulz.local> 2014-08-06 10:34 ` [Qemu-devel] [edk2] license for binary drivers Laszlo Ersek 2014-08-06 13:44 ` Paolo Bonzini 2014-08-06 21:51 ` Andrew Fish 2014-08-06 22:22 ` Reza Jelveh 2014-08-07 12:53 ` Paolo Bonzini
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).