FAQ: コードへの貢献¶
Django のコードに貢献し始めるにはどうすればいいですか?¶
聞いてくれてありがとうございます!この質問に答えている完全なドキュメントがあります。Contributing to Django をお読みください。
数週間前にバグ修正を提出したのですが、なぜ私の貢献は無視されているのでしょうか?¶
心配しないでください。私たちはあなたを無視していません!
「チケットが無視されていること」と「チケットがまだ関心を集めていないこと」との間には違いがあることを理解することが重要です。Django のチケットシステムには数百もの未解決のチケットがあり、機能の点でエンドユーザに与える影響の度合いも様々です。そのため、Django の開発者はそれらをレビューして優先順位付けをする必要があります。
その上、Django の作業をしている人はみなボランティアです。そのため、Django のために働ける時間は限られていますし、その時々によりどの程度の時間が確保できるかが変化します。我々が忙しい場合には、十分な時間を Django のために費やすことができないかもしれません。
チケットが受け付けられる前に止まってしまわないように最良の方法はその分野のコードに詳しくない人でも簡単に問題を理解し、修正が確認できるような内容にすることです。
バグを再現するための明確な手順は書かれてますか?もし、依存関係(たとえばPillow)や contrib モジュールや、ある特定のデータベースなどが関係しているのであれば、それらに関する手順も詳しくない人にとっても十分分かりやすく書かれていますか?
チケットに関連付けられたブランチが複数ある場合、それぞれが何をするのか、どれが無視できて、どれが重要なのかが明確になっていますか?
変更にはユニットテストが含まれていますか?もし含まれていない場合、なぜ含まれていないのか明確な説明がありますか?テストは問題が何であるかを簡潔に表現し、そのブランチが確かにその問題を修正することを示します。
あなたの貢献がDjangoにふさわしくないと判断されたら、無視されるのではなく、チケットがクローズされます。したがって、チケットがオープンのままなら、無視しているわけではなく、まだ確認する時間がないだけです。
反映してほしい変更があるときは、いつ、どうやってチームにリマインドするのがよいですか?¶
フォーラムやブランチに、適切なタイミングで送られた丁寧なメッセージは、注目されやすい傾向があります。タイミングを見極めるために、スケジュールをよく確認しましょう。リリース直前にメッセージを投稿しても、注目を得るのは難しいでしょう。
Django Discord server の #contributing-getting-started
チャンネルでの礼儀正しいリマインダーが効果的です。
目に付きやすくするためのもう一つの方法は、いくつかの関連するチケットをまとめることです。誰かが腰を据えてバグのレビューに取り組む時、対象の領域にしばらく触れていないと、関連するコードの動作の詳細をはっきりと思い出すために少し時間がかかります。あなたが関連するグループのバグフィックスをまとめておけば、取り組むのに魅力的なターゲットにすることができ、複数のチケットに分散しているよりもコードをすぐに思い出せるようになります。
個人的に誰かにメールを送ったり、すでにある同様の issue を繰り返し上げることは避けてください。この種の振る舞いをしてもあなたは注目されませんし、問題を解決するために必要な振る舞いでは決してありません。
でも、何度もリマインドしたのに、私の貢献は無視され続けています!¶
本当に、無視しているわけではないのです。あなたの貢献がDjangoにふさわしくないと私たちが判断したら、そのチケットをクローズします。それ以外のチケットには優先順位を付けて対応するため、特定のチケットを優先して処理することになります。
バグ修正の優先順位を付ける一つの基準は、そのバグによって影響を受ける人々の数です。多くの人々に影響する可能性があるバグは通常、非常に特殊な状況下で発生するバグよりも高い優先度が付けられます。
バグが無視されることがあるもう一つのケースは、そのバグがもっと大きな問題の兆候である場合です。時間をかけて沢山の小さなパッチを書き、テストし、適用することもできますが、一から再構築するほうが適切なこともあります。あるコンポーネントの再構築やリファクタリングが提案あるいは進行中である場合、そのコンポーネントに関するバグはあまり注目されないかも知れません。これも、限られたリソースの問題です。再構築に集中することで、一度に全てのバグを修正でき、さらには将来的に他のバグが起きるのを防げるかも知れません。
いずれにせよ、あなたが特定のバグに定期的に遭遇しても、必ずしも全ての Django ユーザーが同じバグに遭遇するとは限らないことを留意していてください。異なるユーザーが、異なる環境下で異なる部分にコードが影響を与えるいろいろな方法で Django を利用しています。相対的な優先度の評価に際して、通常私たちは個別のユーザーにとっての重症度だけでなく、コミュニティ全体の需要を考慮しようとしています。これはあなたが遭遇した問題を私たちが軽視するということでなく、利用できる有限な時間内において、私たちは 1 人よりも 10 人を幸せにした方が良いと考えているだけなのです。
私のチケットは完全に100%完璧だと確信しています、しかし自分で「チェックインの準備ができました」とマークすることはできますか?¶
申し訳ありませんが、ありません。チケットは常に他の視点で見る方が良いのです。もし、他の視点を得るのが難しい場合は、上記の質問を参照してください。