コンテンツへスキップ

Ultralytics オープンソースプロジェクトへの貢献

ようこそ私たちは、あなたが私たちのオープンソースプロジェクトに貢献することを検討していることに興奮しています。 Ultralyticsオープンソースプロジェクトへの貢献をご検討いただいていることに感激しています。あなたの参加は、私たちのリポジトリの品質向上に役立つだけでなく、コミュニティ全体にも利益をもたらします。このガイドは、あなたが始めるのに役立つ明確なガイドラインとベストプラクティスを提供します。

Ultralytics オープンソース・コントリビューター

目次

  1. 行動規範
  2. プルリクエストによる貢献
  3. バグの報告
  4. ライセンス
  5. 結論
  6. よくあるご質問

行動規範

誰にとっても歓迎され、包括的な環境を確保するために、すべての貢献者は行動規範を遵守しなければなりません。尊敬、優しさ、プロ意識が私たちのコミュニティの中心です。

プルリクエストによる貢献

プルリクエストの形でのご協力を大いに歓迎いたします。レビュープロセスをできるだけスムーズにするために、以下の手順に従ってください:

  1. リポジトリをフォークする Ultralytics YOLO リポジトリをあなたのGitHubアカウントにフォークすることから始めましょう。

  2. ブランチを作成します:フォークしたリポジトリに新しいブランチを作成し、変更を反映したわかりやすい名前を付けます。

  3. 変更を加える:あなたのコードがプロジェクトのスタイル・ガイドラインを遵守し、新たなエラーや警告が発生しないことを確認してください。

  4. 変更をテストする提出する前に、変更をローカルでテストし、期待通りに動作し、新たな問題が発生しないことを確認してください。

  5. 変更をコミットします:簡潔で説明的なコミットメッセージを添えて変更をコミットしてください。変更が特定の問題に対処している場合は、コミットメッセージに問題番号を含めてください。

  6. プルリクエストを作成する:フォークしたリポジトリからメインのUltralytics YOLO リポジトリにプルリクエストを提出します。あなたの変更点と、それがプロジェクトをどのように改善するのかを、明確かつ詳細に説明してください。

CLAサイン会

私たちがあなたのプルリクエストをマージする前に、あなたは私たちのコントリビューターライセンス契約 (CLA) に署名する必要があります。この法的合意は、あなたの貢献が適切にライセンスされていることを保証し、プロジェクトがAGPL-3.0 ライセンスの下で配布され続けることを可能にします。

プルリクエストを送信すると、CLAボットが署名プロセスを案内します。CLAに署名するには、PRにコメントを追加するだけです:

I have read the CLA Document and I sign the CLA

Google-スタイル・ドックストリング

新しい関数やクラスを追加するときは、Google-styledocstrings を含めてください。これらのdocstringは、他の開発者があなたのコードを理解し、保守するのに役立つ、明確で標準化されたドキュメントを提供します。

ドクストリングの例

この例では、Google-styleのdocstringを示している。入力と出力の両方が types は常に括弧で囲まれる、 (bool).

def example_function(arg1, arg2=4):
    """
    Example function demonstrating Google-style docstrings.

    Args:
        arg1 (int): The first argument.
        arg2 (int): The second argument, with a default value of 4.

    Returns:
        (bool): True if successful, False otherwise.

    Examples:
        >>> result = example_function(1, 2)  # returns False
    """
    if arg1 == arg2:
        return True
    return False

この例では、Google-style docstringと、引数と戻り値の型ヒントの両方を含んでいるが、どちらかを単独で使っても構わない。

def example_function(arg1: int, arg2: int = 4) -> bool:
    """
    Example function demonstrating Google-style docstrings.

    Args:
        arg1: The first argument.
        arg2: The second argument, with a default value of 4.

    Returns:
        True if successful, False otherwise.

    Examples:
        >>> result = example_function(1, 2)  # returns False
    """
    if arg1 == arg2:
        return True
    return False

小規模または単純な関数の場合は、1行のdocstringで十分な場合があります。docstringはダブルクォートを3つ使い、完全な文であり、大文字で始まり、ピリオドで終わらなければならない。

def example_small_function(arg1: int, arg2: int = 4) -> bool:
    """Example function with a single-line docstring."""
    return arg1 == arg2

GitHub アクション CI テスト

すべてのプルリクエストは、マージする前に GitHub Actions の継続的インテグレーション(CI) テストに合格する必要があります。これらのテストには、リンティング、ユニットテスト、その他のチェックが含まれ、あなたの変更がプロジェクトの品質基準を満たしていることを確認します。CI の出力を確認し、問題があれば対処しましょう。

バグの報告

私たちは、プロジェクトの品質を維持するために、バグ報告を非常に重視しています。バグを報告する際には、Minimum Reproducible Example(再現可能な最小限の例)、つまり、問題を一貫して再現するシンプルで明確なコード例を提示してください。これにより、問題を迅速に特定し、解決することができます。

ライセンス

Ultralytics は、GNU Affero General Public License v3.0 (AGPL-3.0) をリポジトリに使用しています。このライセンスは、ソフトウェア開発における開放性、透明性、共同改善を促進するものである。このライセンスは、すべてのユーザーがソフトウェアを使用、変更、共有する自由を保証し、コラボレーションとイノベーションの強力なコミュニティを育成します。

Ultralytics オープンソースコミュニティに効果的かつ倫理的に貢献するために、すべての貢献者にAGPL-3.0 ライセンスの条項を熟知することをお勧めします。

結論

オープンソース Ultralyticsオープンソース YOLO プロジェクトへの貢献に関心をお寄せいただき、ありがとうございます。私たちのソフトウェアの未来を形成し、革新と協力の活気あるコミュニティを構築するためには、皆様の参加が不可欠です。コードの改良、バグの報告、新機能の提案など、あなたの貢献は非常に貴重です。

We're excited to see your ideas come to life and appreciate your commitment to advancing object detection technology. Together, let's continue to grow and innovate in this exciting open-source journey. Happy coding! 🚀🌟

よくあるご質問

Ultralytics YOLO オープンソースのリポジトリに貢献するメリットは?

Ultralytics YOLO オープンソースリポジトリに貢献することで、ソフトウェアが改善され、コミュニティ全体にとってより堅牢で豊富な機能を持つようになります。貢献には、コードの拡張、バグ修正、ドキュメントの改善、新機能の実装などが含まれます。さらに、貢献することで、他の熟練した開発者やその分野の専門家と協力することができ、あなた自身のスキルや評判を高めることができます。コントリビュート開始方法の詳細については、プルリクエストによるコントリビュートセクションを参照してください。

Ultralytics YOLO のコントリビューター・ライセンス契約(CLA)に署名するにはどうすればよいですか?

コントリビューターライセンス契約 (CLA) に署名するには、プルリクエストを送信した後、CLA bot が提供する指示に従ってください。このプロセスにより、あなたの貢献がAGPL-3.0 ライセンスの下で適切にライセンスされ、オープンソースプロジェクトの法的整合性が維持されます。プルリクエストにコメントを追加してください:

I have read the CLA Document and I sign the CLA.

詳細については、CLA署名のセクションを参照してください。

Google-style docstringsとは何ですか?また、なぜUltralytics YOLO の投稿に必要なのですか?

Google-スタイルのdocstringは、関数やクラスに対して明確で簡潔なドキュメントを提供し、コードの可読性と保守性を向上させます。これらのdocstringは、関数の目的、引数、戻り値の概要を特定の書式規則で記述します。Ultralytics YOLO に貢献する場合、Google-style docstrings に従うことで、あなたの追加した関数がきちんと文書化され、容易に理解できるようになります。例とガイドラインについては、Google-StyleDocstringsセクションをご覧ください。

自分の変更が GitHub Actions CI のテストに合格していることを確認するにはどうすればよいですか?

プルリクエストをマージする前に、GitHub Actions の継続的インテグレーション (CI) テストに合格する必要があります。これらのテストには、リンティング、ユニットテスト、その他のチェックが含まれます。

プロジェクトの品質基準を満たす。CI の出力を確認し、問題があれば修正する。CI プロセスの詳細とトラブルシューティングのヒントについては、GitHub Actions CI Testsセクションを参照ください。

Ultralytics YOLO リポジトリのバグを報告するには?

バグを報告するには、バグ報告とともに、明確で簡潔な「再現可能な最小限の例(Minimum Reproducible Example)」を提出してください。これは、開発者が問題を素早く特定し、修正するのに役立ちます。あなたの例は最小限のものでありながら、問題を再現するのに十分なものであることを確認してください。バグ報告の詳細な手順については、バグ報告のセクションを参照してください。

📅 Created 11 months ago ✏️ Updated 29 days ago

コメント