ALPS への貢献
ALPS はオープンソースプロジェクトであり、バグ報告やチュートリアルの修正から新しいシミュレーション手法やライブラリの追加まで、あらゆるレベルの貢献を歓迎しています。このページでは参加方法を説明します。技術的な詳細については、ALPSリポジトリの CONTRIBUTING.md(英語)をご参照ください。
貢献の種類
| レベル | 内容 |
|---|---|
| 1 — フィードバック | ALPSをインストールしてチュートリアルを試し、不明な点や不具合があればIssueを開く |
| 2 — ドキュメント・チュートリアル | このウェブサイトのチュートリアルの改善・拡充、ドキュメントの誤りの修正、サンプルの追加 |
| 3 — メンテナンス | バグ修正、テストの改善、依存関係の更新、Discordでのコミュニティサポート |
| 4 — 新規コード | 新しいアルゴリズム、ライブラリ、またはシミュレーションアプリケーションの貢献 |
必ずしも最初のレベルから始める必要はありません。スキルと興味に合ったところから参加してください。
プロジェクト初参加の学生の方は、各レベルの詳細や共同研究者として参加する際に何が期待されるかについて説明した学生向けオンボーディング声明もぜひご覧ください。
始める前に
バグ報告・機能リクエスト・ドキュメント修正については、事前に連絡することなく、直接 GitHub でIssueやプルリクエストを開いていただけます。
新しいシミュレーションアプリケーションやライブラリ(レベル4)については、大規模な作業を開始する前にガバナンス評議会のメンバーにご連絡ください。作業の重複を避け、新しいコードがALPSのアーキテクチャやメンテナンスモデルに適合していることを確認するためです。
どこから始めればよいかわからない場合は、Discord でメッセージをお送りください。コミュニティのメンバーが喜んでご案内します。
貢献のワークフロー
完全なワークフローは CONTRIBUTING.md に記載されています。概要は以下の通りです。
- ALPSリポジトリをフォークし、ローカルにクローンします。
- 変更を加える前にビルドとテストを行い、自分の環境で正常に動作することを確認します。
- 変更用のブランチを作成します(慣例として
fix/、feat/、docs/プレフィックスを使用)。 - 変更を加え、必要に応じてテストを追加・更新します。
masterブランチに対してプルリクエストを開きます。テスト方法と、シミュレーションコードの場合は既知のリファレンス値との検証結果を記載してください。- レビューコメントに対応します。コアメンテナーがPRをレビューし、全員の承認またはコメントなしに6週間が経過した場合にマージされます。
プルリクエストで重視する点
- すべてのプラットフォーム(LinuxおよびmacOS)でCIが通ること。
- 新たなコンパイラ警告がないこと(C++コードでは
-Wall -Wextra)。 - 新規または変更された動作がテストでカバーされていること。
- シミュレーション結果が公開済みのリファレンスまたは既知の解析解と照合されていること。
- コミットメッセージが説明的で命令形で書かれていること。
貢献への謝辞
ALPSのリリースには、査読付き論文の発表が伴います。積極的な貢献者は共著者として追加されます。 ガバナンス評議会が各リリースの著者リストを決定し、コード・ドキュメント・チュートリアル・テスト・コミュニティサポートへの貢献を考慮します。
ドキュメントやチュートリアルの改善、バグ修正、新機能の追加(レベル2以上)を継続的に行うことが、共著者として検討される一般的な基準です。
ヘルプ・お問い合わせ
| チャンネル | 用途 |
|---|---|
| Discord | 質問、開発に関する議論、コミュニティとの交流 |
| GitHub Issues | バグ報告、機能リクエスト、コードに関する具体的な問題 |
| ALPSワークショップ | 対面・オンラインのコミュニティミーティング |
| ガバナンス評議会 | 新しいシミュレーションコードのオンボーディング、大規模な貢献 |