- A+
计算机软件的创建者支持了科学实验的开展,但他们总是未能得到应有的重视。为此,Depsy网站正在尝试追踪研究软件代码的影响力。
对于专攻代码的研究人员来说,回顾他们工作价值的学术标准似乎一点儿也不公平。他们能够耗费数小时来开发出支持研究工作的软件,但如果这项工作最终没有以研究论文的形式发表(同时附有引文),那么评测其影响力的途径就极其有限了。
以Klaus Schliep——波士顿麻省理工大学(University of Massachusetts)一位专攻进化生物学的博士后研究员——为例,他的Google学术主页上列出了自己著成的学术论文——包括高引用著作,一篇阐述系统发育软件(软件名为phangorn)的文章。然而,这篇文章并没有提及Schliep对其他人的软件所作出的贡献。Schliep认为,与撰写论文相比,编程就好比是科学界的二等工作。
幸而,Depsy网站如同天使般出现在人们的眼前。这个免费网站创建于2015年11月,致力于“评测为科学注入力量的软件的价值”。
在该网站上,Schliep的描述表明,他已对7个软件包贡献了部分力量,因此phangorn分配到34%的点数。那些软件包总共接收了2600多次下载量,并受到89篇可公开获取的论文引用,同时在其它软件中得到极大的再利用。上述成果使得Schliep在该网站所有编码员的影响力百分位中居第99名。因此,他十分肯定Depsy网站,认为其在发现他本人的软件贡献方面做得很好。
那么Depsy到底是如何做到的呢?网站创建者的愿景是,希望平台能为研究人员提供一个透明而有意义的方式,来追踪他们开发软件的影响力。平台背后的技术由Impactstory(一家建于加拿大温哥华的非盈利公司)开发。该公司创建于四年前,致力于为科学家追踪在线成果的影响力,那不仅包括论文,还有博客帖子、数据集和软件,并通过多种指标——比如Tweet消息、观点、下载量、代码再利用以及传统的被引用率——来评测它们的影响力。
Impactstory公司由美国国家科学基金会(US National Science Foundation)与多家慈善基金会共同资助,该公司的共同创始人Jason Priem认为,事实上,Depsy将科学软件视为“幕后英雄”。
英国爱丁堡软件可持续发展研究所(Software Sustainability Institute)的创办负责人 Neil Chue Hong提出,人们需要像Depsy网站这种类别的工具,因为年轻的研究人员对编程怀有很大的热情,但目前少有认可科学家自创软件的途径。去年,他开展了一项调查,随机筛选了1000名英国科学家作为调查对象,结果表明,超过50%的研究人员将其编写的代码进行开发。尽管如此,仅有很少的英国学者将自己编写的代码或软件作为研究成果列在国家最新的研究质量审计(即“研究卓越框架”)之中,即便某些学科(例如计算机科学)十分倚重软件的力量。对此,Hong表示,这里面有一种文化,支持着“编写和发布代码对研究者没有明显好处”的观念。
追踪软件的应用
追踪学术影响力最为常见的方法——引文计数法——仍然与软件有一定的相关性。研究人员可将对软件的描述写入论文(正如Schliep曾为其phangorn软件包所做的那样),这样,不管是谁,只要使用了这个软件,都会在其随后发表的论文中进行引用。不过,引文计数法并不完美。Priem对此进行了驳论,他认为,由于某个软件包通常会与多篇论文相关,研究人员可能不知道到底要引用哪篇文章。另外,有些关键的软件项目(比如GDAL Python library)是不会写入正式论文里的。
如果软件无法链接到论文,那么就没有公认的方式使之得到引用了,那该怎么办呢?德国汉诺威在线知识库DataCite的技术总监Martin Fenner表示,目前颇为普遍的方式是:编码员在其编写的代码上签署数字对象标识符(digital object identifiers, DOIs),同时增加数据集。通常,软件首先储存在公众代码库GitHub内,在那儿,拷贝可以自动存档到学术库(比如Zenodo或Figshare)中,并将DOIs分配到软件中,从而使之成为一个可引用的对象。当然还有别的项目,试图确保研究论文以标准形式——比如用研究来源标识符——来引用软件。
但是,只对软件DOIs进行引用计数是不够的。由于软件通常都无法得到引用,因此不管是论文抑或其它标准形式,都无法显示编码员在科学界的完整影响力。2015年,一项分析随机抽取了90篇生物学论文,结果发现,有三分之二的文章都非正式地提到了对软件的应用,但实在地对软件包进行引用的不足一半。
Priem表示,Depsy通过研究论文进行搜索,以发现文章对软件的引用以及非正式的提述。毫不意外,搜到了许多结果,它们位于学术论文的致谢部分或者正文中。不过,Priem也承认,网站也有局限性,就是目前只能搜索公开获取的研究论文——却缺失了大量有付费壁垒的学术内容。但Impactstory公司将与出版商进行交涉,争取获得他们的许可,以挖到更多需付费的文献内容。
Priem还说,研究论文的提述只是Depsy追踪软件影响力的三大途径之一。第二种方法是追踪代码被其他人再次使用的情况。说到这儿,就不得不提起Depsy的起名由来——“相关性网络”(dependency network)的缩写,这是一个含义丰富的词儿,意指多种因子相互依赖。例如软件包再利用源自其它软件包的代码。Depsy利用Google的PageRank算法(该算法主要关注较出色的软件再利用),计算出代码再利用的程度。对此,Priem表示,有针对影响力评测的观点认为,编码再利用的实例很可能比被文献引用更有意义。
网站的第三种方法就是通过CRAN和PyPI工具来收集代码软件包的下载量。这两个工具是用于软件编写的程序语言主数据库,分别储存目前流行的R和Python程序语言。
关注研究
还有网站也在做Depsy提供的服务。比如Crantastic,就是一家追踪最流行的R软件包的评审网站。通过追踪源自PyPI的下载量,PyPI列出了最流行的Python模块。此外,还有少数商业部门如VersionEye 和Libraries.io,通过追踪相关网络来说明哪一个软件需要依赖哪些软件包。
Priem认为,Depsy的与众不同之处在于关注研究软件,它通过识别软件的关键词、描述以及名称来区分不同的代码——尽管其分类过程并不完美。该网站还追踪其它代码,但若是仅计算学术成果(比如Schliep)的影响力排名百分位时,它就会将研究软件囊括进去。
Depsy会将少量点数分配给为软件包作出贡献的每一位参与者,这是通过计算他们贡献或编辑的代码百分数的方法产生的。这在编程界被称为个人提交(personal’s ”commit”)。每一个提交者的指纹都被保存在代码中,这样就能轻易追踪到原创者。但是,并非每一个编辑都有同样的影响力,目前,Depsy仍无法区分重要贡献者和平凡者的价值。Priem表示,下一步,可能需要通过追踪个人提交的影响力对这个工具进行改编,以尝试进行这方面的区分。
Depsy还能让用户判定特定学科中具有最高影响力的软件。比如说,在Depsy中搜索“天体物理学”,就会产生11条软件包信息,其中一个叫做“yt”的天体物理学模拟分析及可视化工具箱软件具有最高的影响力,它在所有软件中居第97位。
发展的阻力
Hong表示,Depsy的局限之一就是只能追踪公众数据库中的代码——也就是说,它无法显示商业软件的影响力。此外,该网站只能追踪用两种编程语言(R和Python)编写的软件。
不过,Depsy创建者的最终目的包含了其它编程语言,这就加入了第四种评测软件影响力的方法:他们将考虑软件的社会影响因子——让GitHub用户给软件评星级,看某款软件收到的星级数目,以及受到在线评论的次数。
此外,网站的代码再利用指标也有局限性。研究人员通常会再次使用自己的代码,但可能会通过重复进行来“欺骗”Depsy,从而获得更高的评测分数——相当于自己引用自己的论文。Fenner警告说,研究人员还可能用于“欺骗”网站的方法恐怕是开展大量项目,但就是不结题,而让他人去完善它们;这样,项目原创者就可能在得到完善后的软件版本成为主流时提出点数要求。
对此,Priem表示,他倒是愿意去跟试图“欺骗”Depsy的人们见个面,因为这意味着人们重视软件的再利用。
最后,Hong希望,描述代码影响力的透明指标将会使软件原创者在大量的评论氛围下获得更多的资助。他表示,科学编码员应该得到更多的资金和支持,但若要达到这一程度,需要每一位参与科学研究的人们的文化改变。正如他所言,真正的讽刺就是利用了软件却得不到回报,如果那样,那么我们就真是给科学的道路上添堵了。