編·譯作者 | 王建民
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對貢獻的定義是廣義的,比如:
代碼(Code);高質量的錯誤報告被認為是非常有價值的;好的文件是非常寶貴的,而且非常有用;參與回答問題、評論和討論問題。
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專業知識的開發人員和化學信息學家為公司所熟知,他們關注並促進開發。開發人員可以迅速動員起來,開發公司感興趣的功能。UGM會分發各公司公布的空缺職位列表,今年在Discord中也有一個公布空缺職位的頻道。公司可以在郵件列表或LinkedIn群組上發布空缺職位。此外,關於如何以合同形式資助開發者的問題已經開始討論,如前所述,目前還沒有組織接受對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/