Zum Inhalt springen

Mitwirkung an Ultralytics Open-Source-Projekten

Herzlich willkommen! Wir freuen uns sehr, dass du dich an unseren Open-Source-Projekten beteiligen Ultralytics Open-Source-Projekten beizutragen. Dein Engagement 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 Best Practices, um dir den Einstieg zu erleichtern.

Ultralytics Open-Source-Mitwirkende

Inhaltsverzeichnis

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

Verhaltenskodex

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

Mitmachen ü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, befolge bitte diese Schritte:

  1. Forke das Repository: Beginne damit, das Ultralytics YOLO Repository in dein GitHub-Konto zu forken.

  2. Erstelle einen Zweig: Erstelle einen neuen Zweig in deinem geforkten Repository mit einem klaren, beschreibenden Namen, der deine Änderungen widerspiegelt.

  3. Nimm deine Änderungen vor: Stelle sicher, dass dein Code den Stilrichtlinien des Projekts entspricht und keine neuen Fehler oder Warnungen enthält.

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

  5. Übertrage deine Änderungen: Übertrage deine Änderungen mit einer prägnanten und aussagekräftigen Commit-Nachricht. Wenn deine Änderungen ein bestimmtes Problem betreffen, gib die Nummer des Problems in deiner Commit-Nachricht an.

  6. Erstelle einen Pull Request: Schicke einen Pull-Request von deinem Forked Repository an das Haupt-Repository Ultralytics YOLO . Erkläre klar und detailliert, welche Änderungen du vorgenommen hast und wie sie das Projekt verbessern.

CLA Unterzeichnung

Bevor wir deinen Pull Request zusammenführen können, musst du unser Contributor License Agreement (CLA) unterschreiben. Diese rechtliche Vereinbarung stellt sicher, dass deine Beiträge ordnungsgemäß lizenziert sind und das Projekt weiterhin unter der AGPL-3.0 Lizenz verbreitet werden kann.

Nachdem du deinen Pull Request eingereicht hast, führt dich der CLA-Bot durch den Signierungsprozess. Um den CLA zu unterzeichnen, füge einfach einen Kommentar in deinen PR ein, in dem du angibst:

I have read the CLA Document and I sign the CLA

Google-Style Docstrings

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

Beispiel Docstrings

Dieses Beispiel veranschaulicht einen Google-style docstring. Achte darauf, dass sowohl Input als auch Output 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 es auch möglich ist, beide unabhängig voneinander zu verwenden.

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 Requests 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 deine Änderungen den Qualitätsstandards des Projekts entsprechen. Überprüfe den CI-Output und behebe alle Probleme, die auftreten.

Bugs melden

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

Lizenz

Ultralytics verwendet die GNU Affero General Public License v3.0 (AGPL-3.0 ) für seine Repositories. Diese Lizenz fördert Offenheit, Transparenz und gemeinschaftliche Verbesserungen bei der Softwareentwicklung. Sie stellt sicher, dass alle Nutzer/innen 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.

Fazit

Vielen Dank für dein Interesse an der Mitarbeit an Ultralytics Open-Source-Projekten YOLO . Deine Mitarbeit ist wichtig, um die Zukunft unserer Software zu gestalten und eine lebendige Gemeinschaft der Innovation und Zusammenarbeit aufzubauen. Ob du den Code verbesserst, Fehler meldest oder neue Funktionen vorschlägst, deine Beiträge sind von unschätzbarem Wert.

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! 🚀🌟

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 robuster und funktionsreicher für die gesamte Gemeinschaft. Beiträge können Codeverbesserungen, Fehlerkorrekturen, Verbesserungen der Dokumentation und die Implementierung neuer Funktionen beinhalten. Außerdem kannst du mit anderen erfahrenen Entwicklern und Experten auf dem Gebiet zusammenarbeiten und so deine eigenen Fähigkeiten und deinen Ruf verbessern. Wie du am besten vorgehst, 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. Dieser Vorgang stellt sicher, 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, der besagt:

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-Stil bieten eine klare, prägnante Dokumentation für Funktionen und Klassen und verbessern die Lesbarkeit und Wartbarkeit des Codes. 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 gut dokumentiert und leicht verständlich 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 werden kann, muss er alle GitHub Actions Continuous Integration (CI) Tests bestehen. Zu diesen Tests gehören Linting, Unit-Tests und andere Prüfungen, die sicherstellen, dass der Code den

die Qualitätsstandards des Projekts. Überprüfe die CI-Ausgabe 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.


📅 Created 11 months ago ✏️ Updated 16 days ago

Kommentare