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. Forke das Repository: Forke das Ultralytics YOLO Repository in dein eigenes GitHub-Konto.

  2. Erstelle einen Zweig: Erstelle einen neuen Zweig in deinem geforkten Repository mit einem beschreibenden 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 den Open-Source-Projekten von Ultralytics' YOLO mitzuarbeiten. 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-01-24
Autoren: glenn-jocher (3)

Kommentare