Clear Sky Science · zh

超越 FAIR 的代码:可重用研究软件路线图

· 返回目录

为什么科学背后的“隐形代码”很重要

从绘制星系到解读 DNA,几乎每一项现代科学突破的背后都有软件在默默承担繁重工作。然而这些代码常被视为事后附带的东西:隐藏、脆弱且难以被他人重用或检验。本文主张,如果我们想要可置信、可重复的科学,就必须把研究软件视为核心的科学产出,而不是一次性工具。作者提出了一个名为 CODE 的实用路线图,帮助研究人员和机构将当下的零散脚本转变成可靠且可共享的构件,为未来的发现打下基础。

Figure 1
Figure 1.

科学为何日益依赖软件

在短短几十年间,软件已成为几乎每个研究领域的核心。研究表明,现在近一半的科学论文提到软件——无论是用于数据分析、控制仪器、模拟复杂系统,还是作为主要研究产出。与完成的论文或静态数据集不同,软件是一个“活着”的对象:随着错误修复、功能添加以及新贡献者的加入而不断变化。同一程序的多个版本并存,并且每个版本都依赖于操作系统和库等脆弱的环境。环境中的微小变化就可能改变结果或导致代码完全失效。这种活体、相互依赖的特性意味着为静态文件设计的传统数据共享原则不足以使软件真正可重用。

从 FAIR 到 CODE:重新思考研究工具

过去十年,FAIR 原则——可发现、可获取、可互操作、可重用——改变了科学家处理数据的方式。尽管将 FAIR 扩展到软件的尝试取得了重要进展,作者认为软件还需要更有针对性的指导。借鉴自由与开源软件社区多年的经验,他们提出了围绕四大支柱逐步推进的路线图,恰好拼出 CODE:Open、Document、Execute、Collaborate。路线图不是一开始就要求完美实践,而是分层设计,使缺乏正式软件工程训练的研究者可以逐步采用更好的习惯,而更成熟的团队则可以追求更高水平的健壮性与开放性。

让代码开放、可理解且可运行

在“Open”支柱下,作者敦促科学家停止通过电子邮件发送压缩包来应对请求,而应把源代码发布到可跟踪历史并支持协作的公共开发平台上。他们强调在专门基础设施(例如全球源码档案)中进行长期归档的重要性,以便即便某个托管站点关闭,项目仍能可用。明确的开源许可和清晰的署名也很关键,这样他人才能知道法律允许的使用方式以及应当致谢的人。“Document”支柱则着重于让软件可理解:使用有意义的命名,添加解释思路而非重复代码的注释,提供简单示例和教程,并为用户实际交互的程序部分撰写独立的参考文档。

确保结果可重现并易于共享

“Execute”支柱针对一个常见的挫败感:代码虽然存在,但无法在他处运行。路线图建议作者列出程序依赖的硬件与软件,在可能时提供可复用的计算环境(通过容器或专用包管理器)、提供测试套件以便用户在自己机器上检查软件行为是否正确,并共享真实且可执行的用例以反映典型分析流程。最后的“Collaborate”支柱鼓励开放且持续的参与:回应错误报告与功能请求,说明是否以及如何欢迎外部贡献,诚实说明支持的范围有限时的情况,并在合适时通过教程、研讨会与指导构建社区。综合这些步骤,可以把孤立的研究代码转变为许多人都能信任并改进的共享工具。

每个人在支持更好研究软件中的角色

文章明确指出,个别研究者无法单靠个人力量解决软件问题。机构应当投资专门的研究软件工程师,在招聘与晋升中认可软件成果,并提供管理良好的代码托管平台。资助机构应支持广泛使用工具的长期维护,而不仅仅资助新工具的创建,并鼓励默认采用开源许可,以帮助应对可重复性危机。图书馆可以扩展其传统职能,帮助归档软件、管理标识符并整理目录,使重要程序更易被发现。出版商则被要求确保发表结果背后的代码真正被共享、与文章链接并越来越多地接受审查,就像论文本身一样。

Figure 2
Figure 2.

这一路线图对科学未来的意义

作者的结论直白:良好的科学如今依赖于良好的软件,而良好的软件不会凭空出现。他们的 CODE 路线图为从当下隐藏脚本的拼凑走向一个研究代码开放、说明清楚、可在他处运行并由多人改进的生态系统提供了现实路径。只要遵循这些步骤——并让大学、资助方、图书馆和期刊各尽其责——科学就能更接近一个不仅在首次公布时令人印象深刻,而且在多年后仍可验证、可重用并持久保存的世界。

引用: Di Cosmo, R., Granger, S., Hinsen, K. et al. CODE beyond FAIR: a roadmap for reusable research software. Sci Data 13, 514 (2026). https://doi.org/10.1038/s41597-026-06705-6

关键词: 研究软件, 开源, 可重复性, 软件可持续性, 开放科学