チェックと貢献
ヘルプとコントリビュート
質問や、バグ・脆弱性の報告はどこでするか。そして、NoWayOSへの変更をどう提案するか。
NoWayOSは、GitHub上のNoWayOS組織でオープンに開発しています。コードを見るのも、それについて質問するのも、それを変えるのも、そこです。
質問とバグ
該当するリポジトリでissueを開いてください。オペレーティングシステムについてはnowayos、画面の変換についてはscreen-compiler、アプリケーション例についてはshowcaseです。よいissueには、何を実行し、何を期待し、代わりに何が起きたかが、その出力と、実行したコミットとともに書かれています。
その前に、各リポジトリのDEVELOPING.mdをご覧ください。ビルド、テスト、コードの構成が書かれています。用語については用語集が説明しています。
セキュリティ脆弱性
脆弱性について、公開のissueは開かないでください。各リポジトリのSECURITY.mdに記載のとおり、リポジトリのSecurityタブにあるGitHubのプライベート脆弱性報告を使うか、security@nowayos.com へメールして、非公開で報告してください。報告は、修正が用意できるまで非公開のままです。
変更を提案する
すべての変更は、同じゲートで判定されます。ゲートはDefence Agentに書き出されています。それぞれが何をチェックし、どんな脅威に対処し、誰が変更してよいか。詳しくは、各リポジトリのCONTRIBUTING.mdにあります。
- メンテナーが受け入れたissueから始めます。新しく開くか、既存のissueで、担当したいと伝えてください。
- リポジトリの
DEVELOPING.md、とくにその基本ルールを読んでください。ゲートがそれを強制するので、ひとつでも破る変更は通りません。 - テストとともに変更を加えます。バグの場合は、失敗するテストを先に書いてください。
make ciを実行し、通ることを確かめます。- すべてのコミットにサインオフしてください(
git commit -s)。Signed-off-byの行はDeveloper Certificate of Originを証明するもので、これがないコミットは通りません。 - リポジトリのテンプレートを使って、プルリクエストを開きます。何を、なぜ変えるのか。ドライバならその出典。そして、AIアシスタントの助けを借りたかどうか。システムが付与するものを広げる場合は、そう明記してください。広い付与は、セキュリティ上の変更としてレビューされます。
言葉
NoWayOSは、いくつかの言葉を特定の意味で使っています。保護ドメイン、付与、期待出力ファイル、フェイルセーフ状態などです。用語集が、それぞれを定義しています。