自己辛辛苦苦开发的开源软件,被别人用了,还被隐去了各种关于原作者的信息,这种违反开源协议与精神的做法,无疑令人恼火。
这也是为什么自昨晚以来,拥有千万级粉丝的数码博主“老师好我叫何同学”成为众矢之的原因。此前,“老师好我叫何同学”曾凭借发布各种数码科技类视频收获了广泛好评,他也曾因与苹果 CEO 库克 1 对 1 对话而令人惊羡。不过近日,他在 B 上更新了一个《我用 36 万行备忘录做了个动画...》的视频,却因触及开源项目的版权问题,引发巨大争议。
“我写了一个软件” vs“改写开源软件 ”
具体事情的起因是何同学称自己四年前,曾手动在备忘录里敲了一万行字符,试图讲述一个简单的故事:先是让一个白条躲避红色障碍,最后变成小猫反追红色障碍的故事。
然而,这个动画尝试由于备忘录从上向下的滑动特性限制,未能实现理想效果。红色障碍出现在屏幕中的时间极短,难以看清,更谈不上丰富多彩的表现形式。为了改善这一缺陷,何同学设想在前方添加一个手机屏幕,专门用于发射红色障碍,从而增强“白条”的挑战强度。然而,仅靠自己手动输入,一万行已是极限,做不了丰富的花样,也无法继续下去。
四年后,为了弥补当年的遗憾,何同学决定升级这个“备忘录动画”,使用多个屏幕来增加这个动画的效果。然而,屏幕变多了,仅凭手动输入字符也必然不现实,因此,他转向了技术化的解决方案。
问题点因此出现了,起初,何同学在视频中表示,“所以我们专门写了一个软件,可以把预览动画里面的色块转换成字符,提高效率,但为了最自然的效果,前面白条,躲避障碍的动画,依然是一行一行画的。最后这个文档有 36 万行。”
(来源:https://weibo.com/6529876887)
然而有细心的网友发现,视频中一闪而过的软件并非是何同学开发,而是使用了 GitHub 上的一个名为“ASCII generator”的开源项目(https://github.com/vietnh1009/ASCII-generator)。
根据 ASCII generator 的 GitHub 页面显示,该软件的作者是 vietnh1009,在 Sporttotal 公司担任高级人工智能工程师。
就 ASCII generator 项目而言,这是一个用 Python 编写的工具,可以将图像或视频转换为 ASCII 艺术(以字符排列形式呈现图片或图案)。
GitHub 示例中用中文生成 ASCII 艺术
其采用了 MIT 开源许可证,这意味着任何人都可以免费使用、复制、修改、分发、再许可甚至出售基于该软件的作品。只不过此协议还有一个要求,就是使用者必须在软件或相关文档的所有副本中保留原作者的版权声明及许可证内容,移除这些信息可能会构成违反许可协议的行为。
而在何同学初版视频中,其不仅没有露出开源原作者的信息,且用了“专门写了一个软件”字眼,因此遭到了不少开源开发者的指责。
面对质疑,虽然何同学迅速在评论区做出回应,承认了自己的软件的确是基于 ASCII generator 项目开发:
我们看到了大家在评论中关于字符画转制程序的讨论。我们视频中使用的字符转制程序确实是由开源项目 ASCII-generator 改动而来,改动的内容主要是优化字符生成比例、图片裁切方式和传参方式。视频中55秒的旁白“所以我们专门写了一个软件,可以把预览动画里的色块转换成字符”确实不严谨,非常抱歉在视频里没有指出这一点。
之所以会出现这种情况,是因为我在写视频的文案时不够严谨,没有和相关同事做好沟通,并没有意识到这个程序是从开源程序改动而来,也没有尽到审稿义务,实在抱歉。我们已经对视频进行换源,修改了相关描述并增加引用来源,同时进行内部检讨,反思流程和审稿上的问题。衷心感谢大家的监督。
同时替换了 B 站的视频源。但不少网友对于此番回应并不买账:
怎么说也是个老互联网人了 你能不知道这种开源别人不知道吗
代码的事界限很难评,现在很少有程序不引入三方包库,纯自己码的。那些明显改造对方代码实现主要功能的的确该说明下,还有其他辅助开发的三方库是否也需要公示呢。
使用代码没有错,用来盈利就不地道了
截至目前,还有人发现,其在微博上同步的视频依然是最初“写了个软件”的版本,没有做替换,只是在评论区做了如上的回应。
开源项目作者回应
随着事情的发酵,开源项目原作者 vietnh1009 在知晓此事后,也进行了回应。
微博用户、也同是一名程序员的 @epcdiy 对「原作者 vietnh1009 写给何同学的一封信」进行了翻译,详细如下:
各位好!
今天,多亏了一些在Github上的中国朋友告诉我,你们正在使用我的个人项目(https://github.com/vietnh1009/ASCII-generator/blob/master/img2img_color.py),并且声称自己编写了该代码(视频中的时间戳为00:56)。我还制作了两段 YouTube 教学视频,指导我的观众(主要是越南人)如何免费编写这段 Python 代码。你们不仅在窃取他人的工作成果,还在欺骗自己的订阅者。我想我可能不是第一个被你窃取作品的人。对我来说这没有关系,但我不希望你从中获利,因为这不是你的原创作品,并且你的观众值得更好的东西。他们付钱给你是为了欣赏你的创意和努力,而不是为了从互联网上盗用别人的东西。
此外,@epcdiy 也对此事分享了自己的看法: