Yolo 深圳
深セン
今すぐ参加

Ultralytics オープンソースプロジェクトに貢献するためのヒント

Abirami Vina

4分で読めます

2024年8月28日

Ultralytics オープンソースプロジェクトに貢献する方法を学び、ドキュメンテーション、PRのレビュー、必須ツールの使用に関する最高のヒントを探ります。

オープンソースソフトウェアの基本は、コラボレーション、学習、共有です。オープンソースプロジェクトは、人々が集まって自分自身よりも大きなものを構築するための素晴らしい方法です。Ultralytics、オープンソースの原則を大切にし、オープンソースプロジェクトに貢献することを常に奨励しています。 

ドキュメントを書いたり、コードをレビューしたり、問題に対処したりと、貢献することにわくわくしているけれど、何から始めたらいいのかわからない、あるいは問題に直面しているという方。この記事では、Ultralytics オープンソースプロジェクトに貢献するためのヒントをご紹介します。さっそく始めましょう!

Ultralytics コミュニティへの貢献の重要性

貢献の方法について説明する前に、なぜ貢献が重要なのかという疑問にお答えしましょう。私たちは、Ultralytics コミュニティからの貢献の重要性を強く信じています。私たちのオープンソースプロジェクトに参加することで、私たちがより良いソフトウェアを構築する手助けをするだけではありません。コントリビューターは、私たちのテクノロジーがオープンで協力的で、常に進化し続けるために重要な役割を担っています。皆様の貢献により、私たちのプロジェクトは繁栄し、アクセスしやすくなり、世界中のユーザーや開発者にとって有益なものとなります!

最先端のソフトウェアを作成するだけでなく、Ultralytics プロジェクトに貢献することは、あなたが成長するための素晴らしい機会でもあります。コーディング、問題解決、チームワークのスキルを向上させながら、経験豊富な開発者と共に働き、指導を受けたり、ベストプラクティスを共有したりすることができます。あなたの努力は、世界中の何千人もの人々に使用されているツールに実際に影響を与えることができます。また、当コミュニティに参加することで、プロフェッショナルなネットワークを広げ、新たな機会を開拓し、ポートフォリオを充実させることができます。

図1. 貢献する理由。著者による画像。

Ultralytics オープンソース貢献の始め方

まずは、 Ultralytics 公式貢献ガイドをご覧ください。このガイドには、あなたの貢献を最大限に活用するためのベストプラクティスとヒントが詰まっています。最初のステップは、コントリビュートガイドラインを理解し、コードに飛び込むことで、すでにプロジェクトの一部となっているものに慣れることでしょう。 

開発に貢献したい場合でも、最新のコードを調べたい場合でも、次のステップは Ultralytics リポジトリをクローンすることです。それができたら、プロジェクトディレクトリに行き、以下のコードスニペットに示すように、編集可能モードでパッケージをインストールすることができます。

サポートが必要な場合は、クイックスタートガイドにスムーズに開始するために必要なものがすべて記載されています。

貢献できるさまざまな分野

環境を設定し、プロジェクトに慣れたら、有意義な影響を与えることができるさまざまな分野を探索することができます。Ultralytics いくつかの参加方法があり、スキルや興味に応じて貢献方法を選ぶことができます。 

いくつかのオプションをご紹介します。

  • ドキュメント:ドキュメントへの貢献は、文章スキルを磨きながらプロジェクトに深く関わるための素晴らしい方法です。既存のドキュメントの改善、不足している詳細の追加、または他の人が貢献しやすくなるような新しいガイドの作成などを通じて貢献できます。
  • バグ修正:コーディングの経験がある場合は、バグ修正に取り組むことを検討してください。これらは、小さな調整からより複雑な問題まで多岐にわたり、プロジェクトに具体的な影響を与える機会となります。
  • 機能拡張:より深く関わりたい方にとって、機能拡張への取り組みは、やりがいがあり、挑戦しがいのあるものです。これには、新しい機能の追加、既存の機能の改善、またはプロジェクトのロードマップへの取り組みなどが含まれます。
  • プルリクエストのレビュー:プルリクエストのレビューは、特にプロジェクトの標準とベストプラクティスに精通している場合に、貢献するためのもう1つの価値ある方法です。フィードバックを提供し、改善を提案することで、コードベースの品質と整合性を維持するのに役立ちます。
  • コミュニティディスカッション:コラボレーションやアイデアの共有を楽しんでいる場合は、コミュニティディスカッションへの参加が貢献するための優れた方法です。進行中の会話に参加したり、新しいアイデアを提案したり、洞察や解決策を提供して他の人を支援したりできます。

これらの分野にはそれぞれユニークな貢献方法があり、あなたの強みや関心に最も適したものを選ぶことができます。どんなに小さな貢献でも、Ultralytics 成長と進化に重要な役割を果たしていることを忘れないでください。

図2. 私たちの成長するコミュニティでは、すべての貢献が評価されています。画像ソース:Envato Elements。

Ultralytics オープンソースドキュメントへの貢献

Ultralytics ドキュメントに貢献する際は、必ず既存のドキュメントを確認し、改善が必要な領域を強調する問題やディスカッションがないかをチェックしてください。そうすることで、あなたの貢献が最も必要とされるところに集中できるようになります。 

記述または編集する際は、一貫性を維持するために、プロジェクトのガイドラインに従うことが重要であることを念頭に置いてください。以下に、いくつかの書式設定のヒントを示します。


  • ‍ 常にMarkdown フォーマットを使用する。
  • 各ドキュメントは明確な紹介から始め、言語はシンプルでわかりやすくしてください。 
  • リストには箇条書きを使用し、リンクには説明的なテキストを使用し、ページをすばやくロードできるように1 MB未満の画像を使用してください。
  • 書式設定について質問がある場合は、以前のドキュメントがどのように書式設定されているかを確認すると、書式設定を簡単に再確認できます。
図3.Markdown フォーマットの例(左)と最終的に視覚化された文書(右)。画像は著者による

下書きを作成したら、ドキュメントをローカルでビルドしてプレビューすることが重要です。送信する前に問題を検出できます。これを行うには、まずリポジトリをクローンして、プロジェクトディレクトリに移動します。

次に、必要な依存関係をインストールできます。

最後に、ドキュメントをローカルで提供して、変更を確認します。

Webブラウザで`http://127.0.0.1:8000/`に移動して、ローカルでビルドされたドキュメントを表示できます。 

明確さ、正確さ、一貫性を確認した後、作成したドキュメントの明確な説明とともにプルリクエストを送信できます。ドキュメントが属し、最も適合する場所(ガイドソリューション統合など)に基づいて、適切なセクションにドキュメントを配置してください。関連するセクションのindex.mdファイルと、全体のmkdocs.ymlファイルも確認し、必要に応じて更新してください。細部への注意は、レビュープロセスをスムーズに進め、貢献がプロジェクトに適切に統合されるようにするのに役立ちます。

オープンソースコードに貢献する際に留意すべき点

Ultralytics プロジェクトにコードを貢献する際には、あなたのコードがクリーンで、保守可能で、統合が容易であることを保証するベストプラクティスに従うことが重要です。以下に留意すべき重要なポイントを挙げます:

  • コードの重複を避ける: 可能な限り既存のコードを再利用し、不必要な引数を最小限に抑えます。
  • 小さく、焦点を絞った変更を加える: 大規模な変更ではなく、小さく、的を絞った変更に焦点を当てます。
  • コードを簡素化または削除する: コードを簡素化したり、不要な部分を削除したりする機会を探します。
  • 効果的なdocstringを書く: コードの機能を明確に説明し、関連リソースへのリンクを記載します。
  • 不要な依存関係を避ける: 依存関係は、どうしても必要な場合にのみ追加します。
図4.ソースコードのドキュメントに関するベストプラクティス

コードベースの長期的な保守性を考慮することも不可欠です。変更を加える前に、その変更がUltralytics使用している誰かの既存のコードを壊す可能性があるかどうかを自問してください。もしそうであれば、どのように対処するかを検討し、あなたの変更が可能な限り互換性のあるものであることを確認してください。

貢献するコードを開発したら、それをテストする必要があります。pytestのようなフレームワークを使って、投稿する前に変更をテストすることができます。一貫性のあるコード書式は、あなたの貢献のもう一つの側面であり、非常に重要です。Ruff Formatterの ようなツールは、スタイルの一貫性を維持し、コード内の論理的なバグや矛盾をdetect のに役立ちます。 

プルリクエストのレビュー

プルリクエスト(PR)をレビューすることは、貢献するための素晴らしい方法です!プルリクエストは、誰かが自分の変更をメインプロジェクトにマージするようリクエストしたときに発生します。PRはUltralytics プロジェクトを円滑に運営するのに役立ちます。PRをレビューするときは、なぜその変更が行われたのかを理解してください。作者はアップデートの目的と利点を明確に説明すべきですし、PRには徹底的なテストの証拠があるはずです。 

図5.プルリクエストとは?

焦点を当てるべきいくつかの重要な点を見ていきましょう。

  • 単体テストの確認: コードが期待どおりに動作し、問題が発生しないことを確認するために、PRに新しい機能または変更のテストが含まれていることを確認します。
  • ドキュメントの更新のレビュー: 例、APIリファレンス、その他の関連詳細など、変更または新機能を反映するようにドキュメントが更新されていることを確認します。
  • パフォーマンスへの影響の評価: 変更がパフォーマンスにどのように影響するかを検討します。必要に応じて、パフォーマンスベンチマークまたは追加のテストを要求します。
  • CIテストの検証: コードフォーマットと単体テストの結果のチェックを含め、すべての継続的インテグレーション(CI)テストが合格していることを確認します。
  • 修正の共同作業: テストが失敗した場合は、PRを承認する前に、作成者と協力して問題を解決します。

レビュー担当者として、問題や懸念事項について具体的かつ明確なフィードバックを提供してください。改善のための提案を行い、作成者が潜在的な問題を検討するのに役立つ質問をします。コーディング、テスト、ドキュメント作成におけるベストプラクティスに従うように促し、役立つリソースを紹介することを躊躇しないでください。最後に、作成者がPRに費やした労力を常に認識してください。肯定的なフィードバックは、オープンソースコミュニティにおける友好的で協力的な雰囲気を維持するのに役立ちます。

貢献とはコミュニティのこと

Ultralytics ようなオープンソースプロジェクトに貢献することで、感動的なコミュニティ意識を得ることができます。コードを書いたり、PRをレビューしたり、ドキュメントを更新したり、ディスカッションに参加したりすることは、プロジェクトの成長と進化に役立ちます。GitHubDiscordSubreddit、その他のフォーラムを問わず、問題に答えたり、会話に参加したりすることは、貢献し、他の人とつながるための貴重な方法です。あなたの貢献がどんなに小さなものであっても、大きな影響を与え、関係者全員にとって協力的で支援的な環境を育む助けとなることを忘れないでください!

Ultralytics、オープンソースコミュニティにおけるイノベーションの推進に情熱を注いでいます。GitHubリポジトリにアクセスして、私たちの最新開発のループを維持します。私たちの活気あるコミュニティに参加して、私たちが農業や 製造業などの業界全体にどのような影響を与えているかをご覧ください。

AIの未来を
共に築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。

無料ではじめる