收录政策
FlatPark 收录提供公开、稳定发布 URL 且可打包为 extra-data 的应用。以下规则适用于应用的收录和持续上架。
我们收录的应用
任何在稳定公开 URL 上提供官方预构建下载产物的应用都可以收录,包括安装程序、.deb、.rpm、tarball 或 AppImage。FlatPark 会在构建时获取产物,按 checksum 固定产物并对结果签名,安装时再从厂商自己的 URL 拉取。FlatPark 从不自行从源码构建应用,也从不重新托管 binary。AppImage 会被离线解包(直接读取其末尾附带的文件系统,绝不执行)。软件包可以从固定的源码构建 runtime 缺少的支持库,但应用本身始终是厂商自己的 binary。
Toolkit 和许可证不会成为收录门槛。欢迎 Electron 和 Tauri 应用——registry 中已经提供这两类应用——也欢迎闭源应用。只要 upstream 发布 .deb、.rpm、tarball、zip 或官方安装程序,就可以在这里打包。
要求
- 官方构建必须有稳定、公开的发布 URL(不得要求登录)。
- 必须有 AppStream metainfo 文件(
<id>.metainfo.xml),其中包含 id、名称、摘要、许可证以及至少一个描述段落。 - id 必须符合 reverse-DNS 格式,并与 registry 目录名称一致。
- 使用当前 runtime 主版本,与应用目录中的其他应用保持一致。不接受为了规避构建故障而固定旧主版本——一个未升级的应用就会迫使每位用户在磁盘上保留第二套 runtime。
- 使用仍能正常工作的最严格
finish-args。可选功能默认不授予权限:不要添加对应权限,而是在应用描述中记录用于启用权限的flatpak override命令,让每位用户自行决定。应用正常运行确实需要的权限应保留在finish-args中,并在 PR 里说明理由。 - 提交 PR 前已在本地测试——提交者已经构建应用、使用
flatpak install安装、启动应用,并确认其核心功能正常。 - 明确说明应用的许可证。
Vibe-coded 应用
欢迎使用 AI 辅助开发(“vibe coding”)的应用。它们与其他应用采用相同标准评判:考察开发历史、upstream 活跃度和实际表现出的质量,而不是编写方式。
在这件事上我们旗帜鲜明。“AI slop”这个标签如今在网上泛滥成灾——Flathub 的 PR 队列里、Reddit 的帖子里,到处都是——它被随手甩到能正常工作的软件上,背后却没有任何审核:没有人构建过它,没有人运行过它,也没有人读过一行 diff。这种条件反射不是质量把关,而是最偷懒的一种“审核”,它对软件本身毫无说明。如果真有什么配得上“slop”这个词,那就是这种随手贴标签的行为本身。
FlatPark 的回应是把标签跳过的工作补上:每项提交都会被实际构建、安装、启动,并按上文公开的标准审核。评判软件包本身,而不是写出它的工具。
我们不仅不排斥这些工具,还公开地使用它们。欢迎——甚至鼓励——用 AI agent 做严格的测试、完善的文档和自动化的维护流程;FlatPark 自己的审核与更新流水线就有 AI 参与。重要的是结果达到了什么标准,而不是键盘前坐的是谁。
审核
每项提交都会按照公开的审核 runbook进行审核(有 AI 辅助)。信任问题的关键在于你运行的内容来自哪里,而不是许可证:
- FlatPark 要么根据公开源码验证从源码构建的软件包,要么重新打包未经修改的 upstream 官方预构建产物——你运行的内容就是厂商自己的产物。
- 官方预构建产物必须来自真正的 upstream/厂商发布渠道。托管在提交者个人账户或 mirror 上的 binary,以及打包过程中重新构建或打过 patch 的 binary,都会被拒绝。
- 每项下载都按
sha256(及大小)固定,所有 git 源也固定到不可变的 commit,因此构建过程无法悄悄替换内容。 - 会逃逸 sandbox 的权限(host 文件系统、Flatpak 控制 bus)会被拒绝;范围宽泛的授权必须说明理由。
- 允许 non-FOSS 应用——是否开源不是审核标准。我们会根据用途而非许可证拒绝盗版、恶意软件、冒充商标或任何无法合法分发的内容。
我们并不声称每个开源预构建产物都经过了逐字节的源码验证——只保证它是 upstream 官方构建、已固定且未经修改。
下架
下架是罕见且保守的操作。应用只会因为两种原因离开 FlatPark:
- 长期、确实地失去维护——官方下载 URL 已消失,或 upstream 沉寂太久,已经没有可打包的东西;或
- 作者明确要求我们不要分发它。 厂商的意愿是最终决定:我们会移除应用,不做任何争辩。
应用绝不会因为它是怎么写出来的、用了什么 toolkit、或者网上有人叫它 slop 而被下架。
两点补充。安全底线独立于上述规则、始终生效:发现某个发布版本包含恶意内容,或索取无法合理解释的危险权限时,会被立即移除。此外应用还有一种离开方式——毕业:当 upstream 开始发布官方 Flathub 构建时,FlatPark 的过渡使命就完成了,我们会让自己的软件包退役;这是成功,不是拒绝。
流程是公开的:先新建 issue 说明原因,再由维护者审核;应用被移除后,会从 registry 中删除其目录,并从 repo 中移除对应 ref。已安装的副本仍可继续使用,直至用户将其卸载。