Overslaan naar inhoud

Bijdragen aan Ultralytics Open-Source YOLO Repositories

Allereerst bedankt voor je interesse in het bijdragen aan Ultralytics open-source YOLO repositories! Je bijdragen zullen het project verbeteren en de gemeenschap ten goede komen. Dit document biedt richtlijnen en best practices om je op weg te helpen.

Inhoudsopgave

  1. Gedragscode
  2. Bijdragen via Pull Requests
  3. Bugs rapporteren
  4. Licentie
  5. Conclusie

Gedragscode

Van alle medewerkers wordt verwacht dat ze zich houden aan de Gedragscode om te zorgen voor een uitnodigende en inclusieve omgeving voor iedereen.

Bijdragen via Pull Requests

We verwelkomen bijdragen in de vorm van pull requests. Volg deze richtlijnen om het reviewproces soepeler te laten verlopen:

  1. Het archief forken: Fork de Ultralytics YOLO repository naar je eigen GitHub account.

  2. Maak een tak: Maak een nieuwe branch aan in je gevorkte repository met een beschrijvende naam voor je wijzigingen.

  3. Breng je wijzigingen aan: Breng de wijzigingen aan die je wilt bijdragen. Zorg ervoor dat je wijzigingen de coderingsstijl van het project volgen en geen nieuwe fouten of waarschuwingen introduceren.

  4. Test je wijzigingen: Test je wijzigingen lokaal om er zeker van te zijn dat ze werken zoals verwacht en geen nieuwe problemen introduceren.

  5. Je wijzigingen vastleggen: Committeer je wijzigingen met een beschrijvende commit boodschap. Zorg ervoor dat je alle relevante probleemnummers in je commit bericht opneemt.

  6. Maak een pull-verzoek aan: Maak een pull request van je gevorkte repository naar de hoofdrepository Ultralytics YOLO . Geef in de beschrijving van het pull request een duidelijke uitleg van je wijzigingen en hoe ze het project verbeteren.

CAO ondertekening

Voordat we je pull request kunnen accepteren, moet je een Contributor License Agreement (CLA) ondertekenen. Dit is een juridisch document waarin staat dat je akkoord gaat met de voorwaarden voor het bijdragen aan de Ultralytics YOLO repositories. De CLA zorgt ervoor dat je bijdragen onder de juiste licentie vallen en dat het project verder gedistribueerd kan worden onder de AGPL-3.0 licentie.

Om de CLA te ondertekenen volg je de instructies van de CLA-bot nadat je je PR hebt ingediend en voeg je een opmerking toe aan je PR met de tekst:

I have read the CLA Document and I sign the CLA

Google-achtige documentstrings

Als je nieuwe functies of klassen toevoegt, voeg dan een Google-style docstring toe om duidelijke en beknopte documentatie te bieden aan andere ontwikkelaars. Dit helpt ervoor te zorgen dat je bijdragen gemakkelijk te begrijpen en te onderhouden zijn.

Voorbeeld Docstrings

Dit voorbeeld toont beide Google-stijl docstrings. Merk op dat zowel invoer als uitvoer types moet altijd tussen haakjes staan, dus (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

Dit voorbeeld toont zowel Google-style docstrings als argument- en retourneertype hints, hoewel beide niet vereist zijn, kan het ene gebruikt worden zonder het andere.

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 of eenvoudigere functies kunnen een eenregelige docstring gebruiken. Merk op dat de docstring 3 dubbele aanhalingstekens moet gebruiken en een volledige zin moet zijn die begint met een hoofdletter en eindigt met een punt.

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

GitHub Acties CI Tests

Voordat je pull request samengevoegd kan worden, moeten alle GitHub Actions Continuous Integration (CI) tests slagen. Deze tests omvatten linting, unit tests en andere controles om ervoor te zorgen dat je wijzigingen voldoen aan de kwaliteitsstandaarden van het project. Zorg ervoor dat je de uitvoer van de GitHub Actions bekijkt en eventuele problemen oplost

Bugs rapporteren

We stellen bugrapporten op prijs omdat ze een cruciale rol spelen in het behouden van de kwaliteit van het project. Bij het rapporteren van bugs is het belangrijk om een Minimaal Reproduceerbaar Voorbeeld te geven: een duidelijk, beknopt codevoorbeeld dat het probleem repliceert. Dit helpt bij het snel identificeren en oplossen van de bug.

Licentie

Ultralytics omarmt de GNU Affero General Public License v3.0 (AGPL-3.0 ) voor zijn repositories, wat openheid, transparantie en gezamenlijke verbetering in softwareontwikkeling bevordert. Deze sterke copyleft licentie zorgt ervoor dat alle gebruikers en ontwikkelaars de vrijheid behouden om de software te gebruiken, aan te passen en te delen. Het bevordert de samenwerking binnen de gemeenschap en zorgt ervoor dat verbeteringen voor iedereen toegankelijk blijven.

Gebruikers en ontwikkelaars worden aangemoedigd om zich vertrouwd te maken met de voorwaarden van AGPL-3.0 om effectief en ethisch bij te dragen aan de Ultralytics open-source gemeenschap.

Conclusie

Bedankt voor je interesse in het bijdragen aan Ultralytics open-source YOLO projecten. Jouw deelname is cruciaal voor het vormgeven van de toekomst van onze software en het stimuleren van een gemeenschap van innovatie en samenwerking. Of je nu code verbetert, bugs rapporteert of functies voorstelt, jouw bijdragen hebben een grote impact.

We staan te popelen om jullie ideeΓ«n in actie te zien en waarderen jullie inzet om de technologie voor objectdetectie te verbeteren. Laten we samen blijven groeien en innoveren in deze spannende open-source reis. Veel plezier met coderen! πŸš€πŸŒŸ



Gemaakt op 2023-11-12, Bijgewerkt op 2024-03-08
Auteurs: glenn-jocher (4)

Reacties