B站知名up主何同学被指盗用开源项目——网友锐评「移源丁真:鉴定为自研」

B 站知名 up 主「老师好我叫何同学」近日发布了新视频 ——《我用 36 万行备忘录做了个动画…》,视频简介如下:

一位动画师为了在手机上呈现最丝滑的动画,花费四年时间,编写了 36 万行备忘录,制作了一个备忘录动画 2.0 版本。他在前一个动画的基础上,增加了屏幕数量,使得动画更加丰富。

为了完成这个庞大的工程,他专门练习手指力量,使用软件提高工作效率。

最终,他利用自动滑屏软件和刚发售的 iQOO 手机的高性能屏幕,实现了 144 帧和 2K 分辨率的稳定并发,制作出了令人惊叹的动画。

图片

然而,何同学在视频中介绍实现的核心功能(字符画转制程序)时 —— 声称“我们专门写了一个软件”,该表述引发了广大网友的质疑。

原话:

所以我们专门写了一个软件,可以把预览动画里面的色块转换成字符,提高效率,但为了最自然的效果,前面白条,躲避障碍的动画,依然是一行一行画的。最后这个文档有36万。

图片

因为何同学口中这款“他们专门写的软件”其实是一个在 GitHub 上颇受欢迎的开源项目。而且他还删除了原作者的信息。

图片

该项目名为 "ASCII generator",star 数接近 2k,是一个用于生成 ASCII 码的 Python 项目,支持图像转文本、图像转图像、视频转视频。

图片

何同学视频中的成品效果正是基于该开源项目实现:

图片

视频中展示的代码也被火眼金睛的网友定位到了出处:

图片

虽然这款开源项目采用了最为宽松的 MIT 开源协议,但保护和尊重原作者的版权信息是最基本的开源道德。何同学作为在 B 站拥有超过 1200 万粉丝的 up 主,集成或者使用开源代码、软件都没有问题,但如果不顾事实地说出“这个是我们专门写的软件”,也休怪网友没有嘴下留情。


今天下午,何同学在该视频的评论区回应了质疑,承认了这款软件确实是“从开源程序改动而来”,但在与其他同事协作时出现纰漏,导致相关文案和旁白出现问题。

图片

但网友显然对此并不买账:

图片

图片

相关来源

https://www.bilibili.com/video/BV1LVmRYzERY

https://github.com/vietnh1009/ASCII-generator

https://www.zhihu.com/question/4389622860

<think>我们被要求比较automake和cmake构建工具的优缺点。根据引用的资料,我们可以总结如下: 1. **Automake (GNU构建系统的一部分)**: - 它是Autotools工具集的一部分,通常与Autoconf和Libtool一起使用。 - 要解决跨平台构建的问题,能够自动检测系统特性并生成相应的Makefile。 - 优点:灵活性高,对用户友好(引用[1]和[2]提到),在Unix-like系统上广泛使用,具有很好的可植性。 - 缺点:开发步骤多,配置繁琐(需要运行autoscan, autoconf, automake等一系列命令)(引用[2]提到),学习曲线较陡峭。 2. **CMake**: - 是一个跨平台的构建工具,可以生成各种类型的构建文件(如Makefile、Visual Studio项目文件等)。 - 优点:相对于Make和Automake,CMake有明显的优势(引用[1]),它简化了构建过程,尤其适合大型复杂项目(引用[3]提到,编写Makefile对于大工程很复杂,而CMake可以自动生成)。同时,它支持多种编译器和平台,具有更好的跨平台性。 - 缺点:需要编写CMakeLists.txt文件,虽然比直接写Makefile简单,但依然需要学习其语法(引用[3]提到)。 根据引用[3]:“CMake工具能够输出各种各样的makefile或者project文件,从而帮助程序员减轻负担。但是随之而来也就是编写cmakelist文件,它是cmake所依据的规则。” 这说明CMake通过抽象层简化了构建过程,但并没有完全消除配置工作。 总结对比: | 特性 | Automake (Autotools) | CMake | |---------------|---------------------------------------|-------------------------------------| | 跨平台性 | 要针对Unix-like系统,可植性好 | 支持多平台(Windows、Linux、macOS等) | | 易用性 | 配置步骤繁琐,学习曲线陡峭 | 相对简单,但需要学习CMake语法 | | 构建文件生成 | 生成Makefile和config.h | 可生成多种构建文件(Makefile, VS项目等) | | 适用项目规模 | 适合各种规模,但配置复杂 | 特别适合大型复杂项目 | | 社区和流行度 | 在开源项目中广泛使用,尤其在Linux领域 | 近年来非常流行,被许多项目采用 | 因此,选择哪个工具取决于项目需求: - 如果项目需要高度可植性,并且要运行在Unix-like系统上,Automake可能更合适。 - 如果项目需要跨平台(包括Windows),或者希望构建过程更简单,CMake可能是更好的选择。 §§相关问题§§ 1. Automake和CMake在跨平台构建方面具体有哪些不同? 2. 如何将一个使用Automake的项目迁到CMake? 3. CMake和Automake在性能上有什么差异? 4. 除了Automake和CMake,还有哪些流行的构建工具?</think>### Automake vs CMake 优缺点对比 #### 1. **Automake (GNU构建系统)** **优点**: - **跨平台兼容性强**:通过`autoconf`自动检测系统特性(如库依赖、编译器差异),生成高度可植的构建脚本[^1][^2]。 - **标准化流程**:与`automake`和`libtool`集成,提供统一的`./configure && make`工作流,降低用户使用门槛[^1][^4]。 - **成熟稳定**:在Linux开源生态中广泛应用(如GNU项目),社区支持完善。 **缺点**: - **配置繁琐**:需编写`configure.ac`、`Makefile.am`等多文件,开发步骤复杂(需运行`autoscan`、`aclocal`等工具链)[^2][^4]。 - **学习曲线陡峭**:需掌握M4宏语法和Autotools工具链,调试困难。 - **灵活性受限**:要生成Makefile,难以直接支持非Unix平台(如Windows)或现代IDE[^3]。 --- #### 2. **CMake** **优点**: - **跨平台支持更广**:可生成多种构建文件(Makefile、Visual Studio项目、Xcode工程等),无缝支持Windows/macOS/Linux[^2][^3]。 - **语法简洁高效**:使用声明式`CMakeLists.txt`,代码量比Automake减少30%-50%[^3][^4]。 - **模块化与生态**:内置包管理(`find_package`)、模块化配置,且支持现代特性(如C++20/CUDA),Qt、LLVM等大型项目广泛采用。 **缺点**: - **系统探测能力较弱**:依赖开发者手动定路径或变量,不如`autoconf`的自动检测全面[^1][^2]。 - **版本兼容问题**:新旧版本语法差异较大(如`target_link_libraries`行为变化),升级可能需修改脚本。 - **生成文件冗余**:生成的中间文件(如CMakeCache)较多,目录结构较复杂[^4]。 --- #### 3. **核心对比总结** | 维度 | Automake | CMake | |--------------|------------------------------|-------------------------------| | **跨平台性** | 优秀(Unix-like系统) | 卓越(全平台+多IDE支持) | | **配置复杂度**| 高(多步骤+宏语法)[^2][^4] | 中(单一CMakeLists文件)[^3] | | **学习成本** | 高(需掌握M4/Autotools链) | 中(类Python语法) | | **适用场景** | Linux传统开源项目 | 跨平台新项目/大型工程 | > **选择建议**: > - 优先**CMake**:若需支持Windows/macOS或现代IDE(如VS Code),或追求开发效率[^3]。 > - 考虑**Automake**:若深度依赖Unix生态(如内核模块),或维护历史GNU项目[^1]。 ---
评论 45
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值