Zum Inhalt springen

Mitwirkung an Ultralytics Open-Source-Projekten

Herzlich willkommen! Wir freuen uns, dass Sie einen Beitrag zu unseren Ultralytics Open-Source-Projekten beizutragen. Ihre Beteiligung trägt nicht nur zur Verbesserung der Qualität unserer Repositories bei, sondern kommt auch der gesamten Gemeinschaft zugute. Dieser Leitfaden enthält klare Richtlinien und bewährte Verfahren, die Ihnen den Einstieg erleichtern.

Ultralytics Open-Source-Mitwirkende

Inhaltsübersicht

  1. Verhaltenskodex
  2. Beitragen über Pull Requests
  3. Melden von Fehlern
  4. Lizenz
  5. Schlussfolgerung
  6. FAQ

Verhaltenskodex

Um ein einladendes und integratives Umfeld für alle zu schaffen, müssen sich alle Mitwirkenden an unseren Verhaltenskodex halten. Respekt, Freundlichkeit und Professionalität sind das Herzstück unserer Gemeinschaft.

Beitragen über Pull Requests

Wir freuen uns sehr über Beiträge in Form von Pull Requests. Um den Überprüfungsprozess so reibungslos wie möglich zu gestalten, folgen Sie bitte diesen Schritten:

  1. Forken Sie das Repository: Beginnen Sie damit, das Repository Ultralytics YOLO in Ihr GitHub-Konto zu forken.

  2. Erstellen Sie einen Zweig: Erstellen Sie einen neuen Zweig in Ihrem geforkten Repository mit einem klaren, beschreibenden Namen, der Ihre Änderungen widerspiegelt.

  3. Nehmen Sie Ihre Änderungen vor: Stellen Sie sicher, dass Ihr Code den Stilrichtlinien des Projekts entspricht und keine neuen Fehler oder Warnungen enthält.

  4. Testen Sie Ihre Änderungen: Testen Sie Ihre Änderungen vor dem Absenden lokal, um sicherzustellen, dass sie wie erwartet funktionieren und keine neuen Probleme verursachen.

  5. Übertragen Sie Ihre Änderungen: Übertragen Sie Ihre Änderungen mit einer prägnanten und aussagekräftigen Commit-Nachricht. Wenn sich Ihre Änderungen auf ein bestimmtes Problem beziehen, geben Sie die Nummer des Problems in Ihrer Commit-Nachricht an.

  6. Erstellen Sie einen Pull-Request: Schicken Sie einen Pull-Request von Ihrem Forked Repository an das Haupt-Repository Ultralytics YOLO . Geben Sie eine klare und detaillierte Erklärung Ihrer Änderungen und wie sie das Projekt verbessern.

CLA Unterzeichnung

Bevor wir Ihre Anfrage zusammenführen können, müssen Sie unser Contributor License Agreement (CLA) unterschreiben. Diese rechtliche Vereinbarung stellt sicher, dass Ihre Beiträge ordnungsgemäß lizenziert sind, so dass das Projekt weiterhin unter der AGPL-3.0 Lizenz verbreitet werden kann.

Nachdem Sie Ihre Anfrage eingereicht haben, wird der CLA-Bot Sie durch den Signierungsprozess leiten. Um die GAV zu unterzeichnen, fügen Sie einfach einen Kommentar in Ihren PR ein, in dem Sie angeben:

I have read the CLA Document and I sign the CLA

Google-Stil Docstrings

Wenn Sie neue Funktionen oder Klassen hinzufügen, fügen Sie bitte Google-style docstrings ein. Diese docstrings bieten eine klare, standardisierte Dokumentation, die anderen Entwicklern hilft, Ihren Code zu verstehen und zu pflegen.

Beispiel Docstrings

Dieses Beispiel veranschaulicht einen Google-style docstring. Stellen Sie sicher, dass sowohl Eingabe als auch Ausgabe types werden immer in Klammern gesetzt, z.B., (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

Dieses Beispiel enthält sowohl einen Google-style docstring als auch Typ-Hinweise für Argumente und Rückgaben, obwohl die Verwendung von beiden unabhängig voneinander auch akzeptabel ist.

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

Für kleinere oder einfachere Funktionen kann ein einzeiliger Docstring ausreichend sein. Der docstring muss drei doppelte Anführungszeichen verwenden, ein vollständiger Satz sein, mit einem Großbuchstaben beginnen und mit einem Punkt enden.

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

GitHub-Aktionen CI-Tests

Alle Pull-Anfragen müssen die GitHub Actions Continuous Integration (CI) Tests bestehen, bevor sie zusammengeführt werden können. Diese Tests umfassen Linting, Unit-Tests und andere Prüfungen, um sicherzustellen, dass Ihre Änderungen den Qualitätsstandards des Projekts entsprechen. Überprüfen Sie die CI-Ausgabe und beheben Sie alle auftretenden Probleme.

Melden von Fehlern

Wir schätzen Fehlerberichte sehr, da sie uns helfen, die Qualität unserer Projekte zu erhalten. Wenn Sie einen Fehler melden, geben Sie bitte ein minimal reproduzierbares Beispielan - eineinfaches, klares Codebeispiel, das das Problem konsistent reproduziert. So können wir das Problem schnell identifizieren und beheben.

Lizenz

Ultralytics verwendet für seine Repositories die GNU Affero General Public License v3.0 (AGPL-3.0 ). Diese Lizenz fördert Offenheit, Transparenz und gemeinschaftliche Verbesserungen bei der Softwareentwicklung. Sie gewährleistet, dass alle Nutzer die Freiheit haben, die Software zu nutzen, zu verändern und weiterzugeben, und fördert so eine starke Gemeinschaft der Zusammenarbeit und Innovation.

Wir ermutigen alle Mitwirkenden, sich mit den Bedingungen der AGPL-3.0 Lizenz vertraut zu machen, um einen effektiven und ethischen Beitrag zur Ultralytics Open-Source-Gemeinschaft zu leisten.

Schlussfolgerung

Vielen Dank für Ihr Interesse an der Mitwirkung an Ultralytics Open-Source-Projekten YOLO . Ihre Mitwirkung ist wichtig, um die Zukunft unserer Software zu gestalten und eine lebendige Gemeinschaft für Innovation und Zusammenarbeit aufzubauen. Ob Sie den Code verbessern, Fehler melden oder neue Funktionen vorschlagen, Ihre Beiträge sind von unschätzbarem Wert.

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

FAQ

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

Beiträge zu den Open-Source-Repositories Ultralytics YOLO verbessern die Software und machen sie für die gesamte Gemeinschaft robuster und funktionsreicher. Beiträge können Codeverbesserungen, Fehlerkorrekturen, Verbesserungen der Dokumentation und die Implementierung neuer Funktionen umfassen. Außerdem können Sie durch Ihre Beiträge mit anderen erfahrenen Entwicklern und Experten auf dem Gebiet zusammenarbeiten und so Ihre eigenen Fähigkeiten und Ihren Ruf verbessern. Einzelheiten zu den ersten Schritten finden Sie im Abschnitt Beiträge über Pull Requests.

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

Um die Lizenzvereinbarung für Mitwirkende (CLA) zu unterzeichnen, folgen Sie den Anweisungen des CLA-Bots, nachdem Sie Ihren Pull-Antrag eingereicht haben. Dieser Vorgang stellt sicher, dass Ihre Beiträge ordnungsgemäß unter der AGPL-3.0 Lizenz lizenziert werden und die rechtliche Integrität des Open-Source-Projekts gewahrt bleibt. Fügen Sie Ihrer Anfrage einen Kommentar hinzu, der angibt:

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

Weitere Informationen finden Sie im Abschnitt über die CLA-Signatur.

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

Google-Stil bieten eine klare, prägnante Dokumentation für Funktionen und Klassen und verbessern die Lesbarkeit und Wartbarkeit des Codes. Diese docstrings umreißen den Zweck der Funktion, die Argumente und die Rückgabewerte mit spezifischen Formatierungsregeln. Wenn Sie einen Beitrag zu Ultralytics YOLO leisten, stellen Sie durch die Einhaltung von Google-style docstrings sicher, dass Ihre Ergänzungen gut dokumentiert und leicht verständlich sind. Beispiele und Richtlinien finden Sie im Abschnitt Google-Style Docstrings.

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

Bevor Ihre Pull-Anfrage zusammengeführt werden kann, muss sie alle Tests von GitHub Actions Continuous Integration (CI) bestehen. Diese Tests umfassen Linting, Unit-Tests und andere Prüfungen, um sicherzustellen, dass der Code die folgenden Anforderungen erfüllt

die Qualitätsstandards des Projekts. Überprüfen Sie die CI-Ausgabe und beheben Sie alle Probleme. Ausführliche Informationen über den CI-Prozess und Tipps zur Fehlerbehebung finden Sie im Abschnitt GitHub Actions CI Tests.

Wie melde ich einen Fehler in den Repositories Ultralytics YOLO ?

Um einen Fehler zu melden, sollten Sie Ihrem Fehlerbericht ein klares und präzises , mindestens reproduzierbares Beispiel beifügen. Dies hilft den Entwicklern, das Problem schnell zu identifizieren und zu beheben. Stellen Sie sicher, dass Ihr Beispiel minimal, aber ausreichend ist, um das Problem zu reproduzieren. Ausführlichere Schritte zum Melden von Fehlern finden Sie im Abschnitt Fehler melden.

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 1 Monat

Kommentare