2023年4月,网络深圳一家做跨境电商SaaS的公司创业公司“蓝海云”突然发现,自己核心算法的侵犯核心代码段,竟被竞争对手“启航科技”原封不动地搬进了新发布的司代产品里。连注释里的码案错别字都一模一样——那是蓝海云技术总监老周当年熬夜调试时随手敲的“这里别动,动了会炸”。网络
老周气得差点摔了键盘。公司他带着公证处的侵犯人冲进启航科技的办公室时,对方CTO一脸无辜,司代说代码是码案外包团队写的,他们不知情。网络可老周心里门儿清,公司那个外包团队里,侵犯有个人三个月前刚从蓝海云离职,司代走的码案时候还和HR闹得不太愉快。
这事最后闹到了法院。蓝海云提交了Git提交记录、服务器日志、甚至老周和那位离职员工在微信上讨论代码架构的聊天记录。铁证如山,启航科技最后赔了280万,外加公开道歉。但老周跟我说,钱不是重点,重点是那三个月,他们团队为了证明代码是自己写的,翻遍了每一行注释,每一个变量命名习惯,那种感觉就像被人偷了日记,还得逐页证明笔迹是自己的一样。
我见过太多类似案例。代码侵权这事儿,和抄袭文章不一样,文章抄了能看出来,代码抄了有时候真看不出来——除非你把两个项目并排放在一起,逐行比对。大多数小公司根本没有这个精力和技术能力去做这种比对。等发现的时候,对方产品早上线了,市场都抢完了。
更恶心的是,有些公司专门雇人潜伏在开源社区或者技术交流群里,打着“交流学习”的旗号,套取别家公司的架构思路。我认识一个做物联网的哥们儿,他们的核心通信协议被人抄了,对方还改了包名和变量名,以为能蒙混过关。结果他请了个第三方做代码相似度检测,一测,相似度87%。对方辩解说“思路相似很正常”,可思路相似和逐行复制,是两码事。
法律上,代码属于著作权法保护的作品。但打官司你得证明“接触+实质性相似”——你得证明对方碰过你的代码,还得证明抄得够多够像。这两条,哪条都不好办。接触好说,查离职员工就完了。实质性相似才头疼,得靠专家证人、鉴定机构,一套流程走下来,没个一年半载下不来。这期间,对方产品该卖卖,该赚赚,等你赢了官司,人家可能已经转型做别的去了。
所以我现在给初创公司提的建议就一条:代码里埋“水印”。不是那种技术上的水印,而是故意写一些无关紧要但独特的注释,或者特定的变量命名风格,比如用你家乡话的拼音缩写。真出事的时候,这些不起眼的小细节,反而比那些所谓的技术专利更能证明“这东西就是我的”。老周那案子能赢,靠的就是那句“这里别动,动了会炸”——这种带情绪的注释,不是自家人都写不出来。
说到底,代码是人的智力结晶,带着每个程序员独特的习惯和脾气。偷代码的人以为删掉几行注释、改几个函数名就能洗白,可他们不知道,真正刻在代码里的那些“小怪癖”,才是洗不掉的身份烙印。