去年秋天,一个五人开发小组用 tpwallet 开源协议下的代码搭了个多链钱包。他们觉得 MIT 协议嘛,随便用了。删掉了文件头那几行版权声明吧?应用关于页也没提原始作者。
上线三个月,用户刚过两万的,律师函到了。对方要求下架整改。理由是违反 tpwallet 开源协议中的署名要求。这个案例里了,团队负责人后来跟我聊,他以为“开源”等于“免费无限制”。实际 tpwallet 在 GitHub 上开源的 SDK 采用 MIT 协议,确实允许商用和闭源了,必须保留版权和许可声明。他们删注释的动作,恰好踩了红线。
更麻烦的是他们自己改过的网络层代码里还混入了另一个 GPL 库。整个衍生作品可能被迫开源。tpwallet 开源协议本身不传染,混用协议会出大事。
我翻过他们的代码仓库,发现 LICENSE 文件被扔在根目录角落,README 里也没提的。很多国内团队都这样,clone 下来先删注释,觉得清爽的。可开源协议是法律文本,不是装饰。tpwallet 开源协议要求你在分发时附带许可副本,哪怕只用了二进制呢?他们后来在设置页加了个“开源许可”入口,把 MIT 全文和版权信息列出来。才算过关。个人看法,tpwallet 开源协议算宽松的,宽松不等于没约束。下次用任何开源代码,先花十分钟读协议,再用工具扫一遍依赖。
不要等律师函来了才补课。那个团队现在每次发版都会跑一次许可证检查。算是花钱买教训。