新機能の提案¶
BeeWareの改善案をお持ちですか?そのアイデアをどのように提案すれば検討してもらえますか?
調査を行ってください¶
最初のステップは、BeeWareの課題トラッカーで既存の機能課題(「enhancement」タグ付き)、ドキュメント課題(「documentation」タグ付き)、またはディスカッションスレッドを検索し、そのアイデアが以前に提案されていないか確認することです。 既に存在する場合、新たな情報またはアイデアを追加できる場合は、既存のスレッドにそれらを含めてください。調査の支援が必要な場合は、BeeWare Discordの#devチャンネルでお尋ねください。既存スレッドの方向性を示したり、ご存知ないかもしれない背景情報を提供したり、一見関連性がないと思われる別のアイデアとあなたのアイデアを結びつけることができるかもしれません。
その考えについて話し合う¶
既存のアイデアに関する参照が見つからない場合は、ディスカッションスレッドを開始してください。アイデアの目的とユースケースについて概要を説明してください。実装された場合の機能の外観に関する考え(APIの一般的な形状、機能の視覚的表現、追加されるドキュメントなど)も記載してください。 該当する場合は、アイデアが異なるプラットフォームでどのように実現されるかについての調査結果も記載してください。
ディスカッションスレッドが開設されると、BeeWareチームとコミュニティの他のメンバーが対応します。コアチームは、ご提案いただいたアイデアについて、少なくとも2営業日以内に最初の印象を提供することを目指します。アイデアが特に複雑な場合、より詳細な分析には最大1週間かかる可能性があります。休日やカンファレンスなどのイベントにより、これらのスケジュールが若干遅れる場合があります。
これはあなたのアイデアについて議論に参加する機会です。詳細や背景情報の提供をお願いする場合があります。コミュニティの他のメンバーも議論に加わり、異なる視点や提案、対案を提示することがあります。この議論の結果が今後の進め方を決定します。
すべてのアイデアが受け入れられるわけではないことを理解することが重要です。このプロセスが提案から始まるのは、変更が受け入れられない理由があるのに気づくまで、すべての作業を無駄にさせないためです。
これは良いアイデアではなかったという意味ではありません!技術的な理由で実装できない場合もあるのです。例えば、次のような理由でアイデアを却下する可能性があります:
- すべてのサポート対象プラットフォームで確実に実装することは困難、あるいは不可能である;または
- 維持が困難であるか、あるいはその維持には広く普及していない技術やソフトウェアへのアクセスが必要となる。
- 特定のユーザー層にサービスを提供するが、他のユーザーに大きな負担を強いる。
もしあなたのアイデアが適切でないと判断した場合でも、必ずしもそのアイデアを諦める必要はありません。特定のアイデアを却下する一方で、プラグインインターフェースやその他の拡張ポイントを追加することで、同じ機能を外部ライブラリとして維持できるようにする案には、はるかに柔軟に対応できる可能性があります。そうすれば、その機能自体は維持しつつ、特定のメンテナンス上の懸念や、機能がプロジェクト自体の制約となるような制限を回避できるのです。
正式な機能リクエストに変換する¶
機能の形式について議論が合意に達したら、beeware課題管理システムで新しい機能リクエスト課題を作成し、議論を要約するとともに、背景説明として議論へのリンクを記載してください。
ご自身の機能提案を必ずしもご自身で実装する必要はありません。提案内容の詳細を記載したイシューを開くことができます。ただし、単にイシューを投稿したからといって、それが必ず実装されるわけではありません。 同じ機能に関心を持つ他のコミュニティメンバーやコアチームメンバーが取り上げてくれる可能性を待つ必要があります。ただし、それが必ず実現する保証はありません。確実に実装したい場合は、ご自身で実装するか、他の人に実装を依頼する必要があります。
ご興味があれば、新機能の実装を開始できます。