Tianocore (UEFI) now has a free FAT driver

Tianocore, the basis for many UEFI firmware implementations, has long been nearly free software. Low level hardware initialization is provided by CPU and motherboard manufacturers as binary blobs, but this part doesn’t matter for virtualization where we don’t need these blobs.

The main hindrance to shipping Tianocore in Linux distros was the FAT driver. UEFI standardized on FAT as a format for the boot partition. Microsoft supplied the corresponding FAT driver in Tianocore, but with a terms of use restriction that meant it was not free software. Anyway, today that changed. Microsoft has relicensed the code without the use restriction. The code is available here. So yes, thanks Microsoft. Also Intel who were involved in this.

7 Comments

Filed under Uncategorized

7 responses to “Tianocore (UEFI) now has a free FAT driver

  1. Laszlo Ersek

    That was a quick blog post 🙂

  2. I think you can thank the FAT LFN patent expiration for this

  3. Laszlo Ersek

    The FAT LFN patent expiration might matter for those who want to write an independent FAT driver. For such an independent FAT driver, they would own the copyright, and their sole concern would be the patent.

    However, in this case, the optimal solution was *not* the creation of an independent FAT driver. edk2 already had a FAT driver, but its use and distribution were restricted (in the copyright notice). The copyright ownership belonged to Intel, but those restrictions had probably been dicated by Microsoft (probably through the terms of the FAT spec from Microsoft that Intel probably used for implementing the FAT driver).

    In short, in order to turn the existing FatPkg driver in edk2 into open source software and free software (as defined by the OSI and the FSF, correspondingly), legal work and willingness to relicense *were* necessary from both Microsoft and Intel. For which the community should definitely thank Microsoft and Intel.

    Microsoft could have just said, “okay, the patent has expired, now we won’t stop you from writing your own driver — but we still won’t let you use and distribute the existing FatPkg driver as open source / free software”. Instead of that, they and Intel put in the legal work and relicensed the existing driver. It matters a whole lot, and we should thank them for it.

    (This is my personal account, and in no way a legal statement, and/or representative of my employer.)

  4. The point is about why the restrictions was created in the first place, particularly about for example implied patent licensing.

  5. So most of the legal work was probably around proving that the patents expired and thus for MS to stop licensing them.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.