凌晨三点帮朋友救场:他差点栽在软件开源协议违约的坑里

上周三凌晨两点十七分,我手机震得差点从床头柜滑下去。

是老周。那个在南京软件大道租了个十平米隔间,做社区团长佣金计算工具的小老板。电话一接通他声音都劈了,说收到个全英文的邮件,对方说他侵权,要告他。

我套了件衣服赶过去的时候,他电脑屏幕亮着,邮件停在收件箱最上面,我扫了两行就懂了。

谁能想到,那行随手拷的代码是个定时炸弹

老周做那个工具,前前后后赶了两个多月进度。最麻烦的是把杂乱的团购流水导成规范的对账Excel,他之前写了三版都不好用,上周在GitHub上搜了个现成的组件,点进去看star有好几百,评论区有人说好用,直接把整个组件的代码拷下来,改了改输入输出的格式,嵌到自己的项目里,连作者写的README都没点开看完。

他根本不知道,那个组件用的是GPLv3开源协议。

按照协议要求,只要你把GPL协议的代码用到自己的商用产品里,整个产品的全部源代码,都必须以同样的GPL协议开源给所有获取你产品的用户。

GPLv3开源协议商用衍生规则示意图
GPLv3开源协议商用衍生规则示意图

老周当时听到这个规则,嘴张得能塞下整个鸡蛋。他说我就拿了人家几百行代码,改了改,至于要我把整个项目都开源?

至于。

我给他翻了之前国内的判例:深圳某做智能门锁的厂商,用了开源社区的GPL协议驱动代码做门锁的固件,没开源自己的全部固件源码,被社区维护者告到法院,最后赔了42万,还得把所有在售型号的固件源码挂在官网首页供人下载。

老周脸都白了。他那个小工具,是跟甲方谈了半年才拿到的订单,要是真把源码全交出去,甲方转头就能自己雇人维护,他那十平米的小隔间,下个月房租都凑不出来。

踩坑的从来不是某一类人

说实话,我见过的软件开源协议违约的事,真不是只有没经验的小老板会犯。

去年对接过一个做电商视觉工具的创业团队,拿了Apache2.0协议的开源图像识别组件,改完模型之后,把原作者附在代码里的版权声明全删了,换了自己公司的logo,连一句“基于某某开源项目修改”的标注都没加。人家维护者找过来的时候,对接的产品经理还特别委屈,说开源项目不就是给大家免费用来做产品的?

Apache2.0开源协议版权标注要求示例截图
Apache2.0开源协议版权标注要求示例截图

哪有这么好的事。

开源从来不是无边界的免费。每个协议都写得明明白白:什么能用,什么不能改,改完了要标什么出处,商用了要不要公开衍生作品的源码。只是大部分人打开GitHub的时候,眼睛只盯着代码能不能跑,从来不会拉到页面最下面,看一眼那个灰色小字的协议条款。

我之前还碰到过一个刚毕业的大学生,自己做了个自动刷课的小脚本,挂在淘宝上卖九块九一份,就因为用了个MIT协议的网络请求组件,没在脚本的说明页标原作者的信息,被维护者找到学校,最后不仅把卖脚本赚的几千块全退了,还写了公开道歉信。

规则从来不会等你准备好再砸下来

规则从来不会等你准备好再砸下来
规则从来不会等你准备好再砸下来

我跟老周熬了整整四个小时,把项目里嵌的那个GPL组件拆得干干净净,连注释里留的原作者的项目链接都全删了,换了个同功能的MIT协议的开源组件,重新跑了一遍测试,赶在早上六点多把新的安装包导出来的时候,老周已经蹲在门口抽完了半包烟。

他说以前总觉得,法律是离自己特别远的东西。开个小工作室,只要不偷税漏税,不骗人,就不会有麻烦。哪想到随手拷的几行代码,就差点把自己半年的心血全赔进去。

其实真的没人想故意违约。

大家都是赶项目进度赶得脚不沾地,能少写点重复代码就少写点,看到好用的开源组件就直接拿来用,谁会想到那短短几百字的协议条款,能变成卡脖子的绳子。

现在好多开源项目的维护者,已经开始用爬虫扫全网的商用软件代码库了。不管你是年营收几个亿的大公司,还是在出租屋里接小项目的独立开发者,只要扫到你违规,第一时间的律师函就会发到你邮箱。

老周后来跟我说,他现在每次从GitHub上拷代码,第一件事不是跑通功能,是先把协议条款逐字逐句读三遍。哪怕多花十分钟,也比熬几个通宵删代码强。

哪有什么天生的守规则的人。

大家都是被坑过一次,疼过一次,才慢慢知道,原来在互联网的代码世界里,也有看得见的边界。你踩过线,疼过,才会记住那个线在哪里。

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:凌晨三点帮朋友救场:他差点栽在软件开源协议违约的坑里
文章链接:https://wuhanlihunlvshi.com/cases/3548.html