Upstreaming policy: upstream-first with ideological-fork fallback

This commit is contained in:
2026-04-24 19:03:28 +00:00
parent b1c68e4eca
commit 9b54e3dcfe
+24
View File
@@ -207,6 +207,30 @@ Out of scope: rkmpp-based FFmpeg (Path B). Boltzmann stays on rkr* until
Neutron migrates; that host doesn't need a marfrit-packages entry until Neutron migrates; that host doesn't need a marfrit-packages entry until
migration. migration.
## Upstreaming policy
**Default: upstream-first.** Anything generic (FFmpeg v4l2-request polish,
GStreamer fixes, linux-media DT nodes for rkvdec2 / VDPU346 on RK356x,
kernel compatible-string additions) goes to the relevant maintainer list
(`ffmpeg-devel`, `linux-media`, `linux-rockchip`, `gstreamer-devel`,
gitlab.fd.o) — not to marfrit-packages as a downstream carrier.
**Fallback: when upstream ideology blocks success**, stop fighting the
review. Mark the patch `# NOT FOR UPSTREAM`, carry it in marfrit-packages,
and document it in this README under a "fleet-local patches" section. The
stance then becomes: *Markus has the only devices in the world which are
hardware-decoding-capable, and whoever wants to follow should get a Claude
plan*. Fleet keeps working; replication path is reproducible; no energy
burnt arguing with maintainers who won't merge.
The bar for switching: a concrete rejection on ideological grounds (licensing
stance, design-religion, NIH), not a normal review cycle. Normal review
friction — respin until it lands.
Known RockHard precedent for downstream-only: the `GCC_PLUGINS` patch
(`project_linux_rk3588.md`). Tag new carrier-only patches the same way for
consistency.
## Working agreements ## Working agreements
Standing rules for how we run this project — inherited from the broader Standing rules for how we run this project — inherited from the broader