📌 项目地址:OpenListTeam/OpenList | ⭐ 22,743 颗星 | 🔧 Go | 📜 AGPL-3.0
这是什么项目
OpenListTeam/OpenList,Go 写的,22,743 颗 star,AGPL-3.0 协议。它是 AList 的社区分叉——一个把各种网盘聚合到统一界面的文件列表工具。
README 第一句话就交代了分叉的性质:”a resilient, long-term governance, community-driven fork of AList — built to defend open source against trust-based attacks”。
分叉的理由不在代码,在治理。这篇文章想讲清楚这件事。
AList 遇到的麻烦
AList 原来用的是 MIT 协议。MIT 之下,拿走代码、改名、闭源、收费,全部合法。
OpenList 的免责声明直接点了名:社区里出现了名称高度相似的第三方项目 OpenListApp/OpenListApp,还有付费闭源软件在用相同或类似的命名。
这里被盗用的不是代码——代码被拿走是 MIT 协议允许的。被盗用的是名字积累的信任。用户搜到仿冒品,付了钱,以为在支持原作者。攻击者一行代码都不用改,协议管不到这里。
OpenList 的两步应对
第一步,换协议。 MIT 换成 AGPL-3.0。AGPL 的传染性意味着基于 OpenList 修改的代码在分发时必须开源。README 对下游写了两条硬性要求:
- 不得以”OpenList”名称进行仿冒推广或商业牟利;
- 不得以闭源方式分发基于 OpenList 的代码,或违反 AGPL 协议条款。
第二条有协议条款支撑。第一条主要靠声明,但至少划出了边界。
第二步,交代清楚自己的身份。 免责声明逐条说明:
- OpenList 与任何第三方衍生项目无官方关联;
- 全部代码和服务由 OpenList Team 在 GitHub 免费维护;
- 文档和 API 服务依赖 Cloudflare 提供的慈善资源;
- 没有付费方案、没有商业部署,现有功能不产生任何费用。
这段话的实用价值很直接:如果你花钱买到了叫”OpenList”的软件,那不是这个项目。这个项目本身不收钱。
对合规的下游开发者也留了路:标注项目来源、按开源精神选择协议;商业用途避开”OpenList”命名;OpenListTeam/Logo 下的素材可以在遵守协议的前提下修改使用。
工具本身能干什么
抛开分叉背景,这是个网盘聚合工具,用一个界面接十几种存储后端。README 用 checkbox 列支持的后端,没有营销话术:
- 本地存储
- 阿里云盘
- OneDrive / SharePoint(Global、CN、DE、US 四个区域)
- 天翼云盘 189cloud(个人版、家庭版)
- Google Drive
- 123 云盘
- FTP / SFTP
- PikPak
- S3
- Seafile
- 又拍云存储服务
这套模式 AList 已经验证过,OpenList 继承了下来。
治理上的投入
判断一个分叉是不是一锤子买卖,看文件齐不齐。这个仓库有:英文之外的中、日、荷、韩、德、俄、法、西、阿拉伯九种语言的 README,加上 CONTRIBUTING、CODE OF CONDUCT、LICENSE。
十种语言的文档,这不是随手 fork 一下的架势,是按长期社区项目在搭。
我的看法
这个项目戳中了开源协议的一个盲区:协议管代码,不管名字。AList 在代码层面无懈可击,在信任层面没有防御。
OpenList 把能固定的先固定了:AGPL 锁住代码的开放状态,声明划出名称边界。名称那部分没有强法律手段,更多是表态——但表态也有用,它给了社区一个锚点:哪个是正版,什么行为算越界。
对普通用户,关注这个分叉的理由很具体:单人维护的项目随时可能停更或变味;社区治理加 AGPL 约束的项目,被人拿去闭源收费的难度大得多。22,743 颗 star 说明不少人就是这么算的账。