关闭

2019年4月18日

Software Heritage和GNU Guix联手实现长期可复制性

我们的使命收集、保存和共享所有公开可用软件的源代码,包括其完整的开发历史。

为此,我们已经定期从越来越多的源代码中获取和归档源代码:从GNU服务器发布tarball,从GitHub发布存储库,从PyPI获取包,等等。

Software Heritage支持对软件源代码的长期访问,使用户能够检索它,即使它从他们用来查找它的平台上消失,或者更糟糕的是,当平台本身消失时。

今天我们很高兴宣布与GNU Guix合作的第一个结果,这是研究软件长期重复性的垫脚石。

认识GNU Guix

吉他 是GNU项目开发的GNU操作系统的高级发行版已制作再现性 它的核心使命是将其与其他工具区分开来。

这一特性在许多情况下至关重要,尤其是对于可再生科学Guix-HPC工作特别关注。

为此,Guix是围绕包定义构建的,包定义指定了如何(重新)构建包,首先是可以找到包源代码的URL。

此源代码可以是从网站获取的“tarball”,也可以是直接从开发平台签出的特定修订版。

不幸的是,URL可能会中断,项目可能会迁移和开发平台可以关闭,所以GNU Guix最关心的问题之一是:如何确保即使原始源代码不可用,系统仍然可以构建吗?

这就是软件遗产的意义!

由于Software Heritage长期存档源代码,Guix可能会失败如果下载源代码失败,请返回Software Heritage存档从其原始位置。这个后备方案的设计方式,包定义不需要修改:它们仍然引用原始源代码代码URL,但下载机制透明地进入软件遗产需要时。

2018年11月,在Guix中集成了对软件遗产的支持第一个由稳定档案支持的免费软件发行版(详细展示引擎盖下发生的事情可以在Guix博客).

需要做更多的工作来确保Guix包引用的所有源代码在Software Heritage中安全存档,但现在已经迈出了第一大步,显示软件遗产所承担任务的价值。

2019年4月18日