RDKit是化学信息学和机器学习软件的集合,正在协助解决化学信息的难题。RDKit的创始人和创建者Greg Landrum在Elsevier的推动下接受了UDM(统一数据模型)团队的采访,分享了他的经验,即成功之路是怎样的,一个开源项目要想成功需要具备哪些要素。采访中所学到的知识将有助于塑造统一数据模型项目的未来,该项目正在从财团主导的Pistoia联盟模式向社区主导的模式转变。
Greg Landrum
一切是如何开始的?
Greg是一名化学家。在德国做完博士后后,他搬到了加州,加入了几家初创公司。最终,他创办了一家小型计算化学创业公司,提供咨询和机器学习服务。2000年的时候,化学领域的开源是有限的,没有好的替代品引发了RDKit的创建。开源的 oelib(最终变成了 OpenBabel)没有他们可以使用的许可证,而试图对商业 Daylight 工具包进行授权也没有成功。于是,他们开始自己编写代码,并一点一点地添加新的作品。公司最终在2006年被关闭,他们没有为这项技术寻找买家,而是决定将代码开源。Greg加入了位于巴塞尔的诺华公司的CADD小组,并且能够建立一个流程,让他在大型制药公司工作的同时,继续进行开源RDKit的开发。2011年,当他调到研究部时,开发工作更加加紧了。扩展的需求由内部资助,或者诺华公司正在资助外部程序员进行RDKit的工作。"与诺华公司的其他科学家一起工作,真的帮助我们了解了RDKit的发展方向。"Greg说。2016年,Greg离开了诺华,加入了OS数据分析平台背后的KNIME公司,同时他还成立了一家小型咨询公司T5 Informatics,支持围绕RDKit的定制开发服务。正是因为有了作为操作系统软件的RDKit和T5 Informatics的结合,才让Greg做了他最喜欢的事情,并和一群兴趣相投的人一起把时间花在功能的开发和扩展上。
RDKit社区
Greg说:任何成功的开源项目的核心都是它的社区。不过这些见解并不容易得到,这只是操作系统项目的运行方式。没有人问任何人是谁,他们从哪里来。社区中的一些想法来自于RDKit UGM(用户组会议),2020年10月的最后一次虚拟(由于Covid-19)UGM注册了超过500名参与者,这是RDKit UGM有生之年9年的最高记录。回复谷歌调查的注册者来自工业界(52%)、学术界(40%)以及政府、实验室和非营利性研究组织(8%)。工业界人士70%是制药和生物技术,20%是软件。基于RDKit提供的功能,这一点也不奇怪。UGMs主要集中在欧洲,但美国、日本和中国也有大量用户。今年本来有一个日本的UGM,但因为Covid-19的情况而取消了。
如何为RDKit做贡献,为什么要做贡献?
Greg对贡献的定义是广义的,比如:
rdkit-discuss 邮件列表是 RDKit 社区的主要交流方式;研究人员也把它作为一个问答平台。很难确定人们为什么决定回复邮件.如果是关于某个特定的功能,通常开发者会回复邮件,但同样,没有真正的机制让人们做出贡献,除非他们想做出贡献。不时有一些 "错误 "的答案出现,但熟练度和舒适度会随着经验的积累而提高。大多数用户都有一个问题要解决,希望了解并寻求可能致力于解决类似问题的人。有些人可能会觉得自己有义务:"我在用,为什么不贡献?对一些人来说,这是一种认可,活跃的人在社区中得到了认可。此外,如果出版物上附有代码,研究人员似乎更倾向于使用它。这增加了引用率,这对出版物和作者来说都是很重要的。Greg认为,有数据支持这一点,但他并不能100%确定。人们为什么要为操作系统项目做出贡献,另一个 "自私 "的动机是,即使人们离开或更换雇主,也能在未来继续工作。无论原因是什么,重要的是RDKit社区是友好和开放的;人们对项目的感觉良好,所有这些,肯定有助于采用。
企业如何为RDKit做贡献?
许多公司通过内部资助开发者或雇佣外部开发者的方式为RDKit的开发和扩展做出了贡献。参与其中的公司有一个简单的方法来吸引具有RDKit专业知识的人。例如,许多学生都在OS软件上工作,而雇主也了解开发人员到底是做什么的,以及他们是怎么做的。内部使用RDKit并为其做出贡献的公司包括Schroedinger、Cresset、Novartis、Roche、Medchemica、Relay Therapeutics和NextMove Software。许多其他公司也在使用RDKit。例如,Elsevier在Entellect的Reaction Workbench上提供并支持它,PerkinElmer在Spotfire中使用它,人们可以在Mathematica中使用基于RDKit的化学扩展。Google运行 "Summer of code",其中包括改进和贡献RDKit工具的项目。这些重要的用例增加了对RDKit的采用和接受。
企业将代码存入RDKit有什么好处?
有一点是非常重要的,其实,企业选择将代码存入RDKit有很多好的理由。
RDKit有什么样的管理结构,谁来决定什么?
Python社区将语言的创造者Guido van Rossum称为 "Benevolent dictator for life"(简称BDFL)。目前,RDKit或多或少地遵循了这种模式。没有太多的治理结构,然而有四个核心维护者,任何贡献都至少要经过其中两个人的审核。理论上,必须有两个开发者签字,其中一个应该是Greg。他提到,从长远来看,这可能不是最好的方式,但就是这样。他们需要做的决定并不多,大部分的决定都是战术性的,各自决定自己要做什么工作。他们想要工作的利益清单很宽泛--有些是长期的驱动,有些是公司的要求。其他三个开发者分别来自Schrodinger、Novartis和Relay。
RDKit在什么许可证下运行?
Greg指出,操作系统许可证是非常重要的,也是有争议的。RDKit使用的是BSD许可证。BSD许可证是非常宽松的,允许商业使用,它是由意念完成的。代码是受版权保护的。默认情况下,版权材料不能被重复使用,但是许可证允许使用和重新分发代码。在每个RDKit代码的顶部,都会有版权声明,并显示出贡献代码的作者。在每个文件的底部,都写着:保留所有权利,并受许可证保护。大家可以按照许可证来查看哪些是允许的,哪些是不允许的。例如,你不能把代码完全取出来,删除版权,然后重新发布。许可证还包括一个免责条款。Greg建议使用OSS的标准许可证,因为很多大公司都熟悉标准许可证,因此,更愿意使用OS软件。要说明的是,公司可以在RDKit代码的基础上进行构建,并将其商业化。Schrodinger和Cresset在计算化学代码中使用了RDKit。RDKit的目的是用于计算软件,这些公司不需要向Greg或RDKit社区传达任何信息。此外,还有使用RDKit的已申请专利。例如,截至2020年10月,在谷歌专利搜索中,有168个结果使用了RDKit。
当人们向 RDKit 贡献时,是否有任何知识产权或版权?
显然,在某些情况下可能会很棘手。有些OSS项目想把所有的东西都放在一个版权下。要接受代码,必须转让版权。RDKit不这样做。由于RDKit不是一个组织,它不能要求人们将版权转让给它。贡献者(和他们的雇主)决定贡献代码的版权。然而,所有贡献的代码必须和RDKit的其他部分一样,受到相同的BSD许可证的保护。
RDKit是否接受特定项目的资助?
因为RDKit没有任何合法的组织,所以它不能接受资金。你可以支付顾问费,但没有一个集中的地方来支付开发工作。贡献公司为他们的程序员或外部程序员提供资金,让他们从事RDKit的开发和扩展工作。例如,Novartis公司两者都做了,向T5 Informatics公司付费,并让内部开发人员为RDKit做贡献。T5 Informatics则是一家咨询公司,如果需要的话,可以为RDKit加工资金。在Greg可以专注于RDKit开发的范围内,RDKit已经从中受益。当被问及众包时,Greg提到了一个成功的案例,Andrew Dalke成功地为MMPDB的开发筹集了资金。然而,在从感兴趣的个人那里筹集资金方面,未来的项目能有多大的成功是个问题。化学信息学领域是有局限性的,因为在商业利益之外,有兴趣赞助RDKit开发的公司数量有限。如何资助一堆不急不躁、曝光率不够高的有趣项目,仍然占据着创作者的脑海。
Greg如何看待RDKit的未来?
Greg认为这是一个长期的游戏,希望工具包能够继续发展。在Elsevier和制药等研究IT组织中的采用和使用扩展是极其重要的,会带来积极的影响。此外,以更系统的方式将软件更多的融入商业公司的内部工作流程中,也会增加采用率,扩大社区。
RDKit与UDM紧密合作有什么价值吗?
UDM主要是交换标准,而不是一个软件,它更多的是一个开放文档项目,而不是OSS,除非有想法建立一个围绕UDM的软件。开放的文档项目可能会使用不同的许可证(例如,creative commons许可证)。很难说UDM的正确模式是什么,但让它作为一个开放源码软件项目,在一个标准组织(如IUPAC)的保护伞下是一个好主意。如果UDM取得成功,阅读器和编写者可能会很方便;拥有代码并能够用UDM文件做一些事情是有价值和有用的,可能会加快采用的速度。
结束时的考虑
RDKit用于处理、协调、增强和分析化学数据。对能够协助使您的数据(例如,AI/ML准备好的软件)以及具有执行这些任务的技能和知识的化学家的需求已经增加。Elsevier拥有高质量的化学和生物数据,经常为各种建模项目处理这些数据,例如基于AL/ML的合成和药理模型预测。因此,它有能力支持OS项目和化学标准,这也是因为它的客户越来越多地在其生态系统中使用和嵌入这些工具和标准。对Greg Landrum的采访证实了Elsevier对合作和帮助研究人员和医疗专业人员推动科学发展和改善健康结果以造福社会的兴趣。我们感谢Greg Landrum与Pistoia的UDM团队和爱思唯尔分享了RDKit的工作方式和促成其成功的原因。这些分享的信息已经为UDM项目下一步的转型提供了参考。最后,从这次采访中收集到的知识可能会帮助商业公司和研究机构建立和维持未来与各种类型的开源和开放文档项目的关系。
参考资料
Interview with Greg Landrum at Elsevier: What are the ingredients of a successful Open Source cheminformatics software?, Posted on November 30th, 2020 by Elena Herzog in Chemistr.y
https://pharma.elsevier.com/chemistry/interview-with-greg-landrum-at-elsevier-what-are-the-ingredients-of-a-successful-open-source-cheminformatics-software/