Mojolicious::Guides::Contributing - Mojoliciousへの貢献
説明
Mojoliciousに貢献する方法は たくさんあります。このガイドはそのうちの少しを紹介します。
バグのレポート
私たちはGitHub issue trackerを使っています。 問題を提出したり、コメントしたり、リクエストをプルするために、 無料のGitHubのアカウントを作成してください。
まず最初に最新のMojoliciousであることを確認してください。 あなたのバグは修正されていることが多いです。 もしだめであれば、現在オープンされているイシューの一覧を見てください。 だれかがすでにレポートしていれば、それに追加してください。
もしまだレポートされていなければ、バグのテストケースを準備してください。 自分自身で修正する必要はないですが、開発者がその問題を確実に再現できるようにしてください。 アプリケーション全体を送信するのは一般的にいってよい面よりも悪い面のほうが多いです。 このディストリビューションのtディレクトリにはどのようにするかを知るためのよいサンプルがたくさんあります。 通常はテストを書くことはバグを修正することよりも大変なことなので、 テストケースをよりよいものにすれば、修正も早くなるでしょう。
新しいイシューを作成するときはタイトルとテキストを追加することも 忘れないようにしてください。問題に十分な情報が含まれていないか、理解できない場合は、 すぐに閉じられる可能性があります。しかし、新しいものがあったとしても、落胆しないでください アクティビティはすぐに再開されます。
セキュリティの問題の報告
セキュリティの問題は直接担当者のCPANのEメールアドレスにレポートしてください。 現在はsri@cpan.org
です。数日後には開発して、適切な修正をリリースします。
問題の解決にむけて
存在する問題を解決するのを手助けするために GitHub issue trackerに 多くの方法があります。
あなたのコンピューターは問題を再現できますか。 同じものを見た場合はコメントを追加してください。 他の人が問題を再現を容易にするために追加の情報を提供できます。 テストケースに貢献できるかもしれません。
すべてのコードの貢献のために、 わたしたちは追加の試験とコードのレビューを評価します。 賛成の意を表明するためにコメントを追加したり、 取り組むべき弱い部分を指摘することができます。
ドキュメントへの貢献
Mojoliciousへの貢献の簡単な方法のひとつに、 ドキュメントを改善するというものがあります。 Mojolicious::Guidesはコアチームによって注意深く書かれたものですが、 GitHubのアカウントをもっていれば、 変更したり新しい情報を Mojolicious wiki に追加することができます。
Mojoliciousディストリビューションを含むドキュメントへの追加または変更を伴うプルリクエスト は、コードコントリビューションと同じルールに従います。お願いします コンマまたはセミコロンの追加など、過度に単純な変更をプルリクエストで送信しないでください。 。
コードへの貢献
コードへの貢献は GitHub pull requests. によって行ってください。ただし、次のような非常に単純な変更を伴うプルリクエストは避けるようにしてください。 ドキュメントまたはコメントのどこかで、1つのタイプミス修正。
意味のあるタイトルと詳細な説明はレビューのプロセスにおいては貴重です。 コミュニティのメンバーが意見を言ったり、コアチームが変更に 賛成したり、反対したりするときに、終了します。 すべてのコードの変更は周囲のコードと調和させてください。 それがなければ失敗するコードを含めて、関連するドキュメントも アップデートしてください。
Mojoliciousへの貢献は広い範囲の機能に及びますが、 新しい機能が追加されるときは保守的です。 もし貢献がバグフィックスでなければ、 メーリングリスト かirc.perl.org
の#mojo
で先立って議論によって同意を得ていれば、 劇的に機会を増やすことができます。
コアチームのメンバーは誰でも、GitHubのコメントを記載した投票を求めることができます。 チームC <@mojolicious/core>。その後、14日間のレビュー期間があります(または 十分な票が投じられた場合はそれより少ない)、その後、すべての票がカウントされ、 プルリクエストは受け入れられるか拒否されます。
以下のミッションステートメントとルールは、 MojoとMojoliciousの基盤になっています。 プルリクエストを送る前に、あなたの貢献が 同じ方針であることを確かめてください。
ミッションステートメント
MojoはPerlのWebフレームワークのための実行環境です。簡単なWebアプリケーションを書いたり、 Mojoliciousのような高レベルなWebフレームワークを書くための基本的なツールとヘルパを提供しています。
すべてのコンポーネントは疎結合にして他のプロジェクトやUNIX的な方法で再利用可能であるべきです。
特にPerlを始める人にとって、Mojoliciousのインストールとスタートは簡単である必要があります。 Webアプリケーションを書くことは、言語を覚えるもっとも面白い方法のひとつです!
他のWebフレームワークの開発者のために、すべてのインフラは再利用可能であるべきですし、 より高レベルのMojoliciousのディストリビューションは、サンプルアプリケーションだと考えることができます。
ルール
- Web開発は簡単で楽しいものにする必要があります。これは私たちが最適化することです。
- ウェブは移動する目標であり、追いついていくために 私たちもまた動き続けなければなりません。
- シンプルに保ってください。絶対に必要とされるときを除いてマジックを使わないでください。
- インストールの処理は、できるだけ速く、無痛であるべきです。 (最も一般的なハードウェアにおいて、1分以内が経験にもとづく目安です)
- 機能の追加と修正は、多数派の投票かパンプキングの決定によります。
- コア開発者は新しい機能を提案することができます。2/3の多数決の票が必要です。
- パンプキングは拒否権を持ち、後継者を選択できます。
- 機能を作るときはテストとドキュメントも作りましょう。
- 機能は多くのユーザの視点から見て利益があるときにのみ必要とされます。
- 少なくともひとつのメジャーリリースの期間の間か3ヶ月の期間において、 廃止予定の宣言をしなければ、機能は変更してはいけません。
- 重要な機能がそれに依存していない限りは、 機能のリファクタリングと廃止予定(Deprecating)にすることは是が非でも避けるべきです。
- 実験的なものとしてマークされている新しい機能は廃止のポリシーの対象外になります。
- メジャーリリースは新しいバージョン番号によって示され、ユニコード文字をベースにした新しいユニークなコードがしるしになります。
- 絶対に必要なときだけ、必要条件(prereqs)を追加してください。 そして、できればそれらをオプションにしてください。
- Perl的な解決方法を支持するので、ドメイン固有言語は避けます。
- インラインPODは使用しません。
- ドキュメントはガイドに属し、モジュールのPODは単なるAPIリファレンスにします。
- 埋め込みのドキュメンテーションの主な観点は、たくさんのテキストの解説ではなく、サンプルコードです。 (1つか2つのセンテンス毎にサンプルを記述するのが、経験則にもとづく目安です)
- すべてはできればアルファベット順に並べます。
- master ソースコードのレポジトリは常に安定状態で保たれるべきであり、 実際の開発には機能のためのブランチを使用してください。
- コードは同梱された
.perltidyrc
で Perl::Tidy を通してください。 すべてが独りの人間によって書かれたように記述してください。 - スパゲッティコードにならないように、 メソッドと関数はできるだけ短くしてください。
- コメントは正しく先頭を大文字にして もし可能であればユーモアのあるものにしてください。 読みやすさを増さないのであれば、任意です。
Mojolicious.pm
以外には名前を書かないでください
寄付金
Mojoliciousはオープンソースであり、無料で使用できます。しかし、 プロジェクトを維持し、新しい機能を開発するためのたくさんの努力は 適切な財政的支援なしで持続可能ではありません。継続的にサポートできます PayPaldonations@mojolicious.org
を通して、Mojoliciousの継続的な開発をサポートできます。
事業を営み、収益を生み出す製品でMojoliciousを使用する場合、 Mojoliciousの開発をサポートするのはビジネス上、理にかなっています。 そのことは、製品が依存するプロジェクトが健全であり、積極的にメンテナンスされていることを保証します。 また、コミュニティ内での露出に役立ち、 Mojolicious開発者を引きつけるのがより簡単になります
ご質問がある場合は、メール(donations@mojolicious.org
)でお問い合わせください。 スポンサーになる。
行動規範
技術コミュニティ全体と同様に、L
多様性は私たちの大きな強みの1つですが、コミュニケーションの問題と不幸にもつながります 。そのために、従うべきいくつかの基本的なルールがあります。 このコードは、創設者、メンター、ヘルプとガイダンスを求める人に、等しく適用されます
これは、できないことを網羅したリストではありません。むしろ、それを取り入れる 意図された精神です。私たちと私たちが参加している技術コミュニティすべてをより豊かにするためのガイド 。
この行動規範は、Mojoliciousプロジェクトが管理するすべてのスペースに適用されます。 これには、IRC、メーリングリスト、問題トラッカー、コミュニティがコミュニケーションに使用するプロジェクトチームによって作成されたフォーラム、を含みます。 加えて、これらのスペース外でこの規範に違反するは、それらの人々を忍耐する個人の能力に影響を及ぼします。
誰かが行動規範に違反していると思われる場合は、報告するようお願いします Joel Berger(jberger@mojolicious.org
)または他のメンバーにメールで送信する the team。
- フレンドリーで忍耐強くあります。
- B <歓迎すること> 私たちは、すべての背景とアイデンティティの人々を歓迎し、支援するコミュニティになるよう努めています 。これには以下が含まれますが、これらに限定されません。 あらゆる人種、民族、文化、出身国、色、移民のメンバー ステータス、社会的および経済的クラス、教育レベル、性別、性的指向、 性同一性と表現、年齢、規模、家族の地位、政治的信念、 宗教、精神的および身体的能力。
- B <思いやること> あなたの仕事は他の人によって使われ、あなたは 一方で他の人の仕事に依存します。あなたがするあらゆる決定は、ユーザーと仲間に影響を及ぼします。 そしてあなたは決定するときは、作るときに、それらの結果を考慮に入れる必要があります。 私たちは世界的なコミュニティであることに注意してください。 それゆえ、他人の第一言語でコミュニケーションしないようにできます。
= item * B <敬意を払うこと>全員が常に同意するわけではないが、 意見の相違は、悪い振る舞いと悪いマナーの言い訳にはなりません。私たちはすべて 時々不満を感じますが、その不満が個人攻撃に変わるのを許すことはできません 人々が不快感や脅迫を感じる場所は、生産的でないコミュニティであることを覚えておくことが重要です 。L
コミュニティ外の人々に対するのと同じように、他のメンバーを扱う場合に L コミュニティのメンバーは、敬意を持ち合うべきです、 = item * B <選択した言葉に注意してください。>私たちは専門家のコミュニティです。 ですので、私たちは専門的に行動します。他人に優しくしてください。 他の参加者を侮辱したり、落としめたりしないでください。ハラスメントおよびその他の排他的 振る舞いは受け入れられません。これには次のものが含まれますが、これらに限定されません。
- 他の人に対する暴力的な脅迫または言葉。
- 差別的なジョークと言葉。
- 性的に露骨または暴力的な素材を投稿する。
- 他人の個人を特定する投稿(または投稿の脅迫)情報(「ドキシング」)。
- 個人への侮辱、特に人種差別的または性差別的な言葉を使用するもの。
- 望ましくない性的注意
- 上記の行動のいずれかを提唱、または奨励する。
- 他人への嫌がらせを繰り返した。一般に、誰かが停止するように頼んだら、その後、停止してください。
- 意見が合わない場合は、理由を理解してください意見の相違、社会的 技術的にも常に発生し、L
も例外ではありません。それは 不一致や意見の相違を建設的に解決することが重要です。 私たちは違うことを忘れないでください。 L の強みは、 多様なコミュニティ、幅広いバックグラウンドを持つ人々。さまざまな人々が持っています 問題に関するさまざまな視点。誰かが持っている理由を理解できない 視点は彼らが間違っているという意味ではありません。誤ることは人間であることを忘れないでください そして、お互いを責めても、私たちはどこにも行きません。代わりに、 問題を解決し、間違いから学ぶ。
フォークポリシー
L
分岐モジュールの使用を検討している開発者には、強くお勧めします その歴史と実績に精通していること。多くの L
より学ぶには
Mojolicious::Guidesを学び続けてください。またMojolicious wikiを見ることもできます。wikiには多くのユーザーによる多くのドキュメントやサンプルがあります。
サポート
ドキュメントに答えが見つからなくって質問があるときは、 メーリングリストか 公式のIRCチャンネルであるirc.perl.orgの#mojoでためらわずに質問してください。
(Mojolicious 8.12を反映)