大学教授力挺抄袭,强行洗地到裤衩都不要了,到底图什么?》这篇文章发出来之后,引起大家讨论,有一些小伙伴截了屏给我看。所以我想有必要再讲几句,我这篇文章写两个方面,一方面是重用代码,一方面是文章抄袭,这两方面可以是不相关的,这里的文章抄袭并不特指你抄了代码。

X教授《如何姿势正确的使用他人代码?》,总结起来两个点,一是开源代码随便用,二是文章有引用/致谢就OK。这两个点都是错误的。

重用代码

第二个点是错误的,没人跟我反馈有问题,讨论集中在第一点,很多人觉得开源就是鼓励重用代码,促进发展!开源代码不能够算抄袭!

首先像X教授这样讲的,开源随便搞,是错误的,开源是有协议的,也就是有版权保护的,只不过这个版权允许你重用代码(通常要求一定的acknowledgement,也有不要求的),有些开源项目除了用开源协议之外,还会外加一个file license,作者会有一些额外的声明等等。不同的开源协议要求是不一样的,有一些甚至于允许别人拿去做闭源软件,用于商业用途!开源也是有版权的!一切只能按照协议来,而不是所谓的随便搞。

通常我们会认为保留作者的信息、保留作者的注释,自己的改动要写好注释/文档。保留作者信息,并在文档中指出重用了某人的代码,这是对原作者的尊重,对代码有改动,做好注释,这是对原作者和自己负责,比如你改出问题了,原作者并不为此负责,不能赖在别人头上。

我的代码多半是开源的,我自己也是鼓励重用代码,如果有人在我的工作上做出了更牛逼的软件,我觉得自己脸上也有光,因为这里面也有我的贡献在。

就以GOSemSim为例吧,在CRAN和Bioconductor上,已经被十多个包所依赖。

像Bioconductor包SemDist就重用了GOSemSim的代码,在软件的文档里还特别鸣谢了。

另一个Bioconductor包BioCor,也重用了GOSemSim的代码,并且在提交Bioconductor的时候,也给我写信了:

有人准备写个python版本,我也是代码随便送的:

ppiPre之所以可恶,就是因为违背了开源精神,改函数名、删注释等各种试图去抹除原作者的痕迹,并试图把代码当成是自己的,所以说啊,开源要说人抄袭也很困难,但ppiPre明显就是!正如谢老大在两年前的评论:


文章抄袭

X教授一方面讲开源随便抄,一方面说文章只要引用就好了,明明我在《祝你们缠缠绵绵到天涯》一文中,也是有写出来,引用得看怎么个引法!着重说了proper citation一词,他的「正确姿势」说是为了回应我的文章写的,但没见它回应引用得怎么样这一点,只谈引用是不够的,引用得为审稿人提供评估文章的信息,你的软件是某个软件的基础上修改/扩展而来的,你的引用就得有这信息,而如果你在不相关的信息上引了,而却把别人的工作当成自己的工作来介绍,像ppiPreGOSemSim做的东西,当成他们自己的工作,试图让审稿人觉得他们做了很多工作,这就是抄袭。有必要再放抄袭的概念在此处:

plagiarism |ˈpleɪdʒərɪz(ə)m|

the practice of taking someone else’s work or ideas and passing them off as one’s own.

抄袭与代码重用,是两码事,你只要把别人的工作当成自己的来介绍,必定是抄袭无疑。只不过ppiPre这个事情,和代码夹杂在一起而已。此处我必须指出的是,说他抄袭,并不是指抄代码,而是某些人试图去冒认别人的工作!

  • PS1: 我不反对别人抄我代码
  • PS2: ppiPre 代码与文章,都是在冒认别人的工作,都是抄袭!

抄袭系列