このプロジェクトは2020年12月から放送されているNUCOSenのメイン放送管理システムです。 BroadcastはPythonベースの自動放送プログラムで、主にニコニコ生放送の引用機能を利用して配信の自動化を実現します。
このプロジェクトに興味を持ってくださり、ありがとうございます。 この文書では、このプロジェクトに参加したい方に向けて、コントリビューションの方法やルール、フィードバックやサポートなどについて説明します。
このプロジェクトに貢献できる方法は、主に以下の 2 つです。
- イシューの発行:プロジェクトに関する問題点や新機能の提案を、GitHub の イシュー 機能を使って報告することができます。イシューを発行する際には、以下の点に注意してください。
- イシューのタイトルは、内容を簡潔に表すものにしてください。
- イシューの本文には、問題点や提案の詳細を記述してください。必要に応じて、スクリーンショットやコードの断片などを添付してください。
- イシューには、適切なラベルを付けてください。もしも適切なラベルがわからない場合は、
p0:トリアージ待ち
のラベルを必ず付けてください。 - イシューは、既に存在するものと重複していないか確認してください。重複するイシューは、既存のイシューにコメントする形で情報を追加してください。
- プルリクエストの作成:プロジェクトのコードを改善したり、新しい機能を追加したりする場合は、GitHub の プルリクエスト 機能を使って、自分の変更を提出することができます。プルリクエストを作成する際には、以下の点に注意してください。
- プルリクエストのタイトルは、変更の内容を簡潔に表すものにしてください。
- プルリクエストの本文には、変更の目的や方法、テストの結果などを記述してください。必要に応じて、スクリーンショットやコードの断片などを添付してください。
- プルリクエストには、適切なラベルを付けてください。もしも適切なラベルがわからない場合は、
p0:トリアージ待ち
のラベルを必ず付けてください。 - プルリクエストは、重複を避けるために未完成でもDRAFTとしてプルリクエストを作成してください。また、原則としてどのIssueを解決するものかわかるようにリンクさせてください。
- プルリクエストは、コードの品質やスタイルに関する基準を満たしているか確認してください。詳細は後述します。
このプロジェクトに貢献する際には、以下の基準に従ってください。
- コードの品質:プロジェクトのコードは、Python 3 を使用しています。pip パッケージとしてビルドします。バージョン 1.0.0 の正規版がリリースされるまでは、特に厳しい品質基準はありませんが、それ以降は、Codacy のクオリティ検査にて著しく低い成績を出したプルリクエストに関しては、修正依頼がなされる場合があります。コードの品質を向上させるためには、以下の点に注意してください。
- コードは、できるだけシンプルで読みやすくすることを心がけてください。
- コードは、できるだけテストやドキュメントを用意してください。
- コードは、できるだけエラーや例外を適切に処理してください。
- コードは、できるだけパフォーマンスやセキュリティを考慮してください。
- コードのスタイル:プロジェクトのコードは、PEP 8 という Python の公式スタイルガイドに準拠しています。コードのスタイルを統一するためには、以下の点に注意してください。
- コードは、インデントにスペース 4 つを使用してください。
- コードは、やむを得ない場合を除き行の長さを 79 文字以内に抑えてください。
- コードは、適切な空白や改行を入れてください。
- コードは、コメントやドキュメンテーション文字列を用いて説明してください。
このプロジェクトに貢献する際には、以下のサポートを受けることができます。
- フィードバック:プロジェクトのメンテナーや共同開発者から、イシューやプルリクエストに対するフィードバックを受けることができます。フィードバックは、ポジティブで建設的で敬意を持ったものになるように努めてください。フィードバックを受けた場合は、必要に応じて返信や修正を行ってください。
このプロジェクトに貢献する際には、以下のライセンスと行動規範に同意する必要があります。
- ライセンス:このプロジェクトは、AGPLv3 に基づいてライセンスされています。このライセンスにより、このプロジェクトのコードを自由に使用、変更、再配布することができますが、コピーレフトの原則に従って、変更したソースコードを公開する必要があります。また、このプロジェクトのシステムをネットワークを介して利用できるようにする場合は、その利用者に対してもソースコードの入手方法を提供する必要があります。このライセンスは、このプロジェクトのコードに対するいかなる保証も提供しません。このライセンスの詳細については、LICENSE ファイルを参照してください。
- 行動規範:このプロジェクトは、Contributor Covenant というオープンソースプロジェクトのための行動規範に準拠しています。この行動規範は、このプロジェクトのコミュニティにおける誰もが尊重され、ハラスメントや差別を受けないことを目的としています。この行動規範の詳細については、CODE_OF_CONDUCT ファイルを参照してください。この行動規範に違反した行為を見かけた場合は、プロジェクトのメンテナーに連絡してください。メンテナーの連絡先も記載されています。