综合整理:程序员的那些事,
来源:开源中国、InfoQ、微博、知乎、B站
01
“我们专门写了一个软件”
11 月 15 日,在 B 站拥有超 1200 万粉丝的知名 UP 主“老师好我叫何同学”,发布了一条名为《我用 36 万行备忘录做了个动画》的视频。
在视频中,何同学介绍核心功能时提到“我们专门写了一个软件”,
后来被细心网友(epcdiy)发现是基于一个开源项目改动的。
何同学用到的开源项目名为:ASCII generator,它可用于生成 ASCII 码,支持图像转文本、图像转图像、视频转视频。
github.com/vietnh1009/ASCII-generator
该开源项目采用了最为宽松的 MIT 开源协议,但何同学不主动标注原作者信息的行为,最终招致网友的诸多吐槽,并喜提多平台热搜。
02
道歉
遭遇众多批评后,11月19日下午何同学回应质疑并致歉,承认了确实是从开源程序改动而来,并没有意识到这个程序是从开源程序改动而来,也没有尽到审稿义务。
据何同学称,目前他们已经对视频进行换源,修改了相关描述并增加引用来源。微博及油管视频平台平台由于无法做换源处理仍保持原视频,仅在评论区作了上述图片中的解释。
(视频前后对比)
网友显然也并不买账,表示:“怎么被发现了才来紧急避险,难道没人指出来你就可以一直藏起来了吗?”
还有知乎网友指出,“被使用的开源项目实际上是视频里技术含量最高、实现难度最大的部分。”
那么,何同学视频中用到的字符画转制程序是改动了这个开源项目的哪些地方?是否在协议层面违反了相关开源许可呢?
根据 ASCII generator 的自述文件,使用该项目的 python 源代码可以实现:
给定输入图像,可以生成以不同语言文本格式(.txt)存储的 ASCII 图像
给定输入图像,可以生成以不同语言图像格式(.png、.jpg......)存储的 ASCII 图像。每种格式都有 2 个选项:黑底白字,反之亦然。
在输入视频的情况下,可以生成以不同语言视频格式(.avi、.mp4...)存储的 ASCII 图像。
视频 / 图像输出可以是灰度或彩色格式。
有知乎网友根据视频中展示的代码片段,和原项目进行比对后得出了以下改动结果:
更具体地说,何同学的改动是:
将开源项目的作者声明部分「@author:Viet Nguyennhviet1009@gmail.com」删除;
将「get」改成了「set」;
改变了函数的传参方式,使用关键字参数 input_pathj、Toutput_pathj、「cols」、「model;
改变了「--language」和「--mode」的项目参数默认值
该网友指出,上述改动除了第三点可以认为是提高代码可读性及维护性以外,“其他的改动都说不过去”。
第①点删除开源项目的作者声明部分,甚至号称代码是自己写的,已经严重违反了 MIT 协议。
第②点将函数名中的 get 改成了 set,让人感觉莫名其妙,特别像是程序设计课里不同人之间互相抄代码,为了降低查重率就把函数名或者变量名改一下而已。[黑人问号脸.jpg]
第④点改变了项目参数默认值,尤其是将 english 改为 general ,特别像是想抹除原作者痕迹,方便自己标榜原创。但凡何同学要是改成 chinese 我都能理解他们是为了方便使用而已……
除上述说法外,还有不少网友也都严重质疑何同学“手动删除”作者声明部分注释的行为和目的。
在何同学回应之后,up 主 epcdiy 在评论区这样问道,“请问删除原作者名字是无意识的吗?”
ASCII generator 开源项目采用的是 MIT 许可证,与其他常见的软件授权条款(如 GPL、LGPL、BSD)相比,MIT 是相对宽松的软件授权条款。
根据 MIT 许可证的说明,被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软件及软件的副本,可根据程序的需要修改授权条款为适当的内容,但被授权人在软件和软件的所有副本中都必须包含版权声明和许可声明。
因此,有网友认为,何同学应该将该期视频的收益作为赔偿给 ASCII generator 开源项目的开发者。
根据 GitHub 上的介绍,被涉及的 ASCII generator 开源项目是由 Sporttotal 高级 AI 工程师 Viet Nguyen 开发的。据了解,Sporttotal 是一家专注于体育转播和数码化领域创新解决方案的技术媒体公司。
同时,Nguyen 也是一位积极的开源贡献者。在 Nguyen 的个人页面上,我们看到其发布的多个受欢迎的开源项目,包括快速绘图应用程序、照片马赛克生成器,以及通过异步优势 Actor-Critic (A3C) 算法和近端策略优化算法训练 Agent 玩超级马里奥兄弟、用深度 Q 学习玩俄罗斯方块和 flappy bird 游戏、在不触摸键盘的情况下用手部检测模型玩游戏等各种有趣的实践。
Nguyen 本人目前也知晓了此事,并给与回应。
且国内up 主 epcdiy 转发原作者 vietnh1009 的内容,并将之进行了中文翻译:
各位好,
今天,多亏了一些在 Github 上的中国朋友告诉我,你们正在使用我的个人项目(https://github.com/vietnh1009/ASCII-generator/blob/master/img2img_color.py),并且声称自己编写了该代码(视频中的时间戳为 00:56)。我还制作了两段 YouTube 教学视频,指导我的观众(主要是越南人)如何免费编写这段 Python 代码。你们不仅在窃取他人的工作成果,还在欺骗自己的订阅者。我想我可能不是第一个被你窃取作品的人。对我来说这没有关系,但我不希望从中获利,因为这不是你的原创作品,并且你的观众值得更好的东西。他们付钱给你是为了欣赏你的创意和努力,而不是为了从互联网上盗用别人的东西。
- EOF -
来自C语言与CPP编程公众号