Zum Inhalt springen

Beitrag zu Ultralytics Open-Source-Repositories YOLO

Vielen Dank für Ihr Interesse, einen Beitrag zu leisten Ultralytics Open-Source YOLO repositorien! Ihre Beiträge werden das Projekt verbessern und der gesamten Gemeinschaft zugute kommen. Dieses Dokument enthält Richtlinien und bewährte Methoden, die Ihnen den Einstieg erleichtern.

Inhaltsverzeichnis

  1. Verhaltenskodex
  2. Mitmachen über Pull Requests
  3. Bugs melden
  4. Lizenz
  5. Fazit

Verhaltenskodex

Alle Mitwirkenden müssen sich an den Verhaltenskodex halten, um ein einladendes und integratives Umfeld für alle zu schaffen.

Mitmachen über Pull Requests

Wir freuen uns über Beiträge in Form von Pull Requests. Um den Überprüfungsprozess zu optimieren, befolgen Sie bitte diese Richtlinien:

  1. Das Repository forken: Forke das Ultralytics YOLO Repository in dein GitHub-Konto.

  2. Einen Zweig erstellen: Erstelle einen neuen Zweig in deinem geforkten Repository mit einem aussagekräftigen Namen für deine Änderungen.

  3. Nimm deine Änderungen vor: Achte darauf, dass deine Änderungen dem Kodierungsstil des Projekts entsprechen und keine neuen Fehler oder Warnungen einführen.

  4. Teste deine Änderungen: Teste deine Änderungen lokal, um sicherzustellen, dass sie wie erwartet funktionieren und keine neuen Probleme verursachen.

  5. Bestätige deine Änderungen: Übertrage deine Änderungen mit einer aussagekräftigen Commit-Nachricht. Füge in deiner Commit-Nachricht alle relevanten Problemnummern ein.

  6. Erstelle einen Pull Request: Erstelle einen Pull-Request von deinem Forked Repository zum Haupt-Repository Ultralytics YOLO . Erläutere deine Änderungen und wie sie das Projekt verbessern.

CLA Unterzeichnung

Bevor wir deinen Pull Request akzeptieren können, musst du einen Contributor License Agreement (CLA) unterschreiben. Dieses Rechtsdokument stellt sicher, dass deine Beiträge ordnungsgemäß lizenziert sind und dass das Projekt weiterhin unter der AGPL-3.0 Lizenz verbreitet werden kann.

Um die GAV zu unterzeichnen, befolge die Anweisungen des GAV-Bots, nachdem du deinen PR eingereicht hast, und füge einen Kommentar in deinem PR hinzu:

I have read the CLA Document and I sign the CLA

Google-Style Docstrings

Wenn du neue Funktionen oder Klassen hinzufügst, füge einen Docstring im Stil von Google hinzu, um eine klare und präzise Dokumentation für andere Entwickler zu erstellen. So kannst du sicherstellen, dass deine Beiträge leicht zu verstehen und zu pflegen sind.

Beispiel Docstrings

Dieses Beispiel zeigt einen Google-style docstring. Beachte, dass sowohl Input als auch Output types müssen immer in Klammern stehen, d.h. (bool).

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

    Args:
        arg1 (int): The first argument.
        arg2 (int): The second argument. Default value is 4.

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

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

Dieses Beispiel zeigt sowohl einen Google-style docstring als auch Argument- und Rückgabetyp-Hinweise, obwohl beides nicht erforderlich ist; einer kann ohne den anderen verwendet werden.

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

    Args:
        arg1: The first argument.
        arg2: The second argument. Default value is 4.

    Returns:
        True if successful, False otherwise.

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

Kleinere oder einfachere Funktionen können einen einzeiligen Docstring verwenden. Beachten Sie, dass der Docstring 3 doppelte Anführungszeichen verwenden und ein vollständiger Satz sein muss, der mit einem Großbuchstaben beginnt und mit einem Punkt endet.

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

GitHub-Aktionen CI-Tests

Bevor dein Pull Request zusammengeführt werden kann, müssen alle GitHub Actions Continuous Integration (CI) Tests bestanden werden. Diese Tests umfassen Linting, Unit-Tests und andere Prüfungen, um sicherzustellen, dass deine Änderungen den Qualitätsstandards des Projekts entsprechen. Überprüfe die Ergebnisse der GitHub Actions und behebe alle Probleme.

Bugs melden

Wir freuen uns über Fehlermeldungen, da sie eine wichtige Rolle bei der Aufrechterhaltung der Qualität des Projekts spielen. Wenn du Fehler meldest, ist es wichtig, dass du ein reproduzierbares Mindestbeispiel angibst: ein klares, prägnantes Codebeispiel, das das Problem reproduziert. Das hilft dabei, den Fehler schnell zu identifizieren und zu beheben.

Lizenz

Ultralytics nutzt die GNU Affero General Public License v3.0 (AGPL-3.0 ) für seine Repositories und fördert damit Offenheit, Transparenz und kollaborative Weiterentwicklung in der Softwareentwicklung. Diese starke Copyleft-Lizenz stellt sicher, dass alle Nutzer und Entwickler die Freiheit haben, die Software zu nutzen, zu verändern und weiterzugeben. Sie fördert die Zusammenarbeit der Gemeinschaft und stellt sicher, dass alle Verbesserungen für alle zugänglich bleiben.

Nutzer und Entwickler sind aufgefordert, sich mit den Bedingungen von AGPL-3.0 vertraut zu machen, um einen effektiven und ethisch vertretbaren Beitrag zur Ultralytics Open-Source-Community zu leisten.

Fazit

Vielen Dank für dein Interesse an der Mitarbeit an Ultralytics open-source YOLO Projekten. Deine Mitarbeit ist entscheidend für die Zukunft unserer Software und für die Förderung einer Gemeinschaft, die sich durch Innovation und Zusammenarbeit auszeichnet. Egal, ob du den Code verbesserst, Fehler meldest oder neue Funktionen vorschlägst, deine Beiträge haben einen großen Einfluss.

Wir freuen uns darauf, Ihre Ideen in Aktion zu sehen und schätzen Ihr Engagement für die Weiterentwicklung der Objekterkennungstechnologie. Lassen Sie uns auf dieser aufregenden Open-Source-Reise gemeinsam weiter wachsen und innovativ sein. Viel Spaß beim Programmieren! 🚀🌟

FAQ

Warum sollte ich zu den Open-Source-Repositories Ultralytics YOLO beitragen?

Beiträge zu den Open-Source-Repositories Ultralytics YOLO helfen dabei, die Software zu verbessern und sie für die gesamte Gemeinschaft robuster und funktionsreicher zu machen. Beiträge können Codeverbesserungen, Fehlerkorrekturen, Verbesserungen der Dokumentation und die Implementierung neuer Funktionen beinhalten. Außerdem hast du die Möglichkeit, mit anderen erfahrenen Entwicklern und Experten auf dem Gebiet zusammenzuarbeiten und so deine eigenen Fähigkeiten und deinen Ruf zu verbessern. Wie du loslegen kannst, erfährst du im Abschnitt Beitragen über Pull Requests.

Wie unterschreibe ich den Contributor License Agreement (CLA) für Ultralytics YOLO ?

Um das Contributor License Agreement (CLA) zu unterzeichnen, befolge die Anweisungen des CLA-Bots, nachdem du deinen Pull Request eingereicht hast. Dadurch wird sichergestellt, dass deine Beiträge ordnungsgemäß unter der AGPL-3.0 Lizenz lizenziert werden und die rechtliche Integrität des Open-Source-Projekts gewahrt bleibt. Füge einen Kommentar in deinem Pull Request hinzu und erwähne ihn:

I have read the CLA Document and I sign the CLA

Weitere Informationen findest du im Abschnitt über die CLA-Signierung.

Was sind Google-style docstrings und warum sind sie für Ultralytics YOLO Beiträge erforderlich?

Google-Docstrings bieten eine klare und präzise Dokumentation für Funktionen und Klassen, die die Lesbarkeit und Wartbarkeit des Codes verbessert. In diesen Docstrings werden der Zweck der Funktion, die Argumente und die Rückgabewerte mit bestimmten Formatierungsregeln beschrieben. Wenn du zu Ultralytics YOLO beiträgst, kannst du durch die Einhaltung der Google-style docstrings sicherstellen, dass deine Ergänzungen verständlich und gut dokumentiert sind. Beispiele und Richtlinien findest du im Abschnitt Google-Style Docstrings.

Wie kann ich sicherstellen, dass meine Änderungen die GitHub Actions CI-Tests bestehen?

Bevor dein Pull Request zusammengeführt wird, muss er alle GitHub Actions Continuous Integration (CI) Tests bestehen. Diese Tests umfassen Linting, Unit-Tests und andere Prüfungen, um sicherzustellen, dass der Code den Qualitätsstandards des Projekts entspricht. Überprüfe die Ergebnisse der GitHub Actions und behebe alle Probleme. Ausführliche Informationen über den CI-Prozess und Tipps zur Fehlerbehebung findest du im Abschnitt GitHub Actions CI-Tests.

Wie melde ich einen Fehler in Ultralytics YOLO repositories?

Wenn du einen Fehler meldest, solltest du ein klares und präzises, reproduzierbares Mindestbeispiel zusammen mit deinem Fehlerbericht angeben. Das hilft den Entwicklern, das Problem schnell zu erkennen und zu beheben. Achte darauf, dass dein Beispiel minimal, aber ausreichend ist, um das Problem zu reproduzieren. Ausführlichere Schritte zum Melden von Fehlern findest du im Abschnitt Fehler melden.



Erstellt am 2023-11-12, Aktualisiert am 2024-07-04
Autoren: glenn-jocher (8), UltralyticsAssistant (1)

Kommentare