计算化学公社

 找回密码 Forget password
 注册 Register
Views: 4787|回复 Reply: 5
打印 Print 上一主题 Last thread 下一主题 Next thread

[科研杂谈] JCIM发了一篇反对现在算法研究不公开代码的风气的文章

[复制链接 Copy URL]

56

帖子

0

威望

1232

eV
积分
1288

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 catenarygong 于 2020-11-10 18:08 编辑

acs.jcim.0c01000.pdf (667.63 KB, 下载次数 Times of downloads: 36)

主要是反驳这么几个观点:
1.要求提供代码会让工业界的人不发文章了:举的例子是25年前生物物理学领域开始要求文章提供PDB数据,几十年来也没有发现工业界发表文章减少,而且现在提供PDB数据已经成为了一个常规的习惯;
2.要求提供代码会让软件公司的人不发文章了:反驳的理由是软件公司可以提供原型软件,也可以提供限时的evaluation版本,这都不是问题;
3.公开代码也会很快过时,几年后的电脑未必能跑了,所以公开也没啥意义:公开代码恰恰会让支持时间更长,因为如果代码真的有价值,几年后会有用户社区来解决兼容性问题;
4.不用公开代码,用web把方法放在线上也可以解决问题:只在web上公开计算接口的软件不能对学术社群有所启发;
5.如果你声明你不用于商业用途,也可以公开代码:商业用途不讨好定义,现在很多学术机构也在知识产权保护上非常激进,也利用代码赚钱,这些机构还能叫做非商业机构吗?
6.我们不是专业的程序员,所以代码质量可能不好看:公开恰恰可以让代码变得好看,比如github就有bug上报机制;
7.在竞争经费的时候,公开代码可能让竞争者获得不公平的优势:这是经费审查机构的问题,他们应该建立更统一的判断软件发布的credit的标准和guideline;
8.代码是基于大量的内部架构或者大量的课题组代代相传的代码基础建立的,这些东西不能公开:但是可以依靠一些大家都能获得的toolkit来依照相同的基础算法写一个软件,以及有没有那些旧的代码基础,读文章的人能不能重复其实验结果。

作者本身其实算是工业界的人,所以文章其实有不少私货,比如第八条其实就有点问题,很多不像是指出问题,而是在抱怨自己不能很轻松的拿到代码

但是核心观点我还是比较认可的
很多算法文章写的很好,但是你都拿不到代码,就很难保证可重复性

评分 Rate

参与人数
Participants 2
eV +8 收起 理由
Reason
hebrewsnabla + 5
sobereva + 3

查看全部评分 View all ratings

1043

帖子

0

威望

4106

eV
积分
5149

Level 6 (一方通行)

2#
发表于 Post on 2020-11-10 20:15:47 来自手机 | 只看该作者 Only view this author
如果软件代码公开能授权专利,那我也乐此不疲。搞实验的很容易发专利,搞理论的码农辛辛苦苦写个软件却申请不了国家专利

5万

帖子

99

威望

5万

eV
积分
112351

管理员

公社社长

3#
发表于 Post on 2020-11-11 02:41:27 | 只看该作者 Only view this author
在我看来没必要非要求代码公开,这是作者自愿的事情,关键是要求程序应当公开(并且是直接获取、无需申请)。如果某人提出了一个新的方法,其他人应当能够通过他开发的程序重复出来文中的数据(就算这程序是个半成品、不好用、效率低也无妨,但起码得提供)。

有些单纯介绍程序、甚至只是介绍小程序的文章,作者都不提供程序,这是完全无法接受的事情。就比如前阵子,看到有人发了篇介绍gmx2qmmm程序的文章(DOI: 10.1002/qua.26486),是GROMACS和量化程序的Python接口,我心想总算有人弥补这个空白了,结果一看文章,愣是怎么获取都没提,进一步google也没找到下载地址,真是坑爹。我要是审稿人的话决不答应。

代码公开导致被小人不当利用的行为太多见了,这绝对没有任何办法能简简单单避免,完全不是一个可以被轻描淡写的小问题。我国研究人员把github上的东西加个壳申请奖励已经不是什么新鲜事了。就连我以前写的一些辅助小程序,博文里顺带给了源代码,甚至居然都被小人拿去改了改、在一些山寨野鸡地方上发布并声称是他自己写的。所以我后来开发的一些免费程序,像Shermo、OfakeG等等我都不直接提供源代码了,谁想要源码的话给我发邮件,附上名字和工作单位,我100%给源码。

免费、公开提供程序比给源代码的重要性高得多。像免费的ORCA并不提供源代码,一般用户也没多少人有意见,比起只给源代码而不给预编译的程序的情况,也还省得一些小白在编译上犯难。

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

56

帖子

0

威望

1232

eV
积分
1288

Level 4 (黑子)

4#
 楼主 Author| 发表于 Post on 2020-11-11 20:35:12 | 只看该作者 Only view this author
sobereva 发表于 2020-11-11 02:41
在我看来没必要非要求代码公开,这是作者自愿的事情,关键是要求程序应当公开(并且是直接获取、无需申请) ...

是的,我觉得很多算法文章不提供可供测试的程序,那文章就实在没太大意义哪怕是只给一个测试版、限时版都行

就像实验文章不给写experimental section一样

1043

帖子

0

威望

4106

eV
积分
5149

Level 6 (一方通行)

5#
发表于 Post on 2020-11-12 14:23:11 来自手机 | 只看该作者 Only view this author
catenarygong 发表于 2020-11-11 20:35
是的,我觉得很多算法文章不提供可供测试的程序,那文章就实在没太大意义哪怕是只给一个测试版、限时版都 ...

不一样。算法和代码实现是两码事。知道算法就能重复出结果。现在可以雇佣码农来帮你实现,如果以后AI编程能普及了,连码农都不用雇了

56

帖子

0

威望

1232

eV
积分
1288

Level 4 (黑子)

6#
 楼主 Author| 发表于 Post on 2020-11-12 18:10:57 | 只看该作者 Only view this author
本帖最后由 catenarygong 于 2020-11-12 21:26 编辑
granvia 发表于 2020-11-12 14:23
不一样。算法和代码实现是两码事。知道算法就能重复出结果。现在可以雇佣码农来帮你实现,如果以后AI编程 ...

我的意思不是完全公开代码,而是应该提供一个公开的二进制的可运行程序,测试版或者限时授权都可以

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-23 10:17 , Processed in 0.299722 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list