メンテナの要件
開発スキルと知識
- Androidのビルドプロセスに精通していること。
- カスタムROM開発、カーネル修正、またはデバイスツリーのカスタマイズの経験があること。
- Androidのアーキテクチャ(HAL、システムサービスなど)を理解していること。
- 開発用にLinuxベースのシステム利用に精通していること(シェルスクリプト、パッケージ管理、カーネルコンパイルなど)。
- Gitによるバージョン管理(ブランチ作成、リベース、マージ競合の解決など)に精通していること。
- GitHub、GitLab、Gerritなどのコラボレーションプラットフォームでのコードレビューの経験があること。
デバイス固有の要件
ハードウェア互換性
- すべての主要ハードウェアコンポーネント(ディスプレイ、オーディオ、タッチ、GPSなど)が確実に機能すること。
- 重要度の低い機能(IRブラスター、特殊なセンサーなど)については、正当な理由があれば例外を認める場合がある。
セキュリティと安定性
- SELinuxは強制(enforcing)モードを維持すること。準拠を証明するためのログまたは監査レポートを提供すること。
- システムの整合性やユーザーデータを損なう不安定なハックや回避策を避けること。
ビルドとメンテナンスの要件
- 申請前に最低1週間の安定した非公式ビルドを維持していること。
- セキュリティパッチ、バグ修正、機能強化を含む定期的な更新(最低月1回)を提供すること。
コードとコラボレーションの基準
- すべての貢献には適切な帰属表示(コミットの作成者情報、インラインコメント、READMEでのクレジットなど)を含めること。
- オープンソースライセンスの要件を遵守し、プロプライエタリコードの漏洩を避けること。
- プロジェクトのガイドラインとベストプラクティスへの準拠を確認するためのコードレビューを実施すること。
テストと品質保証
- デバイス固有の修正についてエンドツーエンドテスト(単体テスト、ユーザーベータテストなど)を実施すること。
- 複数の使用シナリオにおけるハードウェア機能(Wi-Fi、Bluetooth、カメラ、センサーなど)の動作を検証すること。
