计算学者 Jeppe Pedersen 在 2025 年 5 月 24 日发出了一篇引起广泛共鸣的檄文《Science is open software》,主张现代计算科学在本质上必须等同于开源软件。他借用认知学者 Kenneth Craik 关于内在心智模型的经典理论指出,论文若是隐藏运算代码,就像物理学论文拒绝公开推导公式一样荒谬,必将使研究沦为无法验证的空中楼阁。
隐藏运算代码的科研论文,如同扣下推导公式的数学猜想。
然而,单纯把代码打包扔到公共平台上,并不能阻挡计算可复现性危机的蔓延。现实的学术生态正在经历更深刻的规则断层:一边是大量论文连最基础的源码都不愿公开,另一边则是顶尖资助机构开始意识到,随手给出一个随时可能变更的仓库链接根本算不上严谨复现,科研计算正被迫走向深度的工程化重构。
43.5% 的代码真空与伪开源陷阱
计算机科学家 Greg Wilson 早在十多年前就警告过,未经验证的软件缺陷足以毁掉科研人员的职业生涯。今天,从流行病传播预测到气候演变模拟,现代科研结论早已高度绑定复杂的计算依赖链条。一旦软件逻辑出现偏差,建立其上的科学发现便会随之瓦解。但学术界实际交出的答卷令人堪忧。

一项针对 2016 至 2021 年间发表的 480 篇生物医学论文的追踪研究揭示,有 43.5% 的论文既不公开代码,也没有附带任何代码可用性说明;另有 6.6% 的论文虽然在文内声称代码可用,读者实际索取时却拿不到任何实质内容。近半数研究在交付成果时直接扣留了计算黑箱。
更严峻的现实在于,即使作者上传了源码,也不等同于研究可以复现。许多研究者习惯将未经测试的杂乱脚本直接推送到公共代码库,这种做法被称为代码倾倒。没有固定的编译器版本、缺失操作系统依赖、缺乏随机数种子或未指明硬件架构,都会让代码在第三方的机器上报错崩溃。开源只解决了源码的阅读权,根本无法保障计算流程能够重新跑通。
监管转向不可变制品与 DOI 归档
面对代码倾倒带来的虚假复现,学术治理体系正在全面收紧标准。过去被学者们视作便利工具的动态平台链接,正在失去权威机构的合规认可。

美国航空航天局在其颁布的 SPD-41a 科学信息政策指引中明确规定,科研数据与软件必须对外公开,但单一的动态 GitHub 仓库不再符合归档要求。项目团队必须将软件交付给具备持久标识符的静态归档系统,生成不可变的 DOI 凭证。这是因为动态代码库随时可以被作者修改、重命名或删除分支,无法作为承载学术结论的永久证据。
学术界专门为科研软件设立了 FAIR4RS 原则,确立了可发现、可访问、可互操作与可重用的四个维度。这一规范重点厘清了一个行业误区:软件符合 FAIR 原则绝不等于直接等同于开源,而开源也天然无法保证其可执行性。软件是一套具备动态演进与依赖关系的执行载体,需要严密的工程约束。
出版机构的政策也在同步升级。Springer Nature 推行了标准化的代码共享规范,旗下 Nature Portfolio 明确要求论文对核心计算代码提供可用性声明,并接受编辑和审稿人在评审阶段调用审查。PLOS Computational Biology 则采取了更强硬的立场,强制要求作者在论文发表时同步公开直接相关的研究代码。即便是使用 MATLAB 或 SPSS 等商业专有软件的研究,作者也必须在文中明示具体的发行版本号,并完整公开所有执行脚本。
在更底层的验证技术上,刊发于 2025 年 5 月《Future Generation Computer Systems》第 166 卷的一项计算机体系研究,提出了针对复杂计算工作流的 7 项可复现性测试与工作流签名机制。科研计算的评价尺度,正从看作者有没有给代码,全面升级为看外部环境能否一键验证这套工作流。
制度错配与无力承担的工程税
当监管标准迅速向工业级软件工程看齐时,一线实验室却迎面撞上了残酷的现实摩擦力。强制无条件开源在很多应用场景中并不现实。

美国国立卫生研究院的 DMS 数据管理与共享政策虽然极力鼓励学术成果开放,但在实际执行中并未对所有资助项目强制要求开源全部代码。原因在于,许多生物医学计算涉及敏感的人类受试者隐私数据,或是牵涉复杂的产学研专利申报与防扩散合规审查。盲目要求无门槛开源,往往会触发法律和伦理底线。
此外,专有商业软件构建的壁垒同样难以一夜拆除。在很多工程分析领域,一套配置严谨、明确标注了版本的商业脚本,其运行稳定性与复现成功率甚至高于学生仓促拼凑、半年后就因三方库升级而报错的开源脚本。闭源的真正痛点在于高昂的许可费用阻断了公众审计,而不是软件本身无法重复运算。
最深的矛盾依然卡在学术生产关系中。科研界长期奉行不发表就出局的考评传统,博士后与青年学者的时间只向论文数量和影响因子倾斜。编写工程化的高质量代码、编写部署文档、打包容器环境并维护后续提问,需要耗费数月精力,却几乎无法折算成晋升积分。
- 提醒.如果科研评价体系不设立独立承认学术软件工程师价值的晋升通道,严苛的开源监管只会沦为基层课题组无法承受的合规负担,最终催生更多应付差事的僵尸代码。
虽然 Wellcome 基金会与英国医学研究理事会已开始在政策中松绑,允许研究团队在课题申请时直接列支代码管理与软件长期托管的预算,但能享受到这类经费支持的终究只是少数头部团队。在没有普遍的编制保障与资金灌溉之前,单靠道德层面的呼吁,难以真正把冰冷的运算脚本淬炼为能够流传百年的科学基石。
