90fa45c545
Red Bear OS Team
86 lines
2.6 KiB
Markdown
86 lines
2.6 KiB
Markdown
# 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.
|