Open Platform Firmware (OPF) is an open development project whose goal is to allow OCP owners to “own their firmware” — to move the point of control of firmware to the system owner. Owners must be able to change firmware and share it, including any binary components, with other owners. Since March 2021, OCP badging for servers has required that systems support OPF.
OPF is open source. However, OPF does not require vendors to deliver firmware in open source form. OPF open source components are designed to be easily integrated into a non-open-source firmware image; for example, such integration has been occurring since 2017 on the LinuxBoot project, where Linux is integrated into UEFI images as a UEFI driver.
There are several ways for vendors to deliver OPF-compliant systems. The most convenient, as in IBM’s Power 9 systems, is to deliver firmware in open source form, buildable and installable by the owner. Another is to deliver firmware in a binary but componentized form, which allows open source components to be built and installed in the firmware image. UEFI is an example of componentized firmware, allowing components in the image to be modified, removed, and replaced. Although a binary firmware image is far less desirable than full open source, the OPF specification allows it.
Two examples of OPF can be seen today in the LinuxBoot (linuxboot.org) and OpenEDK2 projects. For examples of compliant open source systems, see IBM’s OPAL; for examples of compliant binary images, see UEFI.
Scope
The Open Platform Firmware Project covers:
- Processor Architectures : support for all processor architectures found in the web-scale data center
- Cloud Operating Systems : support for cloud operating systems
- Device Classes : support for compute (general-purpose and AI/ML/FPGA), storage, and network devices
- Tooling : development and deployment tools
- Security : security features