跳转到主要内容

贡献、引用和许可证

条目格式

每条新经验使用以下字段:

标题:症状 → 契约 → 修复/排除
来源:仓库、URL、commit/tag、文件和行/函数
许可证:项目许可证;是否允许复制代码
适用:平台、引擎、SDK、build、设备
证据:命令、日志、截图、反汇编或测试
结论:已证实 / 排除 / 未定 / 撤回
不可推广:哪些地址、格式、时序或设备特例不能搬
回归:最小测试和完整验收路线

经验来源分级

自己的实践

可以公开总结。应写清楚项目、平台、版本、实验过程、失败尝试、最终证据和不能推广的边界。失败经验同样有 价值,因为它能防止后来者重复走错方向。

公开外部来源

可以引用公开 README、Markdown、issue、commit 和源码,但必须保留 URL、仓库名、commit/tag、访问日期、许可证和 实际阅读范围。引用外部事实时,不能把自己的推断写成外部项目的原话或已验证结果。

私有来源

私有仓库、私有分支、私有会话、未公开附件、用户设备日志、私有补丁和他人未授权的代码不得进入公开手册,也 不得通过改名、删掉链接或复制片段来规避。若其中包含有价值的通用经验,只能由作者重新抽象成不含私有细节、 不含可识别数据、且不暗示外部项目已公开的独立条目;来源标为“本项目独立实践”,不能伪造公开出处。

代码复用规则

  • MIT/BSD/zlib/Apache 等允许复用的代码,也要保留版权和许可证声明。
  • GPL/LGPL 或许可证不明的代码,只记录设计、接口语义和独立重实现方案,除非项目许可证兼容且经过明确审核。
  • 不复制游戏本体、shader binary、keys、RomFS 或用户数据。
  • 外部代码的“同名函数”必须先做 ABI、对象布局、线程模型和资源生命周期对照。
  • 引用外部仓库时记录 URL、commit/tag、访问日期和实际使用范围。
  • 公开手册不收录私有仓库、私有会话或未授权材料;即使它们对本地排障有帮助,也只能保留在不公开的内部工作记录中。

GitHub 推送前检查

git diff --check
rg -n 'prod\.keys|\.xci|\.nsp|RomFS|patched_.*main|BEGIN.*PRIVATE' docs/ README.md
git status --short

大型游戏资料、密钥、设备日志和临时缓存必须留在仓库外。公开仓库只推手册、工具、测试和可审计的源码。

未来发布

仓库名必须描述知识库而非平台,例如 static-recomp-handbook、recomp-field-manual 或 native-recomp-guide; 不要在仓库名中绑定 Android、macOS、某部手机或某个游戏。