整理 | 华卫
近日,拥有超 1200 万粉丝的 B 站知名 UP 主“老师好我叫何同学”,因一条名为《我用 36 万行备忘录做了个动画…》的最新视频中,将基于某开源项目改动的程序称作其“专门开发的软件”,在各大平台引发热议并冲上了热搜榜。尽管该项目采用了最为宽松的 MIT 开源协议,但未主动注明作者信息等举动还是招致网友的诸多吐槽。不仅何同学的视频评论区,就连被涉及开源项目在 GitHub 的 Issue 区,都已经“沦陷”了。
又一起违反开源协议“翻车”事件
视频中,在介绍核心功能(字符画转制程序)时,何同学声称“我们专门写了一个软件”,引发了大量网友的质疑。原因是,这款“专门写的转件”实际是 GitHub 上的开源项目“ASCII generator”,该项目可用于生成 ASCII 码,支持图像转文本、图像转图像、视频转视频。
项目链接:_
也就是说,何同学的视频成品是基于该开源项目实现,但在视频发布时其并未在任何地方注明相关来源及原作者信息。对此,何同学在评论区回应,承认“使用的字符转制程序确实是由开源项目 ASCII-generator 改动而来,改动的内容主要是优化字符生成比例、图片裁切方式和传参方式”,而之所以没有在视频中指出这一点是因为“并没有意识到这个程序是从开源程序改动而来,也没有尽到审稿义务”。
视频前后对比
网友显然也并不买账,表示:“怎么被发现了才来紧急避险,难道没人指出来你就可以一直藏起来了吗?”还有知乎网友指出,“被使用的开源项目实际上是视频里技术含量最高、实现难度最大的部分。”
那么,何同学视频中用到的字符画转制程序是改动了这个开源项目的哪些地方?是否在协议层面违反了相关开源许可呢?
改动处被网友质疑是“伪装原创”
根据 ASCII generator 的自述文件,使用该项目的 python 源代码可以实现:
有知乎网友根据视频中展示的代码片段,和原项目进行比对后得出了以下改动结果:
该网友指出,上述改动除了第三点可以认为是提高代码可读性及维护性以外,“其他的改动都说不过去”。
除上述说法外,还有不少网友也都严重质疑何同学“手动删除”作者声明部分注释的行为和目的。在何同学回应之后,知名科技 up 主 epcdiy 在评论区这样问道,“请问删除原作者名字是无意识的吗?”
ASCII generator 开源项目采用的是 MIT 许可证,与其他常见的软件授权条款(如 GPL、LGPL、BSD)相比,MIT 是相对宽松的软件授权条款。
因此,有网友认为,何同学应该将该期视频的收益作为赔偿给 ASCII generator 开源项目的开发者。
项目原作者发声
根据 GitHub 上的介绍,被涉及的 ASCII generator 开源项目是由 Sporttotal 高级 AI 工程师 Viet Nguyen 开发的。据了解,Sporttotal 是一家专注于体育转播和数码化领域创新解决方案的技术媒体公司。
同时,Nguyen 也是一位积极的开源贡献者。在 Nguyen 的个人页面上,我们看到其发布的多个受欢迎的开源项目,包括快速绘图应用程序、照片马赛克生成器,以及通过异步优势 Actor-Critic (A3C) 算法和近端策略优化算法训练 Agent 玩超级马里奥兄弟、用深度 Q 学习玩俄罗斯方块和 flappy bird 游戏、在不触摸键盘的情况下用手部检测模型玩游戏等各种有趣的实践。
据 Nguyen 介绍,他本人本科毕业于越南河内科技大学,之后在慕尼黑工业大学攻读计算机科学硕士学位,主修人工智能和机器人技术,并且精通 Python,包括 Tensorflow、Pytorch、Keras、Scikit-learn、Pandas、NLTK、OpenCV 和其他机器学习框架,对 NLP 和计算机视觉中的深度学习、强化学习的课题感兴趣。
近期,Nguyen 正在油管视频平台上持续更新有关机器学习各种常用算法、函数和模型以及数据科学方面的学习教程。在从事 AI 工程师之前,Nguyen 还曾在两家公司担任过数据科学家。
而 Nguyen 本人目前也知晓了此事,刚刚知名科技 up 主 epcdiy 转发原作者 vietnh1009 写给何同学的一封信的中文翻译:
开源协议的红线:违规代价与行业反思
事实上,近年来还有不少违反开源协议的事件发生。2021 年,国内首例违反 GPL 协议致侵权的案例被判罚,被告公司赔偿原告公司经济损失及维权合理费用共计 50 万元。
像何同学一样,违反 MIT 许可证的案例也不在少数。上个月,就先后有两家机构被指控。
10 月 10 日,Abstract Chain 团队成员 @0xCygaar 曝料称,美国联邦调查局 FBI 在发行代币 NexFundAI 时涉嫌违反 MIT 许可证。该工作人员称,FBI 在其智能合约中直接复制了 OpenZeppelin 的多个库文件,但未按要求在代码中附加许可证声明,构成了版权侵犯。
10 月 1 日,AI 创业公司 PearAI 的创始人 Duke Pan 承认其发布的 AI 编码器产品确实"借鉴"了开源项目 VS Code 和 Continue,前者采用的是 MIT 许可证,后者是 Apache 开源许可证。Pan 表示,PearAI 现在已将项目重新发布在与 Continue 相同的 Apache 开源许可证下。但仍有网友指出,“删除原始的 MIT 许可证并用限制性更强的许可证(Apache)取而代之,违反了版权法。”
截图来源:违反开源许可的事情,在技术圈内屡见不鲜,但这种行为一旦被揭露,往往会引发轩然大波。PearAI 的创始人也不得不出来发长文道歉,希望得到开源社区的原谅:“你们帮助我们明白了,我们这样做的方式是随意的,是对我们热爱的开源社区的冒犯。”“这种随意的处理方式不仅在技术上是不正确的,而且冒犯了所有为开源项目做出贡献的人,也冒犯了开源的本质。我们已经纠正了我们的错误,我们不会再犯这样的错误。”
一位开源策略顾问 Phil Albert 曾表示,“几乎没有理由在软件上违反 MIT 许可证,因为 MIT 许可证施加的要求很少。所需要做的就是将软件中获取的八行左右的文本包含在软件的其他地方。”
乍一看,保持开源许可证合规性听起来很简单。但实际上,它与开源本身的本质一样复杂。开源许可证种类繁多,不同许可证的要求差异也很大。因此,企业和开发者们有必要建立起全面的开源管理策略。
通过采取积极主动的方法,在开发生命周期的早期识别和修复开源许可问题,不仅可以提高开发人员的工作效率,还能减少在开发生命周期后期不得不淘汰和替换软件中不合规软件包所带来的心痛。开源框架的存在应该是为了追求终极目标,即最大的善。
参考链接: