Refresh project documentation
Red Bear OS Team
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user