Suggerimenti per iniziare a contribuire ai progetti open-source di Ultralytics
Impara come contribuire ai progetti open-source di Ultralytics ed esplora i migliori consigli relativi alla documentazione, alla revisione delle PR e all'uso di strumenti essenziali.

La base del software open source è la collaborazione, l'apprendimento e la condivisione. I progetti open source sono un ottimo modo per le persone di riunirsi per costruire qualcosa di più grande di loro. In Ultralytics, abbiamo a cuore i principi dell'open source e ti incoraggiamo sempre a contribuire ai nostri progetti open source.
Se sei entusiasta di contribuire, che si tratti di scrivere documentazione, revisionare codice o affrontare problemi, ma non sai da dove iniziare o stai riscontrando alcuni problemi, siamo qui per aiutarti a iniziare. In questo articolo, ti guideremo attraverso alcuni suggerimenti per iniziare a contribuire ai progetti open source di Ultralytics. Immergiamoci subito!
Link to this sectionL'importanza dei contributi della community di Ultralytics#
Prima di vedere come contribuire, rispondiamo alla domanda sul perché i contributi siano così cruciali. Crediamo fermamente nell'importanza dei contributi della community di Ultralytics. Partecipando ai nostri progetti open source, stai facendo molto più che aiutarci a costruire un software migliore. I collaboratori svolgono un ruolo chiave nel garantire che la nostra tecnologia rimanga aperta, collaborativa e in costante evoluzione. I tuoi contributi mantengono i nostri progetti prosperi, accessibili e utili per utenti e sviluppatori di tutto il mondo!
Oltre a creare software all'avanguardia, contribuire ai progetti Ultralytics è anche una fantastica opportunità di crescita per te. Puoi sviluppare le tue capacità di programmazione, risoluzione dei problemi e lavoro di squadra lavorando al fianco di sviluppatori esperti che possono offrirti una guida e condividere le migliori pratiche. I tuoi sforzi possono avere un impatto reale su strumenti utilizzati da migliaia di persone a livello globale. Interagire con la nostra community può anche aiutarti ad espandere il tuo network professionale, aprire nuove opportunità e migliorare il tuo portfolio per distinguerti agli occhi dei datori di lavoro.

Fig 1. Ragioni per contribuire. Immagine dell'autore.
Link to this sectionCome iniziare con i contributi open source a Ultralytics#
Un ottimo punto di partenza è dare un'occhiata alla guida ufficiale al contributo di Ultralytics. È ricca di migliori pratiche e suggerimenti per aiutarti a sfruttare al meglio i tuoi contributi. Il primo passo sarebbe familiarizzare con ciò che fa già parte del progetto comprendendo le linee guida per il contributo e analizzando il codice.
Che tu voglia contribuire allo sviluppo o semplicemente esplorare il codice più recente, il passo successivo è clonare il repository di Ultralytics. Una volta fatto, puoi andare nella directory del progetto e installare il pacchetto in modalità modificabile, come mostrato nello snippet di codice qui sotto.
Se hai bisogno di aiuto, la nostra guida rapida contiene tutto ciò che ti serve per iniziare senza intoppi.
Link to this sectionDiverse aree in cui contribuire#
Una volta configurato il tuo ambiente e acquisita familiarità con il progetto, puoi esplorare le diverse aree in cui puoi avere un impatto significativo. Ultralytics offre diversi modi per essere coinvolti e puoi scegliere come contribuire in base alle tue competenze e ai tuoi interessi.
Ecco una panoramica di alcune opzioni:
- Documentazione: Contribuire alla documentazione è un ottimo modo per approfondire il progetto affinando al contempo le tue capacità di scrittura. Puoi aiutare migliorando la documentazione esistente, aggiungendo dettagli mancanti o creando nuove guide che rendano più facile per gli altri contribuire.
- Correzione di bug: Se hai esperienza di programmazione, prendi in considerazione la possibilità di lavorare sulla correzione di bug. Questi possono variare da piccole modifiche a problemi più complessi, offrendoti la possibilità di avere un impatto tangibile sul progetto.
- Miglioramento delle funzionalità: Per coloro che sono pronti ad approfondire, lavorare al miglioramento delle funzionalità può essere stimolante e gratificante. Ciò potrebbe comportare l'aggiunta di nuove funzionalità, il miglioramento di quelle esistenti o il lavoro sulla roadmap del progetto.
- Revisioni delle pull request: Revisionare le pull request è un altro modo prezioso per contribuire, specialmente se conosci gli standard e le migliori pratiche del progetto. Fornendo feedback e suggerendo miglioramenti, aiuti a mantenere la qualità e l'integrità del codebase.
- Discussioni della community: Partecipare alle discussioni della community è un modo eccellente per contribuire se ti piace la collaborazione e la condivisione di idee. Partecipa alle conversazioni in corso, proponi nuove idee o aiuta gli altri offrendo le tue intuizioni e soluzioni.
Ognuna di queste aree offre un modo unico di contribuire e puoi scegliere quella che meglio si allinea con i tuoi punti di forza e i tuoi interessi. Ricorda, ogni contributo, non importa quanto piccolo, svolge un ruolo chiave nell'aiutare Ultralytics a crescere ed evolversi.

Fig 2. Ogni contributo è valorizzato nella nostra community in crescita. Fonte immagine: Envato Elements.
Link to this sectionContribuire alla documentazione open source di Ultralytics#
Quando contribuisci alla documentazione di Ultralytics, assicurati di revisionare la documentazione esistente e di controllare eventuali problemi o discussioni che evidenziano aree che necessitano di miglioramenti. In questo modo ti assicurerai che i tuoi contributi siano concentrati dove sono più necessari.
Quando scrivi o modifichi, tieni presente che è fondamentale seguire le linee guida del progetto per mantenere la coerenza. Ecco alcuni suggerimenti di formattazione:
- Usa sempre la formattazione Markdown.
- Inizia ogni documento con un'introduzione chiara e mantieni il linguaggio semplice e accessibile.
- Usa elenchi puntati per le liste, testo descrittivo per i link e immagini sotto 1 MB per consentire alle pagine di caricarsi rapidamente.
- Se hai domande sulla formattazione, un modo semplice per ricontrollarla è verificare come è stata formattata la documentazione precedente.

Fig 3. Un esempio di formattazione Markdown (a sinistra) e il documento visualizzato finale (a destra). Immagine dell'autore.
Una volta creata la bozza, è importante visualizzarla in anteprima creando la documentazione localmente. Puoi rilevare eventuali problemi prima di inviarla. Per farlo, inizia clonando il repository e passando alla directory del progetto:
Successivamente, puoi installare le dipendenze necessarie:
Infine, servi la documentazione localmente per revisionare le tue modifiche:
Puoi visualizzare la documentazione creata localmente accedendo a http://127.0.0.1:8000/ nel tuo browser web.
Dopo aver verificato chiarezza, accuratezza e coerenza, puoi inviare una pull request con una chiara descrizione del documento che hai creato. Assicurati di inserire il documento nella sezione appropriata in base a dove appartiene e si adatta meglio (guide, soluzioni, integrazioni, ecc.). Dai anche un'occhiata al file index.md per le sezioni pertinenti e al file mkdocs.yml complessivo, ed effettua eventuali aggiornamenti necessari. L'attenzione ai dettagli aiuterà il processo di revisione a procedere senza intoppi e garantirà che il tuo contributo sia ben integrato nel progetto.
Link to this sectionCose da tenere a mente quando si contribuisce al codice open source#
Quando fornisci contributi di codice al progetto Ultralytics, è importante seguire le migliori pratiche che aiutano a garantire che il tuo codice sia pulito, manutenibile e facile da integrare. Ecco alcuni punti chiave da tenere a mente:
- Evita la duplicazione del codice: Riutilizza il codice esistente ove possibile e riduci al minimo gli argomenti non necessari.
- Apporta modifiche più piccole e mirate: Concentrati su modifiche più piccole e mirate piuttosto che su grandi modifiche.
- Semplifica o rimuovi il codice: Cerca opportunità per semplificare il codice o rimuovere parti non necessarie.
- Scrivi docstring efficaci: Spiega chiaramente cosa fa il tuo codice e inserisci i link alle risorse pertinenti.
- Evita dipendenze non necessarie: Aggiungi dipendenze solo se sono assolutamente necessarie.

Fig 4. Migliori pratiche per la documentazione del codice sorgente.
È anche essenziale considerare la manutenibilità a lungo termine del codebase. Prima di apportare modifiche, chiediti se le tue modifiche potrebbero interrompere il codice esistente di qualcuno che usa Ultralytics. Se è così, valuta come risolvere il problema e assicurati che le tue modifiche siano il più compatibili possibile.
Una volta sviluppato un pezzo di codice da contribuire, dovrai testarlo. Puoi usare framework come pytest per testare le tue modifiche prima di inviarle. Una formattazione coerente del codice è un altro aspetto molto importante del tuo contributo. Strumenti come il Ruff Formatter possono aiutarti a mantenere la coerenza stilistica e rilevare eventuali bug logici o incoerenze nel tuo codice.
Link to this sectionRevisione delle pull request#
Revisionare le pull request (PR) è un ottimo modo per contribuire! Una PR viene aperta quando qualcuno richiede di unire le proprie modifiche al progetto principale. Aiuta a mantenere il progetto Ultralytics senza intoppi. Quando revisioni una PR, assicurati di capire perché le modifiche sono state apportate. L'autore dovrebbe spiegare chiaramente lo scopo e i vantaggi dell'aggiornamento e dovresti vedere prove di test approfonditi nella loro PR.

Fig 5. Cos'è una pull request?
Analizziamo alcune cose chiave su cui concentrarsi.
- Controlla gli unit test: Verifica che la PR includa test per nuove funzionalità o modifiche per confermare che il codice funzioni come previsto e non introduca problemi.
- Revisiona gli aggiornamenti della documentazione: Verifica che la documentazione sia aggiornata per riflettere le modifiche o le nuove funzionalità, inclusi esempi, riferimenti API e altri dettagli pertinenti.
- Valuta l'impatto sulle prestazioni: Considera come le modifiche influenzano le prestazioni. Se necessario, richiedi benchmark delle prestazioni o test aggiuntivi.
- Verifica i test di CI: Assicurati che tutti i test di Integrazione Continua (CI) superino la verifica, inclusi i controlli per la formattazione del codice e i risultati degli unit test.
- Collabora alle correzioni: Se alcuni test falliscono, lavora con l'autore per risolvere i problemi prima di approvare la PR.
Come revisore, assicurati di fornire un feedback specifico e chiaro su eventuali problemi o dubbi. Offri suggerimenti per il miglioramento e poni domande che aiutino l'autore a riflettere su potenziali problemi. Incoraggialo a seguire le migliori pratiche di programmazione, test e documentazione e non esitare a indicargli le risorse che possono aiutarlo. Ultimo ma non meno importante, riconosci sempre lo sforzo che l'autore ha profuso nella PR. Un feedback positivo aiuta a mantenere un'atmosfera amichevole e collaborativa nella community open source.
Link to this sectionContribuire è tutta una questione di community#
Contribuire a progetti open source come Ultralytics può darti un senso di community stimolante. Che tu stia scrivendo codice, revisionando PR, aggiornando la documentazione o partecipando a discussioni, ogni sforzo aiuta il progetto a crescere ed evolversi. Rispondere a problemi o partecipare a conversazioni, sia su GitHub, Discord, Subreddit o altri forum, è un modo prezioso per contribuire e connettersi con gli altri. Ricorda, i tuoi contributi, non importa quanto piccoli, hanno un impatto significativo e aiutano a promuovere un ambiente collaborativo e di supporto per tutti i soggetti coinvolti!
In Ultralytics, siamo appassionati nel promuovere l'innovazione nella community open source. Rimani aggiornato sui nostri ultimi sviluppi visitando il nostro repository GitHub. Unisciti alla nostra vibrante community e scopri come stiamo avendo un impatto in settori come l'agricoltura e la produzione.






