别再把写代码当作小事:记录、分享并重视它
作者: aeks | 发布时间: 2025-10-07 19:35 | 更新时间: 2025-10-07 19:35
学科分类: 信息与通信工程 控制科学与工程 计算机科学与技术 软件工程

在当今科学研究中,软件已成为不可或缺的工具——无论是进行气候模拟、解析蛋白质结构,还是探索宇宙演化,都离不开代码的支持。科学家用软件设计实验、收集数据、分析结果、控制仪器,甚至保存研究成果。然而,尽管软件如此重要,它在科研体系中的地位却常常被忽视。一方面,软件像研究数据一样支撑着科学发现,应当公开、保存;另一方面,软件又需要持续更新和维护,这使得传统的数据管理方式难以适用。
目前,学界普遍尝试用‘FAIR’原则(即可发现、可访问、可互操作、可重用)来管理科研软件。但这一做法对软件而言负担过重:每次版本更新都要重新提交元数据、调整作者列表、记录依赖关系等,对于频繁迭代的项目来说几乎不可行。尤其当一个软件有数十名贡献者时,这种行政流程会耗费大量时间,而开发者本就缺乏足够的认可与资源支持。
为此,我们提出‘超越FAIR’(CODE beyond FAIR)的新思路,主张从文化、制度和技术三方面改进科研软件的管理。首先,应加强科研人员的软件工程培训。所有博士生在入学初期就应学习基本编程、版本控制和代码文档撰写技能。许多顶尖高校如斯坦福、哈佛、牛津和剑桥已开设相关课程,甚至将其设为必修内容。此外,国际组织如The Carpentries和Neuromatch Academy也提供了面向全球研究者的实践培训,涵盖从基础命令行操作到机器学习等广泛主题。
其次,出版机构应在论文发表时强制要求代码共享与归档。只需一键操作,即可将代码存入GitHub或Software Heritage等平台,确保其长期可查。同时,研究机构应推动不同系统间的互联互通,例如通过欧洲开放科学云(EOSC)实现跨项目引用。
最后,必须简化软件发布的流程,避免繁琐的版权登记和许可选择,鼓励使用宽松的开源许可证,让他人能自由使用和改进代码。只有当整个科研体系真正重视软件的价值,并为其开发者提供充分支持时,科学才能更透明、更可重复、更高效地前进。