貢獻 GraalVM

GraalVM 是一個開放原始碼的 Oracle 專案,來自世界各地的人們在此貢獻他們的工作、互相幫助,並使 GraalVM 不斷創新。我們感謝過去所有大大小小的貢獻,並隨時歡迎新的合作者!只有龐大的社群才能使此專案成為強大的語言虛擬化技術。

有兩種常見的合作方式

如果您考慮僅對文件做出貢獻,請查閱 本指南

如果您考慮對 GraalVM 核心做出貢獻,請先學習如何從原始碼建置 GraalVM 發行版本,使用 mx — 一個獨特的建置工具。學習如何設定適當的開發環境、將 GraalVM 專案載入 IDE,並查看主要類別,以便對編譯器正在執行的操作有基本的了解。此影片示範了上述內容。

如何成為 GraalVM 貢獻者?

以下是一些關於如何貢獻 GraalVM Community Edition 及其專案的提示,這些專案託管在 GitHub 上的 Oracle 組織中。我們期望貢獻者遵守 貢獻者公約行為準則。總體而言,有三個階段

I. 建立 Pull Request

如果您認為您的貢獻對其他人有價值,請建立 pull request (PR)。常見的流程是 fork 儲存庫、提交變更並建立 PR。建立 PR 時,請務必包含清楚的變更意圖描述,除非變更不言自明,例如版本更新。請說明 (1) 為何需要變更或功能,(2) 如何實作,以及 (3) 可能有的進一步影響(可選)。您可以使用 PR 請求描述欄位或提交訊息。建議每個 PR 請求處理一個功能或變更。

建立 pull request 後,Travis CI 服務將對您的變更執行一些基本檢查。請務必解決這些檢查發現的任何明顯問題(例如,格式違規),但請記住,測試失敗可能與您的變更沒有直接關係(由於基礎架構問題和暫時性測試失敗,沒有任何閘道是完美的)。

II. 簽署 Oracle 貢獻者協議

為了允許接受您的 pull request,您需要簽署 Oracle 貢獻者協議 (OCA)。有兩種 OCA:個人 OCA 和公司 OCA。線上簽署後,一旦您的姓名或組織出現在 OCA 簽署人清單中,我們就會將您新增至資料庫,以檢查 pull request 作者是否受到 OCA 的保護。如果您的條目在簽署人清單中顯示延遲,請傳送電子郵件至 oracle-ca_us@oracle.com。如果您的條目在簽署人清單中,但機器人會在您的 pull request 上留下您尚未簽署 OCA 的訊息,請在 pull request 上留言說明您現在已受 OCA 保護。機器人從與 OCA 簽署人清單分開的資料庫運作(因為後者不一定包含電子郵件詳細資訊),必須手動更新。

III. 審閱與合併

Oracle 員工會審閱提議的變更,一旦 pull request 處於可合併狀態,就會負責將其合併至主要分支。為了確保在驗證外部貢獻程式碼是否符合這些要求方面額外謹慎,我們有一個入站檢查機器人。

提交 Pull Request 時的預期情況?

從較小的變更(如錯誤修正或 API 文件改進)到較大的變更(可以加速執行或更好地控制系統),有許多方向可以探索。

我們期待透過使用 Truffle 框架實作新的語言支援、為多語言程式設計提供更好的工具,或提出新的嵌入情境來擴展 GraalVM 生態系統。持續的努力是針對機器學習,以優化編譯器組態。歡迎貢獻者加入用 Java 編寫的完全自我循環 Java 執行時間的開發。我們不斷研究更有效率的記憶體使用技術,並努力提高不同工作負載的效能。

若要聯繫 GraalVM 開發人員詢問與 GraalVM 原始碼相關的問題,請訂閱並發文至 graalvm-dev@oss.oracle.com

與我們聯繫