现代科学就是开源软件

Science Is Open Software

我坚信,现代科学本质上就是开源软件。在学术界,代码常被视作次要的“时间黑洞”,但事实恰恰相反:软件是我们编码和共享预测模型的唯一方式。如果研究成果无法通过代码复现、修改和验证,它就无法融入我们的认知模型,也就失去了科学价值。从气候模拟到医疗算法,软件错误已导致无数论文被撤稿。真正的科学革命要求我们将代码视为可执行的数学模型,利用 NixOS 确保环境复现,并像维护 Wikipedia 一样协作迭代。只有坚持开源,科学才能在数字时代实现真正的透明与加速。

如果想法无法复现,研究成果就无法扩展,因此也就毫无用处。
  1. D-Machine

    在当下,科学确实应该更像这样。

    但除非学术界被彻底摧毁,或者科学能真正与现代学术体制剥离,否则这永远无法实现。当前的学术激励机制完全错了:低质量的研究因能产出论文而受奖赏,而高质量的研究(往往耗时漫长,且通常揭示出大多数令人兴奋的发表成果依赖于 p-hacking 或其他高度依赖数据的分析及选择性呈现)却要么无法发表,要么在同行评审阶段被有意阻挠。

    因此,你得到的尽是些胡扯的论调,声称出于各种隐私顾虑无法公开数据(事实上,绝大多数数据集去除识别信息都易如反掌,即便在需要考量 k-匿名性的更复杂数据集中,发布能复现核心分析的数据也依然轻而易举)。除非与科技和工业界挂钩,否则学术科学正日益变得无关紧要;而在工业界,生产垃圾确实会带来真实的负面经济后果和个人代价。

    我不知道这篇文章/帖子存在于哪个世界,但那绝不是充满混乱的真实世界。

  2. flopsamjetsam

    > 每一项结果都能即时复现。当你读到一篇声称新药能将症状减轻 30% 的论文时,只需点击一个链接,就能在浏览器中观看确切的分析运行过程。数据处理、统计检验和可视化将在几秒钟内执行,使用的是作者所用的同一环境——通过可复现的容器完美保存。

    至少部分期刊已将此作为规定,例如:https://www.nature.com/nature-portfolio/editorial-policies/r...

    特别是“数据可用性”和“计算机代码及算法的可用性与同行评审”。

    然而,据我有限的经验,在尝试复现某些 scRNA-seq 处理流程时,实际上从来不会仅仅提供一个 Github 链接。我能理解有些(或许多)研究人员的代码状况不佳,因此我认为要求这些代码可用确实有些强人所难。

    不过,我确实认为尝试使其可用是值得称赞的。这对我过去的工作肯定会有很大帮助。

  3. enbugger

    > NixOS 正迅速成为最大、最好的工具。它能保证你的代码在未来 100 年也能以完全相同的方式运行。Docker、Conda 和类似工具固然不错,但 NixOS 提供了更全面的保障。

    我讨厌这种把话说得像既定事实的调调。敢不敢解释一下为什么?尤其是与 Docker 相比。NixOS 甚至还没有标准化。没有任何保证说它不会在不久的将来被某个后继者(例如 Guix)所取代。

  4. willtemperley

    > 现代科学等同于开源软件。

    复现性面临的另一个问题是底层数据的开放性。许多学者对“放出金鹅”感到恐惧,而软件若没有数据往往毫无用处。

    然而,许多科学家确实公开开展工作,例如《开源软件期刊》(The Journal of Open Source Software):

    https://joss.theoj.org/

  5. random3

    科学是开放的,但科学不是软件,软件也绝对不是科学。

同日更多故事

2026-09-19