プロジェクトにおける役割

Android オープンソース プロジェクト(AOSP)には、さまざまな役割を担う個人が含まれます。Android プロダクトの管理や、中核的なフレームワークおよびプラットフォームのエンジニアリング プロセスについては、Google が担当しますが、AOSP では、Google だけでなく、あらゆる関係者が貢献することが期待されています。このページでは、プロジェクトに参加する関係者が担当する役割について説明します。

Android に関する情報を探したり、Android 開発に貢献したりすることに関心があれば、誰でも AOSP リソースを使用できます。メーリング リストへの参加や、質問の送信、パッチの投稿、バグの報告、投稿されたパッチの確認、ツールの使用などを行うことができます。Android コードの基本については、貢献するをご覧ください。

コントリビューター

コントリビューターとは、AOSP のソースコードに対して貢献を行う人のことを指します。Google などの企業の従業員だけでなく、企業に所属しない個人デベロッパーもコントリビューターになることができます。コントリビューター内の区分はありません。全員が同じツール(Git、Repo、Gerrit)を使用し、同じコード審査プロセスに従い、同じコードスタイル要件を遵守します。

デベロッパー

デベロッパーは、Android デバイス上で稼働するアプリを作成します。デベロッパーとコントリビューターは多くの場合、同様のスキルを持っていますが、デベロッパーは、コントリビューションを行うよりも、プラットフォームを利用することの方が多く、AOSP からすると、デベロッパーはユーザーと見なされます。頻繁に言及されますが、デベロッパーは厳密には AOSP における個別の役割ではありません。

検証担当者

検証担当者は、変更のリクエストに対してテストを行います。品質の高いコードを大量にプロジェクトに投稿していると、プロジェクト リーダーから検証担当者になるよう依頼される場合があります。

承認担当者

承認担当者は、AOSP の中でも経験が豊富で、プロジェクトに対して技術面や設計面で優れた貢献のあったメンバーが選ばれます。承認担当者は、コード審査プロセスにおいて、変更要素を組み込むか除外するかを決定します。承認担当者の選出は、プロジェクト リーダー(通常は Google 社員)によって行われます。特定のプロジェクトに対して、専門性を発揮した検証担当者をリーダーに昇格させる場合もあります。

プロジェクト リーダー

Android は多数のサブプロジェクトで構成されています。各サブプロジェクトは、Git リポジトリ内の個々の Git ファイルとして確認できます。プロジェクト リーダーは、各 Android プロジェクトのエンジニアリングを監督するシニア コントリビューターです。通常は、Google 社員がプロジェクト リーダーを務めます。プロジェクト リーダーは、個々のプロジェクトにおいて、次の任務を担当します。

  • プロジェクトのロードマップ、開発、リリース サイクル、バージョニング、品質保証(QA)など、プロジェクトの技術面をすべて統括します。
  • Android プラットフォームのリリース スケジュールに合わせて、QA チームによるテストが期日までに完了するようにプロジェクトを管理します。
  • 投稿されたパッチについて、検証担当者と承認担当者を指定します。
  • 変更要素を審査する際は、偏りのない公平な姿勢で臨みます。技術的なメリットと Android の方針との整合性を考慮して、パッチを承認するのか却下するのかを判断します。
  • 適切なスケジュールで変更要素を審査し、承認しない場合は、誠実かつ丁寧に説明します。
  • 必要に応じて、プロジェクトのウェブサイトを維持管理し、プロジェクト固有の情報やドキュメントを掲載します。
  • 調整役として行動し、技術面での競合を解決します。
  • プロジェクトの代表者として、プロジェクトに関する質問の連絡先を務めます。