活久见,抄袭竟是重用他人代码没有致谢?

2023-10-15 06:59

本文主要是介绍活久见,抄袭竟是重用他人代码没有致谢?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

公众号上有人说这篇文章写得没有来龙去脉,这的确是我的问题,所以我放一个前言部分,带大家看下回顾一下事件。
Y叔在公众号开了一个系列叫做从业超过10年,未见过如此厚颜无耻之人 揭露他在科研生涯里面遇到抄袭者是如何被杂志编辑洗白的故事。

随后科学网的一名博主,发文BMC Systems Biology没有学术不端 认为这不是抄袭,是代码重用。虽然哪位博主肯定觉得自己是对的,估计不会删除文章,但是为了事件的连贯性,Y叔在Github做了一个备份, https://github.com/GuangchuangYu/GOSemSim/issues/15

最后,我看了回应文之后,总感觉哪里不对劲,于是写了这篇文章。如果您想围观事件,可以一篇一篇看下,如同看辩论赛一样。如果只看这篇,您估计会摸不着头脑的。

正文

今天在学车的时候,Y叔给我发来一个链接BMC Systems Biology没有学术不端, 问我怎么看。我能怎么看,当然是点开链接看了,看完之后对文章作者很是佩服,毕竟这篇文章还上了文章所在的科学网的首页了。

截止目前,这篇文章的阅读量已经快3000阅读了。我看了一下评论区,发现有人评论“薛宇老师已经一年多没出现了“。果然上篇关于黄金大米的文章是2016年8月7日,刚刚好1年,不知道是不是巧合,总之Y叔是把这位这蛰伏许久的知名人物给请出来了。

有点离题,不过是为了致敬这位薛老师,毕竟人家也没有一开始就谈Y叔的故事,反而是花了很大一段笔墨讲了他,老马,R教授关于文章引用的故事。最后得出一个结论“科学研究中100%不出错是不可能的,有错也分无意和恶意,不能一概而论”。这让我不禁想起了初中看的《心灵鸡汤》,故事生动形象,最后得出一个很有道理的结论。

我同意这个结论,“科学研究中100%不出错是不可能的,有错也分无意和恶意,不能一概而论”,他说的故事也是非常好的论据,并且到这里为止,薛老师都句句在理。之后终于开始讨论Y叔的事情。BMC Systems Biology有没有学术不端?HPOSim、DOSim和GOSim代码相似是否属于抄袭?

他的第一个观点是:BMC SystemsBiology没有学术不端, 并且继续强调“科学研究中100%不出错是不可能的,有错也分无意和恶意,不能一概而论”。然后用非常娴熟的写作技巧,提及了R教授没有正确引用的事情,然后还以自己非常强大的见识,举了知名期刊如何处理“没有引用他人工作”作为案例。最后定性ppiPre究竟属于哪种情况。

答:正式的名称叫“重用他人代码没有致谢”(Unacknowledged reuse of other code),属于比较常见的学术不规范行为

如果我没有看过Y叔写的文章,我看他有理有据,肯定点头认同。只不过我看过,而且为了验证到底是不是“重用他人代码没有致谢”,又去看了一遍,所以我恨怀疑薛老师到底有没有仔细看过Y叔写的文章学术期刊的学术不端,你见过吗?, (博文放的是临时连接,这里改为微信的永久链接,薛老师有一点不严谨,当然不能怪他,他不懂), 或许可能是没有看懂plagiarism吧。

Y叔说的明明是抄袭,并且ppiPre2/3代码除了名字不一样,其他一模一样。
Y叔说的明明是抄袭,并且ppiPre2/3代码除了名字不一样,其他一模一样。
Y叔说的明明是抄袭,并且ppiPre2/3代码除了名字不一样,其他一模一样。

我写了三遍,希望这次薛老师能够看清楚。不然现在发论文就太容易了,看懂别人的代码,然后用自己的话翻译成英文就可以发 BMC Systems Biology ,而且还能被人定义为重用他人代码没有致谢

因为懂点常识的人,发现A写了程序A西实现某功能A,B“写”了程序B也实现了功能A,并且程序A和程序B基本一模一样,这难道不是抄袭?薛老师还希望通过偷换概念,把代码抄袭替换成重用,居然会有这种操作,在下佩服。

同样HPOSim、DOSim和GOSim代码相似属于抄袭,并非是薛老师口中的重用他人代码没有致谢

“dosim的文章,并没有说他实现的方法来自gosim,而也是假装是自己的。而引用gosim的地方是,用go和kegg来验证一下dosim分析的结果。而那个go的验证,用了gosim,这和dosim说自己实现什么计算方法,没有任何关系”--From Y叔


2013053-9fa2723dd4720ac5.jpg

当然和薛老师观点一致的还有一位王军亮先生,他在Y叔的文章下写了下面这一段话。抄代码不是重点,我们要注重科研创新,很有成王败寇的想法,如果你做科研,希望你不要遇到。

2013053-b813f68218f7e333.png

2013053-7d733ab13b4ba136.png

后面又来一个人继续纠结开源协议,还特地去翻开源协议的说明。我真觉得你们给开源协议抹黑,强行用开源协议来给抄袭开脱。

2013053-81b3f26516b6af86.png

薛老师还认为Y叔的处理方式是不对的, 我直接引用他的原话好了。

最后,这个系列文章里讲的事情,事实上从一开头的处理就不合适。处理学术研究中的各种问题和纠纷,这里面要讲个方式方法。第一,GOSemSim这篇文章,除了Y同学以外还有一位共同第一作者,并且还有两位共同通讯作者,所以一般得先是向通讯作者汇报,最后由通讯作者代表所有的作者写信给对方或者编辑部。为什么要这样?这是因为论文发表,杂志社都会要求通讯作者签署版权或者协议(Copyright or license),这样以后出现与这篇文章相关的问题,通讯作者有责任也有义务来解决。第二,一般通讯作者会更有经验,对问题把握会更准确,出手也会比较注意尺度和力度,这样编辑看了会觉得有说服力,而且通讯作者一般也大致会对处置的结果有比较准确的预判。例如,用了我的东西没有引用也没有致谢,不管是我学生还是我发现的,最后都是我去写信批评人家。

我刚读研究生不久,其实不太懂科研圈的套路,所以后面部分大家将就看,如果有哪里不对,请指正。

我一直认为这个世界很多复杂的事情可以由比较简单的道理进行解释,比如说学开车,所有动作的出发点就是安全,起步的时候要按喇叭,打转向灯,变道要打转向灯等几秒,这样做是为了保证交通安全。

那么科研的出发点是什么呢?我觉得是诚信,一旦不诚信,就开始各种造假,伪造数据,抄袭等等,那么科研就不是追求真理,而是为了钱途。按照“诚信”这个出发点,如果你看到别人学术不端,你是否应该去揭发这个现象?按照薛老师的逻辑是,不,让通讯作者来,你的老板来,如果你的老板和对方存在利益关系,觉得息事宁人比较好,你就不需要自己写信和编辑说了,毕竟你的经验不够,就像大人经常和小孩子说“你还小,还不懂”(可能有过度解读的嫌疑,请大家用自己的逻辑自行评判)。

最后以薛老师的话结尾,毕竟他除了中间偷换概念,企图洗白ppiPre以外,说的道理,我都是赞同的:

最后,学术研究中碰到的问题,应该有合理的解决方法。科学家应当自律,我们做研究一定要严谨,失误虽然不能避免,但有错就应该及时道歉和纠正.

一些反思

在争论中的人,一般都是认为自己是正确的,觉得对方蠢得不行。因此,我也要从善意的角度上看待别人,而不是认为薛老师诚心和Y叔过不去。
薛老师,在文章中只提到了[连载1]:学术期刊的学术不端,你见过吗?[从业超过10年,未见过如此厚颜无耻之人,并没有提到[连载2]:Editor你的心不会痛吗?, Y叔在里面写到:

我又等了3个月,依旧没回音!5+2+3=11个月,一年过去了,屁都没放一个。如果我不问,事情就过去了,他们当没事发生!但我必须问,因为事情明摆着,BMC编辑部很有问题!我就不信了,明摆着的事情,还能被你们给操作了!

一年多之后才给一个薛老师认为的“重用他人代码没有致谢”,而不是抄袭的定义。

我不知道薛老师写文章的时候到底有没有看过第二篇,如果没看就贸然下笔,我觉得是不是不妥呀

这篇关于活久见,抄袭竟是重用他人代码没有致谢?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/216111

相关文章

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La