Homebrew Hub 的数据库是否开放,如何贡献或获取数据?
是开放的。Homebrew Hub 把数据库维护在公开的 git 仓库中,按平台分为 Game Boy、Game Boy Advance、NES 三个仓库,任何人都可以贡献和审计;元数据遵循定义好的 JSON schema,数据集以宽松许可证发布,网站也提供 API 入口。如果你只是想取用数据,走 API 或直接克隆对应平台的仓库即可;如果你想补充条目,则向对应仓库提交内容。
开放程度体现在哪
Homebrew Hub 是一个社区主导的项目,目标是收集、归档和保存为 Game Boy(Color)、Game Boy Advance 和 NES 开发的自制软件与 demoscene 作品。它的开放性不是一句口号,而是落在几个具体机制上:
- 公开仓库:数据库按平台拆成三个公开 git 仓库(Game Boy、Game Boy Advance、NES),代码与数据都可查看。
- 可审计:任何人都能检查数据是怎么组织的、某条记录从哪来。
- 可贡献:任何人都能提交新条目或修正。
- 结构化元数据:每条记录遵循定义好的 JSON schema,而不是自由文本。
- 宽松许可证:数据集以 permissive license 发布,取用和再利用的限制较少。
- API 入口:网站页脚提供 API 链接,适合程序化获取。
网站当前数据库共有 1629 条记录(这是页面显示的总数,会随贡献增长)。
如何获取数据
按你的用途选路径:
| 需求 | 推荐方式 | 说明 |
|---|---|---|
| 程序化查询、做小工具 | API | 页脚有 API 入口,适合按需拉取 |
| 全量分析、离线处理 | 克隆对应平台 git 仓库 | 数据即仓库内容,可拿到完整历史 |
| 只想玩、看条目 | 网站浏览 | 按 Games / Demoscene / Music / Tools 分类浏览 |
克隆仓库时注意平台是分开的,需要哪个平台就取哪个仓库,不必三个都拉。数据集是宽松许可证,但仍建议在使用时保留来源信息。
如何贡献
贡献的基本路径是向对应平台的公开仓库提交内容。流程上:
- 确定你要补充的条目属于哪个平台(Game Boy / Game Boy Advance / NES),进入对应仓库。
- 按仓库现有的 JSON schema 组织元数据——字段结构要和已有条目一致,这是能被接受的前提。
- 提交你的改动(如 pull request),等待维护者审核合并。
网站上也有 “Submit new game” 入口,可作为提交的起点。
常见卡点:元数据不符合 schema 是最容易被打回的原因。动手前先读几条已有条目的 JSON,照着字段填,比凭感觉写要省事。
这个网站还提供什么
除了数据库本身,Homebrew Hub 还用 WebAssembly 版本的 mGBA、binjnes 和 binjgb 在浏览器内直接模拟运行这些软件,不需要下载模拟器。项目也做过数字保存工作,例如抢救了 90 年代一些最早的未授权软件。这些能力与开放数据库是配套的:数据开放,运行也在浏览器里完成。
如果你关心的是“能不能拿到数据、能不能参与”,答案是两者都可以,入口就是那三个公开仓库和 API。