📌 项目地址:OpenListTeam/OpenList | ⭐ 22,743 颗星 | 🔧 Go | 📜 AGPL-3.0
一句话说清它是什么
OpenList是AList的一个硬分支,项目描述里写的是“抵抗信任攻击的防御性分支”。它把AList原先的许可证换成了AGPL-3.0,并在GitHub首页最显眼的位置放了一份法律声明。
那份声明说了三件事:跟名字相似的项目(如OpenListApp/OpenListApp)无关;任何人不能用OpenList的代码闭源卖钱;项目目前没有付费计划,基础设施靠Cloudflare的公益资源跑。
什么是“信任攻击”
项目描述直接点了“trust-based attacks”。上游项目被收购、改许可证、突然闭源,这些都是。AList本身是单人维护。OpenList团队认为,如果哪天AList改了规则,社区需要有另一条能延续的路。
他们把许可证换成AGPL-3.0,并加上声明,就是为了防止别人拿这些代码包装成商业产品。这不是一个功能更好的AList,这是一个备份方案。
存储支持:覆盖了哪些
根据README的清单,OpenList支持以下存储后端:
- 本地存储
- 阿里云盘
- OneDrive / SharePoint(全球、中国、德国、美国四个版本)
- 天翼云盘(个人+家庭)
- Google Drive
- 123云盘
- FTP / SFTP
- PikPak
- S3
- Seafile
- UPYUN 存储
缺了的:百度网盘、115网盘、夸克网盘。如果你的主力网盘是这三家,OpenList暂时用不了。
FTP/SFTP的说明链接指向英文维基百科,不是配置文档。点开只能看到协议介绍,没有具体设置方法。
使用现状:文档停在半路
README没有安装命令,没有docker-compose.yml,没有配置参数说明。Release页面只有时间戳和commit hash,没有语义版本号,没有Changelog。
我按一般Go项目的习惯去GitHub Release下载了对应系统的二进制,参考AList的配置文件格式,试了十五分钟跑起来了。前提是我知道Go项目通常用--data指定数据目录,或者靠config.json。
不熟悉Go、不会配systemd、不想翻commit记录找变更的人,现在只能等。
两万二star的项目,文档这个水平,说明团队把优先级放在法务和治理上,使用指南还没排进时间表。
为什么有这么多star
翻了Issues和Discussions,很多人star是因为问“如果AList出事怎么办”。驱动因素不是功能,是对风险的担忧。
团队自己清楚这点,所以项目定位写的是“AGPL-3.0防御性分支”,不是“更好的产品”。功能上没比AList多什么,文档不全,安装靠摸索。但它的确在做一件有道理的事:
- 用AGPL-3.0防止衍生项目闭源。
- 用法律声明防止品牌被山寨。
- 保持一条独立于AList的维护路径。
这些star不是给一个开箱即用产品的,是给一个以防万一的保险单。
谁该用,谁不该
现在能用的人:熟悉AList配置、能自己下载Release配systemd、能接受跳过不完整文档的人。本质上是对AList的治理模式有疑虑,想提前备一份候选的用户。
建议等的人:希望开箱即用、不想折腾配置、依赖百度/115/夸克网盘的用户。AList当前文档更完整,社区更大,用起来省心。
可以去贡献的人:会写安装文档、能写docker-compose.yml、懂开源治理的程序员。项目方大概率会合并PR,因为文档缺是公开的事实。
当前唯一的使用指引
- 去GitHub Release页面,选自己系统的二进制。
- 参考AList的配置格式,创建config.json或通过环境变量设参数。
- 用systemd或supervisor启动。
- 遇到问题直接在项目里提issue。
没有一键脚本,没有docker-compose,没有快速开始。这是现状。
我的结论
OpenList对普通用户吸引力有限。它是一张开源保险单,不是开箱即用的产品。但如果你理解信任攻击意味着什么——上游项目翻脸、社区文件全废——你会明白它为什么必须存在。
希望接下来项目方能补上最基础的:一行安装命令、一个版本号、和那块缺失的文档。功能可以跟AList一样,但文档不能永远停半路。