Files
RedBear-OS/docs/firmware.md
T
2026-04-16 12:46:07 +01:00

2.6 KiB

Firmware in Red Bear OS

Purpose

This document defines the Red Bear firmware policy.

Firmware is treated as third-party runtime content, not as normal project source code.

Basic Rules

  • firmware is third-party
  • firmware licenses vary by vendor and artifact
  • firmware remains under its own licenses
  • firmware is redistributed unmodified
  • firmware is loaded at runtime from the filesystem
  • firmware should not be embedded into driver binaries

Source and Packaging Model

Red Bear should package firmware separately from the core OS logic.

Recommended package-group model:

  • firmware-base
  • firmware-intel
  • firmware-amd
  • firmware-wifi

The current Red Bear package path for the broad upstream firmware corpus is:

  • local/recipes/system/redbear-firmware/

That package is intended to stage firmware under:

  • /lib/firmware/

License metadata should remain clearly separated inside the firmware tree, for example under:

  • /lib/firmware/LICENSES/

Licensing and Redistribution

The practical downstream model is the same one used by Linux distributions:

  • Linux distributions ship linux-firmware as a separate package
  • the operating system itself can remain under its own license
  • firmware stays under the vendor license documented in WHENCE and related license files

Red Bear should follow the same model.

Do not claim a single Red Bear repo-wide license applies to the firmware blobs themselves.

What Red Bear Must Not Do

  • do not claim firmware is MIT just because Red Bear OS code is MIT-like or permissive
  • do not remove vendor license files or WHENCE
  • do not modify firmware blobs
  • do not merge firmware blobs into normal source trees without clear separation
  • do not assume every blob is redistributable without checking upstream WHENCE / license metadata

Runtime Loading Rule

Drivers and userspace daemons should request firmware from the filesystem at runtime.

For Red Bear, the canonical runtime path is:

  • /lib/firmware/...

The current helper daemon for that model is:

  • firmware-loader providing scheme:firmware

This keeps the architecture cleaner and legally safer than embedding blobs into binaries.

Upstream References

  • upstream firmware source: linux-firmware
  • upstream license and redistribution metadata: WHENCE
  • vendor-specific license files: LICENCE.*, LICENSE*

Bottom Line

Red Bear can distribute a Linux-firmware-derived firmware package, but it must do so as separate firmware content with its own license metadata, installed under /lib/firmware/, and loaded at runtime rather than compiled into project binaries.