Zum Inhalt springen

Beitrag zu Ultralytics Open-Source-Repositories YOLO

Zunächst einmal vielen Dank für dein Interesse, einen Beitrag zu den Ultralytics Open-Source-Repositories YOLO zu leisten! Deine Beiträge werden helfen, das Projekt zu verbessern und der Gemeinschaft zu nutzen. Dieses Dokument enthält Richtlinien und Best Practices, die dir den Einstieg erleichtern.

Inhaltsverzeichnis

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

Verhaltenskodex

Von allen Mitwirkenden wird erwartet, dass sie 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 reibungsloser zu gestalten, befolge bitte diese Richtlinien:

  1. Das Repository forken: Forke das Ultralytics YOLO Repository in dein eigenes 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: Nimm die Änderungen vor, die du beitragen willst. Achte darauf, dass deine Änderungen dem Codierungsstil 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. Vergewissere dich, dass du in deiner Commit-Nachricht alle relevanten Problemnummern angibst.

  6. Erstelle einen Pull Request: Erstelle einen Pull-Request von deinem Forked-Repository zum Haupt-Repository Ultralytics YOLO . Beschreibe in der Pull-Request-Beschreibung deine Änderungen und erläutere, wie sie das Projekt verbessern.

CLA Unterzeichnung

Bevor wir deinen Pull Request annehmen können, musst du eine Lizenzvereinbarung für Mitwirkende (CLA) unterschreiben. Dabei handelt es sich um ein rechtliches Dokument, in dem du dich mit den Bedingungen für die Mitarbeit an den Ultralytics YOLO Repositories einverstanden erklärst. Die CLA 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

Docstrings im Google-Stil

Wenn du neue Funktionen oder Klassen hinzufügst, füge bitte einen Docstring im Google-Stil 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 beide Docstrings im Google-Stil. Beachte, dass sowohl Input als auch Output types muss immer in Klammern gesetzt werden, 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 Google-style docstrings als auch Argument- und Rückgabetypen-Hinweise, obwohl beides nicht erforderlich ist, das eine kann ohne das andere 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. Beachte, 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 sind gespannt darauf, deine Ideen in die Tat umzusetzen und schätzen dein Engagement für die Weiterentwicklung der Objekterkennungstechnologie. Lasst uns gemeinsam auf dieser spannenden Open-Source-Reise weiter wachsen und innovativ sein. Viel Spaß beim Coding! 🚀🌟



Erstellt am 2023-11-12, Aktualisiert am 2024-03-08
Autoren: glenn-jocher (4)

Kommentare