- A+
- 克里斯多夫·雅各布*
- 出版日期:2016年1月21日
如今,大多数科学研究都依赖某种软件。在我自己的量子化学领域,尤其如此。量子化学软件通常用于与化学实验或实验小组紧密联系的应用中,以研究化学中的各种问题。此外,它还为开发新的理论和计算方法提供了平台。
现有许多量子化学程序包(1),它们在功能,可用性(从非专业人员的易于使用到仅由编写它的人员使用)方面有所不同,并且在计算效率方面有所不同。所有可用代码的共同点是,至少在最初,它们是用公共(即纳税人)的钱开发的。但是,提供这些术语所依据的术语差异很大。某些程序包(2)在开放源代码许可下可用(这意味着任何人都可以“出于任何目的,向任何人学习,更改和分发该软件” (3)),而其他公司则归商业公司所有,然后将它们出售给学术团体和工业用户,并收取少量或较大的许可费用。还存在中间模型(免费但不是开放源代码),例如免费分发给学术团体(4)的闭源软件,或可向学术用户提供其源代码但具有许可条款的软件禁止更改或重新分配。(5)
推动科学的开源。开源科学软件为整个科学提供了许多优势。关于在学术软件开发中使用开放源代码许可的争论很多。Gezelter最近在本期刊的Viewpoint中总结了许多这样的论点(6),Katz等人在一篇出色的博客文章(7)中对此进行了总结,在此我不再赘述。这导致一些供资机构要求根据某些资助开发的软件必须在开源许可下发布。最近,Krylov等。在该期刊上发表了一篇观点,批评了这种开源要求。(8)
这个观点是由一群杰出的科学家撰写的,我很欣赏他们在量子化学方法和软件开发方面的工作。参考文献8的所有作者的共同点是,除了是研究型大学的教授之外,他们还是销售量子化学软件包的公司的共同所有人。(9)我不同意作者提出的许多论点。我不想在这里单独讨论这些论点,(10)在此我要集中讨论一个特定的观点,并概述封闭源学术软件开发对量子化学软件开发工作的科学家,特别是对早期职业科学家造成的一些问题。
方法开发人员的观点。为了开发,测试并最终在量子化学中使用新的思想,需要在软件中实现它。通常,这需要使用许多完善的工具,例如整数代码,数十年前开发的基本方法以及高级数值算法。所有这些都是新发展的先决条件,但今天不再是“有趣”了。即使所有这些工具在科学文献中都有充分的文献记载,但重新创建这些“下层”仍将是一项重大的工作,每次和每个研究小组都无法重复,因为时间和资金都是有限的资源。对于年轻的科研人员来说,尤其如此,
因此,量子化学方法的开发人员需要一些现有的程序包作为“开发平台”。开源代码和商业代码都可以提供这样的平台。开源代码的优点是访问没有障碍。任何人都可以下载源代码并开始研究新方法。到目前为止,我对商业法规的发展贡献最大。这些还提供了某些优点。对于成功的代码,出售许可证的收入可以由拥有许可证的公司用来雇用维护和记录代码的软件开发人员。这些可以进一步改进学术团体提供的代码,以使其可维护,高效且易于扩展。这可以加快新的开发速度,并提高最终新软件的质量和效率。
商业代码为“开放团队软件”?参考文献8的作者认为,不需要开源开发平台,因为许多商业代码,例如Q-Chem (11)和其他代码,都在所谓的“开放团队软件”模型下运行。正如他们指出的那样,许多商业代码已经聚集了相当多的学术开发人员社区。
但是,作为开发平台访问商业软件包并不像参考文献8的作者所公开的那样开放。首先,它必须签署开发者协议,该协议的条款由拥有源代码的公司决定,并且起草这些条款是为了保护其商业利益。通常,它们包括将新开发成果的知识产权转让给这些公司,以及涉及其中实现的源代码和算法的保密条款。通常,此类开发人员协议要求排他性,这意味着新的源代码无法贡献给其他商业或开源软件包。有时,甚至禁止开发人员使用竞争性程序包。(12)
这种排他性要求阻止了科学合作。我曾几次遇到过这种情况,当时同行的科学家告诉我说他们很想合作,但由于我们正在为竞争的一揽子计划做出贡献,所以他们不能这样做。因此,软件公司的商业利益导致基于与某些代码的隶属关系而将科学界隔离开来。通常,在一个程序包中开发的方法会在其他程序包中被重新发明,因为科学家们无法协作或使用彼此的软件。
更严重的是,保护商业软件包知识产权的需求甚至导致人们试图获得有关量子化学方法和算法的专利。(13)如果授予此类专利,则将禁止与其他程序包相关的研究人员在某些领域从事方法开发,并且还将阻止开发此类方法的开源实现。
致力于商业软件包的早期职业研究人员面临的另一个问题是,当从一个机构或研究小组转移到另一个机构或研究小组时,他们可能无法继续使用他们几年来开发的软件,甚至可能无法使用。他们贡献的软件。因此,研究人员可能会被迫在没有太多资源的情况下从头开始,这在快速竞争的科学世界中通常是无法承受的。因此,许多人将在整个职业生涯中选择留在同一所学术学校内,这进一步保留了科学界的隔离。
永续的权力结构。使用商业代码作为开发平台还使拥有相应公司的少数科学家成为了看门人。由他们决定允许谁贡献新思想和新发展。不同公司的政策可能会有很大差异。但是,所有这些都需要向这些看门人职位的科学家揭示新颖的研究思想。在许多情况下,这些人将是竞争的科学家,他们可能会拒绝获取信息,因为想法与他们自己的“科学信念”相反,或者因为它们可能干扰自己的研究方向。
这些机制导致了永久的权力结构,这种权力结构使得很少有科学家(商业软件包的所有者)控制大多数方法的开发。这里应该指出的是,参考文献8的许多作者并不是他们现在拥有的商业法规的原始开发者,而是他们从他们的学术导师那里继承了这些法规。当然,开发我们整个领域所依赖的软件基础结构的少数先驱者的这些决定肯定是基于科学成就,但是整个学术界并没有通过同行评审和资助小组做出这些决定。
这与参考文献8的作者强烈宣传的基于优点的科学资源获取背道而驰。进行新方法开发的可能性仅应基于新思想的质量,而不应取决于科学家是否属于某所学校或与某软件包相关联。受资助机构奖励的“生产力跟踪记录” (8)应该具有竞争性思想,而不是因为可以使用研究人员的学术祖先构建的软件基础结构。再次,让我指出,我欣赏ref 8的所有作者的往绩,但我认为必须为下一代科学家提供一个公平的竞争环境。
开源软件中的网守。至少部分地,上述问题对于开源程序包也存在。由于缺乏从销售许可证中获得的收入,因此这些代码可能没有得到很好的记录和维护。结果是,即使没有正式的障碍,为他们做出贡献的技术障碍也可能是巨大的。通常,只有与此类开源程序包的主要作者之一协作才能克服它,这再次使它们成为了看门人。对于免费但不是真正开源的学术程序包,甚至仍然存在正式障碍,并且可能有必要与主要作者合作以获得源代码或修改它的许可。在这种情况下,
出于同样的原因,开源程序包的作者通常不会立即向公众发布新的开发成果,以保持竞争优势。尽管从单个科学家的角度来看这通常是可以理解的,但是它阻止了其他科学家立即使用新方法并随着自己的发展扩展它们,从而拖延了整个领域的进展。期刊要求在发布时公开发布文章中描述的开源软件可以缓解此问题。
可能的解决方案。解决方案的第一步是要清楚地揭示并尽可能消除许多拥有和经营科学软件公司的科学家所面临的利益冲突。如果这些公司由商人而不是活跃的科学家经营,那么授予新外部开发人员访问权限的决定将基于软件包付费用户的可能优点,并且不会因担心科学竞争而受到影响。一些商业法规,例如Amsterdam Density Functional(ADF)软件包,(14)使用这样的模型。至少应该使决策是否透明的基础政策透明化。然而,尽管这样的模型可以缓解关守问题,但封闭源科学软件(6)的其他问题仍然存在。
其次,我认为,专门针对开源软件包的资助计划是创建真正开放的方法开发平台的重要组成部分。通过使资金可用于开放源代码软件包,商业代码可通过其销售收入从销售许可证中获取开源软件包,从而为公平竞争环境提供了一种手段。但是,重要的是,它们不仅包括为新的科学发展提供资金,而且还应为维持开源软件的维护提供资金。这必须包括雇用软件工程师作为非科学人员的可能性,以及为进入科学软件开发阶段的学生提供的培训计划。此类开放源代码软件可持续性计划现已开始在多个国家/地区实施,例如在英国(15)美国(16),以及至少部分在荷兰。(17)当然,此类举措不应破坏商业代码,而应允许开源软件与商业程序包共存。实际上,还有商业机会专用的资金机会,例如技术赠款。在欧洲,Horizon2020框架下的许多计划鼓励或要求中小企业参与,并且一些科学软件公司在获得此类资助方面非常成功。(18)
关于基础研究的资金,开源授权可能确实会对商业法规产生严重的后果,因为这些授权会使它们与学术方法的开发脱离。如果他们想要从基础研究的公共资金中获利,可以通过要求此类代码来实施真正的开放平台策略,从而允许感兴趣的开发人员无差别地访问源代码,从而缓解这种情况。在严格的开放源代码授权下,商业代码仍然可以以开放源代码许可下发布的模块化库的形式来创建新的开发。商业程序包的许多学术贡献者已经选择这样做。(19,20)最后,应该指出的是,存在许多成功的商业模式,可以将开源软件商业化(21),而不会干扰整个科学领域的开源许可证的利益。
本观点表达的观点仅为作者的观点,不一定是ACS的观点。
作者宣称以下竞争的财务利益:根据开发者协议,我过去的大部分方法开发工作都是由阿姆斯特丹Scientific Computing&Modeling NV拥有的商业软件包ADF的贡献。我没有在SCM或其他科学软件公司中拥有财务股份,也没有收到这些捐款的直接或间接财务补偿。我还为Dirac和Dalton软件包做出了贡献,该软件包对学术用户免费,但还没有开源。我的研究小组开发的某些软件已(或即将提供)以开源许可的形式提供。
笔记
该观点基于作者的博客文章,该博客文章首次出现在URL http://blog.christophjacob.eu/2015/07/18/how-open-are-commercial-scientific-software-packages/中。
致谢
作者感谢Alan Aspuru-Guzik,Radovan Bast,T.Daniel Crawford,J.Daniel Gezelter,Andre Severo Pereira Gomes,VedranMiletić,Michele Pavanello,Judith Rommel和Lucas Visscher批评性地评价了手稿,并感谢T. Daniel Crawford,J。Daniel Gezelter和Peter Schwerdtfeger的鼓励。
参考文献
本文引用了其他21个出版物。
- 维基百科:量子化学和固态物理学软件列表。https://en.wikipedia.org/wiki/List_of_quantum_chemistry_and_solid-state_physics_software (2015 )。谷歌学术
- 参见,例如,NWChem(http://www.nwchem-sw.org),PSI4(http://www.psicode.org/ )、Bagel(http://www.shiozaki.northwestern.edu/bagel.php),PySCF(http://chemists.princeton.edu/chan/software/pyscf/),八达通(http://www.tddft.org/programs/octopus/)或QuantumEspresso(www.quantum-espresso.org))(2015年11月22日访问)。谷歌学术
- 维基百科:开源软件。https://zh.wikipedia.org/wiki/开源软件(2015 )。谷歌学术
- 参见例如ORCA。https://orcaforum.cec.mpg.de/ (2015 )。谷歌学术
- 参见GAMESS(http://www.msg.ameslab.gov/gamess/),DALTON(http://www.daltonprogram.org/)或DIRAC(http://diracprogram.org)(11月访问2015年2月22日)。谷歌学术
- Gezelter,JD 开源和开放数据应成为标准做法。化学 来吧 2015年,6 ,1168 - 1169 DOI:10.1021 / acs.jpclett.5b00285[ ACS全文 ],[ CAS ], Google学术搜索
- 洪,北卡罗来纳州;海特里克,S。琼斯(A.)Katz,DS 开源软件的价格-共同的回应。https://danielskatzblog.wordpress.com/2015/08/27/the-price-of-open-source-software-a-joint-response/(2015年 8月27 日)。谷歌学术
- AI的Krylov ;赫伯特,JM ;F. Furche ;Head-Gordon,M 。诺尔斯,PJ ; Lindh,R .;曼比,法国;Pulay,P .;Skylaris,C.-K。; 维尔纳,H.-J。开源软件的价格是多少?J.物理 化学 来吧 2015年,6 ,2751 - 2754 DOI:10.1021 / acs.jpclett.5b01258 [ ACS全文 ],[ CAS ], Google学术搜索
- 参见参考文献8末尾的利益冲突声明。
- 关详细的反驳,见Miletić,五,什么是开源的恐惧,不确定和怀疑的价格是多少?https://nudgedelastic.band/2015/09/what-is-the-price-of-open-source-fear-uncertainty-and-doubt/(2015年 9月14 日)。谷歌学术
- -CHEM。http://www.q-chem.com (2015 )。谷歌学术
- 高斯禁止。http://www.bannedbygaussian.org/(2015年11月22日访问)。谷歌学术
- F Miller;Manby,用于分子系统和材料的电子结构的多尺度描述的FR 方法及其相关应用,美国专利申请US 14 / 549,465,2014年 11月20 日。谷歌学术
- DF建模套件。http://www.scm.com (2015 )。谷歌学术
- 件可持续发展研究所。http://www.software.ac.uk/ (2015 )。谷歌学术
- SF,持续创新的软件基础架构(SI 2)。http://www.nsf.gov/funding/pgm_summ.jsp?pims_id=504817(2015年11月22日访问)。谷歌学术
- 荷兰电子科学中心。https://www.esciencecenter.nl/(2015年11月22日访问)。谷歌学术
- 见,例如,科学计算和建模NV http://www.scm.com/EUprojects/ (2015年)。谷歌学术
- pifanovsky,E 。沃米特,M. ; 库什,T 。Landau,A 。Zuev,D .;Khistyaev,K 。Manohar,第;卡利曼,我。Dreuw,A 。Krylov,AI 使用通用块张量库进行高性能电子结构计算的高级关联方法的新实现。化学 2013 ,34 ,2293 - 2309 DOI:10.1002 / jcc.23377[ Crossref ],[ PubMed ],[ CAS ], Google Scholar
- 荷华州加里曼; Slipchenko ,LV LIBEFP:有效片段电位方法的新并行实现为便携式软件库J. Comput。化学 2013 ,34 ,2284 - 2292 DOI:10.1002 / jcc.23375[ Crossref ],[ PubMed ],[ CAS ], Google Scholar关最新的评论,请参见Okoli,C.。Nguyen,J .自由和开源软件的业务模型。可在SSRN http://dx.doi.org/10.2139/ssrn.2568185(2015年 3月13 日)上获得。谷歌学术