GraalVMへの貢献

GraalVMは、世界中の人々が貢献し、互いに助け合い、GraalVMを革新的なものにしている、Oracleのオープンソースプロジェクトです。私たちは、大小を問わず、過去の貢献に感謝しており、常に新しい協力者を歓迎しています!大規模なコミュニティだけが、このプロジェクトを強力な言語仮想化テクノロジーにすることができます。

共同作業には、2つの一般的な方法があります。

ドキュメントのみに貢献することを検討している場合は、このガイドを確認してください。

GraalVMコアに貢献することを検討している場合は、まず独自のビルドツールである`mx`を使用して、ソースからGraalVMディストリビューションをビルドする方法を学んでください。適切な開発環境をセットアップし、GraalVMプロジェクトをIDEにロードし、コンパイラが何をしているかを基本的に理解するために確認できる主要なクラスを確認する方法を学びます。このビデオは上記を示しています。

GraalVM貢献者になるには?

以下は、GitHubのOracle組織でホストされているGraalVM Community Editionとそのプロジェクトに貢献するためのヒントです。貢献者は貢献者規約の行動規範を遵守することが期待されます。全体として、3つの段階があります。

I. プルリクエストを作成する

あなたの貢献が他の人にとって価値があると考える場合は、プルリクエスト(PR)を作成してください。一般的なプロセスは、リポジトリをフォークし、変更を送信し、PRを作成することです。PRを作成する際には、変更の意図を明確に説明してください。ただし、バージョン更新など、変更内容が自明な場合は除きます。 (1) 変更または機能が必要な理由、(2) 実装方法、およびオプションで (3) さらにどのような影響があるかについて説明します。PRリクエストの説明フィールドまたはコミットメッセージを使用できます。PRリクエストごとに1つの機能または変更に対処することをお勧めします。

プルリクエストを作成すると、Travis CIサービスが変更に対していくつかのサニティチェックを実行します。これらのチェックで検出された明らかな問題(フォーマット違反など)に対処してください。ただし、テストの失敗は変更に直接関係していない可能性があることに注意してください(インフラストラクチャの問題や一時的なテストの失敗により、ゲートは完璧ではありません)。

II. Oracle貢献者契約に署名する

プルリクエストが承認されるようにするには、Oracle貢献者契約(OCA)に署名する必要があります。OCAには、個人OCAと会社OCAの2種類があります。オンラインで署名し、あなたの名前または組織がOCA署名者リストに表示されたら、プルリクエストの作成者がOCAの対象となっていることを確認するために使用されるデータベースにあなたを追加します。署名者リストにエントリが表示されるまでに遅延があると思われる場合は、oracle-ca_us@oracle.comにメールを送信してください。エントリが署名者リストにありますが、ボットがプルリクエストにOCAに署名していないというメッセージを残した場合は、プルリクエストにコメントを残して、OCAの対象になったことを示してください。ボットは、OCA署名者リストとは別のデータベース(後者には必ずしもメールの詳細が含まれているわけではないため)から動作し、手動で更新する必要があります。

III. レビューとマージ

Oracleの従業員は、提案された変更をレビューし、プルリクエストがマージ可能な状態になったら、それをメインブランチにマージする責任を負います。外部から提供されたコードがこれらの要件を満たしていることを確認するために、inbound-check-botを用意しています。

プルリクエストを送信する際に期待すること

バグ修正やAPIドキュメントの改善などの小さな変更から、実行速度を上げたり、システムをより適切に制御したりできる大きな変更まで、多くの探求の方向性があります。

Truffleフレームワークを使用して新しい言語サポートを実装したり、多言語プログラミングのためのより優れたツールを提供したり、新しい埋め込みシナリオを提案したりすることで、GraalVMエコシステムを拡張することを楽しみにしています。継続的な努力は、コンパイラ構成を最適化するための機械学習に向けられています。貢献者は、Javaで記述された完全にメタサーキュラーなJavaランタイムの開発に参加することを歓迎します。より効率的なメモリ使用のための技術を調査し続け、さまざまなワークロードのパフォーマンスの向上を目指しています。

GraalVMソースの操作に関する質問については、GraalVM開発者に連絡するには、graalvm-dev@oss.oracle.comに登録して投稿してください。

私たちとつながる