关闭

保存和参考研究软件

开放科学的支柱

“软件应该被视为一种合法的、值得信赖的研究产品。” -软件引文原则

“不可重复的单一事件对科学没有意义”

-卡尔·波普尔,《科学发现的逻辑》,1934年

有时,当您没有软件时,您就没有数据

-Christine Borgman,JNSO 2018年

归档和引用软件构件的指南

全程引导你

三个简单步骤

软件遗产允许无缝归档你的研究软件工件,以及添加到你的研究文章精确参考文献到源代码的特定版本,下至单个源文件的片段。这样可以显著提高审阅者对您的工作的体验(例如文物评估委员会),更广泛地说,您的所有读者(其中一个读者甚至可以几周、几个月或几年后!)。 

步骤1:准备公共存储库

确保您的源代码托管在一个可公开访问的存储库(Github、Bitbucket、GitLab实例、institutional software forge等),使用其中一个版本控制系统由软件遗产支持,目前是Subversion、Mercurial和Git。跟随公认的最佳做法,在源代码树的顶层包括以下文件:

  • 自述文件
    包含软件说明(名称、用途、指向网站的指针、文档、开发平台、联系人和支持信息等)
  • 作者
    软件需要记入贷方的所有人员名单;如果要指定每个人的角色,我们建议使用Inria详细阐述的贡献者分类法.
  • 许可证
    项目许可条款。对于开放源代码许可证,请使用标准SPDX许可证名称。对于大型软件项目和开发人员,我们建议查看重新使用过程和工具。
  • A代码元。json格式
    链接的数据元数据文件将有助于为软件遗产档案中的源代码编制索引,并提供一种链接到其他相关研究成果的简单方法。代码元主动获取更多信息码元发生器工具。
第二步:保存代码

正确准备代码存储库并更新后,您需要:

  • 软件遗产保存代码现在页面,
  • 在下拉列表中选择您的版本控制系统,
  • 输入代码存储库url(开发平台提供的克隆/签出url),
  • 单击Submit按钮。

就这样,一切都结束了!无需创建帐户或提供任何类型的个人信息。如果您提供的url是正确的,软件遗产将存档您的存储库及其完整的开发历史,不久之后。如果您的存储库托管在一个我们已经知道的主要伪造上,这个过程将只需要几个小时;如果您指向我们以前从未见过的位置,则可能需要更长时间,因为我们需要手动批准它。注意,您还可以通过编程方式请求存档,使用专用软件遗产API入口点.

第三步:参考你的作品

一旦源代码被归档,有很多方法可以在文章中引用它。三个常见的用例是

  • 添加链接到完整存储库在软件遗产中存档
  • 将链接添加到软件项目的精确版本
  • 将链接添加到源代码文件的精确版本,下至代码行的级别。

完整的存储库

指向在softwareherital中归档的完整存储库(包括其所有开发历史)的链接是通过在请求存档时使用的URL前缀来获得的https://archive.softwareeheritage.org/browse/origin。例如,如果保存的存储库是https://github.com/rdicomo/parmap,则指向软件遗产中保存版本的链接将为

https://archive.softwareeheritage.org/browse/origin/https://github.com/rdicomo/parmap/

通过这个链接,你的读者可以广泛浏览存储库的内容,深入研究其开发历史和/或目录结构,深入到每个文件。

使用软件遗产内在标识符(SWHID)

软件遗产提供了完全文档化的标准标识符模式,称为SWHID公司,为任何软件构件配备内在的标识符。可以找到使SWHIDs成为可重复性标识符的特性的完整讨论在一篇专门的研究文章里,你可以在一篇专门的博客文章中了解更多关于其日益普及的信息.

SWHID可配备丰富的限定词这可以使给定工件被看到的上下文变得精确。

这里我们只举几个例子说明如何使用它们。

项目的特定版本

以下SWHID标识精确版本Parmap的源代码:

swh:1:版次:0064fbd0ad69de205ea6ec6999f3d3895e9442c2;起源=https://github.com/rdicomo/parmap

SWHIDs可以通过在其前面加上前缀来变成一个可点击的URLhttps://archive.softwareheritage.org/。所以,下面的(超链接)会直接带你进入软件遗产中的一个页面,它正在浏览那个精确的版本(试试看!)

https://archive.softwareheritage.org/swh:1:版本:0064fbd0ad69de205ea6ec6999f3d3895e9442c2;起源=https://github.com/rdicomo/parmap

获得正确SWHID的一个非常简单的方法是浏览软件遗产中的归档代码,并导航到您感兴趣的修订版。然后单击永久链接垂直红色标签在归档文件的所有页面上都有,并且在打开的选项卡中选择修订标识符。 

SWHIDs的版本1使用git兼容的散列,因此如果您使用git作为版本控制系统,那么只需在前面加上前缀就可以创建正确的SWHIDswh:1:版次:到你的提交哈希。

代码片段

软件遗产支持的SWHIDs允许您更进一步,通过使用行=可用于指向文件的标识符的限定符。例如,下面的SWHID展示了内容SWHID的所有可用限定符,它指向Parmap源代码中的核心映射算法,如2012年描述Parmap的一篇研究文章所述:

swh:1:cnt:d5214ff9562a1fe78db51944506ba48c20de3379;起源=https://gitorious.org/parmap/parmap.git;访问=swh:1:snp:78209702559384ee1b5586df13eca84a5123aa82;锚=swh:1:版次:0064fbd0ad69de205ea6ec6999f3d3895e9442c2;路径=/帕尔玛。毫升;行=101-143号

通过单击进行测试此链接:您将在显示相应源代码的页面上无缝地进入软件遗产档案,并突出显示相关行。

在这里,您也可以通过导航到您对存档感兴趣的代码片段获得确切的链接,单击片段第一行的行号,按住shift键并单击最后一行,然后打开permalinks选项卡。

软件书目条目

最后但并非最不重要,biblatex软件,充分利用SWHIDs的书目样式是现在可从CTAN向BibLaTeX用户提供。请参阅文件去那里了解更多!

去找导游

最新版本的软件遗产的研究软件指南和演练与乳胶的例子,可以在这里下载。

下载指南
为指南投稿

本指南的源代码本身是可用的,并在CC-BY 4.0许可证下分发。欢迎您为改进它作出贡献。它将定期更新。

访问指南的源代码
加入社区

我们提供了一个邮件列表,用于在科学界共享软件遗产的研究方面的信息,欢迎您加入。

订阅列表