Controllo verde
Link copiato negli appunti

Suggerimenti per iniziare a contribuire ai progetti open-source di Ultralytics

Scopri come contribuire ai progetti open-source di Ultralytics ed esplora i migliori consigli relativi alla documentazione, alla revisione delle PR e all'utilizzo degli strumenti essenziali.

La base del software open-source è la collaborazione, l'apprendimento e la condivisione. I progetti open-source sono un ottimo modo per unire le persone e costruire qualcosa di più grande di loro. Noi di 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, scrivendo la documentazione, revisionando il codice o risolvendo i problemi, ma non sai da dove cominciare o se hai dei problemi, siamo qui per aiutarti a iniziare. In questo articolo ti daremo alcuni consigli per iniziare a contribuire ai progetti open-source di Ultralytics . Immergiamoci subito!

L'importanza di Ultralytics Contributi della comunità

Prima di vedere come contribuire, rispondiamo alla domanda sul perché i contributi sono così importanti. Crediamo fortemente nell'importanza dei contributi della comunità di Ultralytics . Partecipando ai nostri progetti open-source, fai molto di più che aiutarci a costruire un software migliore. I collaboratori svolgono un ruolo fondamentale nel garantire che la nostra tecnologia rimanga aperta, collaborativa e in continua evoluzione. I tuoi contributi fanno sì che i nostri progetti siano fiorenti, accessibili e vantaggiosi per gli utenti e gli sviluppatori di tutto il mondo!

Oltre a creare software all'avanguardia, contribuire ai progetti di Ultralytics è anche una fantastica opportunità di crescita. Potrai sviluppare le tue capacità di codifica, di risoluzione dei problemi e di lavoro di squadra, lavorando al fianco di sviluppatori esperti che possono offrire indicazioni e condividere le migliori pratiche. I tuoi sforzi possono avere un impatto reale sugli strumenti utilizzati da migliaia di persone in tutto il mondo. Impegnarti nella nostra comunità può anche aiutarti a espandere la tua rete professionale, ad aprirti nuove opportunità e a migliorare il tuo portfolio per farti notare dai datori di lavoro.

Figura 1. Motivi per contribuire. Immagine dell'autore.

Come iniziare con i contributi open-source di Ultralytics

Un ottimo punto di partenza è la guida ufficiale ai contributi di Ultralytics . È ricca di buone pratiche e consigli per aiutarti a sfruttare al meglio i tuoi contributi. Il primo passo è quello di familiarizzare con ciò che è già parte del progetto, comprendendo le linee guida per la contribuzione e immergendoti nel codice. 

Se vuoi contribuire allo sviluppo o semplicemente esplorare il codice più recente, il passo successivo è clonare il repository Ultralytics . Una volta fatto questo, puoi andare nella directory del progetto e installare il pacchetto in modalità modificabile, come mostrato nel frammento di codice qui sotto.


# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics

# Navigate to the cloned directory
cd ultralytics

# Install the package in editable mode for development
pip install -e .

Se hai bisogno di aiuto, la nostra guida rapida contiene tutto ciò che ti serve per iniziare senza problemi.

Diverse aree a cui contribuire

Dopo aver configurato il tuo ambiente e aver preso confidenza con il progetto, puoi esplorare le diverse aree in cui puoi avere un impatto significativo. Ultralytics offre diversi modi per partecipare 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 immergersi nel progetto e affinare le tue capacità di scrittura. Puoi contribuire migliorando la documentazione esistente, aggiungendo dettagli mancanti o creando nuove guide che rendano più facile per gli altri contribuire.
  • Correzioni di bug: Se hai un po' di esperienza di codifica, prendi in considerazione l'idea di lavorare alla correzione di bug. Questi possono andare da piccole modifiche a problemi più complessi, dandoti la possibilità di avere un impatto tangibile sul progetto.
  • Miglioramenti delle caratteristiche: Per chi è pronto ad approfondire, lavorare sui miglioramenti 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.
  • Recensioni sulle richieste di pull: La revisione delle richieste di pull è un altro modo prezioso per contribuire, soprattutto se conosci bene gli standard e le best practice del progetto. Fornendo feedback e suggerendo miglioramenti, contribuisci a mantenere la qualità e l'integrità della base di codice.
  • Discussioni della comunità: 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 idee 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 interessi. Ricorda che ogni contributo, per quanto piccolo, ha un ruolo fondamentale per la crescita e l'evoluzione di Ultralytics .

Figura 2. Ogni contributo è apprezzato nella nostra comunità in crescita. Fonte dell'immagine: Envato Elements.

Contribuire alla documentazione open source di Ultralytics

Quando contribuisci alla documentazione di Ultralytics , assicurati di esaminare la documentazione esistente e di verificare se ci sono problemi o discussioni che evidenziano aree da migliorare. Questo aiuta a garantire che i tuoi contributi si concentrino dove sono più necessari. 

Quando scrivi o editi, tieni presente che è fondamentale seguire le linee guida del progetto per mantenere la coerenza. Ecco alcuni consigli per la formattazione:

  • Usa sempre la formattazione diMarkdown .
  • Inizia ogni documento con un'introduzione chiara e mantieni un linguaggio semplice e accessibile. 
  • Usa i punti elenco per gli elenchi, il testo descrittivo per i link e le immagini sotto 1 MB per far sì che le pagine si carichino velocemente.
  • In caso di dubbi sulla formattazione, un modo semplice per ricontrollare la tua formattazione è controllare come è stata formattata la documentazione precedente.
Figura 3. Un esempio di formattazione di Markdown (a sinistra) e il documento finale visualizzato (a destra). Immagine dell'autore.

Una volta realizzata la tua bozza, è importante che tu ne faccia un'anteprima creando la documentazione in locale. In questo modo potrai individuare eventuali problemi prima di inviarla. Per farlo, inizia clonando il repository e navigando nella directory del progetto:


git clone https://github.com/ultralytics/ultralytics
cd ultralytics

Successivamente, puoi installare le dipendenze necessarie:


pip install -e ".[dev]"

Infine, servi la documentazione in locale per rivedere le tue modifiche:


mkdocs serve -f mkdocs.yml

Puoi visualizzare i documenti creati localmente navigando su `http://127.0.0.1:8000/` nel tuo browser web. 

Dopo averne verificato la chiarezza, l'accuratezza e la coerenza, puoi inviare una richiesta di pull con una descrizione chiara del documento che hai creato. Assicurati di collocare il documento nella sezione appropriata in base alla sua collocazione(guide, soluzioni, integrazioni, ecc.). Dai anche un'occhiata al file index.md per le sezioni pertinenti e al file mkdocs.yml in generale e apporta gli aggiornamenti necessari. L'attenzione ai dettagli aiuterà il processo di revisione a svolgersi senza intoppi e a garantire che il tuo contributo sia ben integrato nel progetto.

Cose da tenere a mente quando si contribuisce al codice open source

Quando contribuisci al progetto Ultralytics , è importante seguire le migliori pratiche per 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 quando possibile e riduci al minimo gli argomenti non necessari.
  • Apporta modifiche più piccole e mirate: Concentrati su cambiamenti più piccoli e mirati piuttosto che su grandi modifiche.
  • Semplificare o rimuovere il codice: Cerca le opportunità per semplificare il codice o rimuovere le parti non necessarie.
  • Scrivi dei documenti efficaci docstrings: Spiega chiaramente cosa fa il tuo codice e collega le risorse pertinenti.
  • Evita le dipendenze non necessarie: Aggiungi le dipendenze solo se sono assolutamente necessarie.
Figura 4. Migliori pratiche per la documentazione del codice sorgente.

È inoltre fondamentale considerare la manutenibilità a lungo termine della base di codice. Prima di apportare qualsiasi modifica, chiediti se le tue modifiche potrebbero rompere il codice esistente di qualcuno che utilizza Ultralytics. In tal caso, valuta come affrontare il problema e assicurati che le tue modifiche siano il più possibile compatibili.

Una volta sviluppato un pezzo di codice per contribuire, dovrai testarlo. Puoi utilizzare framework come pytest per testare le tue modifiche prima di inviarle. La formattazione coerente del codice è un altro aspetto molto importante del tuo contributo. Strumenti come Ruff Formatter possono aiutarti a mantenere la coerenza stilistica e a rilevare eventuali bug logici o incoerenze nel codice. 

Esaminare le richieste di pull

La revisione delle richieste di pull (PR) è un ottimo modo per contribuire! Una PR viene fatta quando qualcuno chiede di unire le proprie modifiche al progetto principale. Questo aiuta a far funzionare il progetto Ultralytics senza intoppi. Quando stai esaminando una PR, assicurati di aver compreso il motivo per cui sono state apportate le modifiche. L'autore dovrebbe spiegare chiaramente lo scopo e i vantaggi dell'aggiornamento e dovresti vedere le prove di un test accurato nel PR. 

Figura 5. Cos'è una richiesta di pull?

Vediamo alcuni punti chiave su cui concentrarsi.

  • Verifica la presenza di test unitari: Controlla che la PR includa i test per le nuove funzionalità o le modifiche per confermare che il codice funzioni come previsto e non introduca problemi.
  • Verifica gli aggiornamenti della documentazione: Verifica che la documentazione sia aggiornata per riflettere le modifiche o le nuove funzionalità, compresi gli esempi, i riferimenti alle API e altri dettagli rilevanti.
  • Valutare l'impatto sulle prestazioni: Valuta l'impatto delle modifiche sulle prestazioni. Se necessario, richiedi dei benchmark delle prestazioni o ulteriori test.
  • Verifica dei test CI: Assicurati che tutti i test della Continuous Integration (CI) siano superati, compresi i controlli sulla formattazione del codice e sui risultati dei test unitari.
  • Collabora alle correzioni: Se qualche test fallisce, collabora con l'autore per risolvere i problemi prima di approvare la PR.

In qualità di revisore, assicurati di fornire un feedback specifico e chiaro su eventuali problemi o preoccupazioni. Offri suggerimenti per il miglioramento e fai domande che aiutino l'autore a riflettere sui potenziali problemi. Incoraggialo a seguire le migliori pratiche di codifica, test e documentazione e non esitare a indicargli le risorse che possono esserti utili. Infine, ma non meno importante, riconosci sempre l'impegno che l'autore ha profuso nella PR. Un feedback positivo aiuta a mantenere un'atmosfera amichevole e collaborativa nella comunità open-source.

Contribuire è tutta una questione di comunità

Contribuire a progetti open-source come Ultralytics può darti un senso di comunità stimolante. Che tu stia scrivendo codice, revisionando PR, aggiornando la documentazione o partecipando a discussioni, ogni sforzo aiuta il progetto a crescere e ad evolversi. Rispondere ai problemi o partecipare alle conversazioni, sia su GitHub che su Discord, Subreddit o altri forum, è un modo prezioso per contribuire e connettersi con gli altri. Ricorda che i tuoi contributi, per quanto piccoli, hanno un impatto significativo e aiutano a promuovere un ambiente collaborativo e di supporto per tutti i partecipanti!

Noi di Ultralytics siamo appassionati di innovazione nella comunità open-source. Resta aggiornato sui nostri ultimi sviluppi visitando il nostro repository GitHub. Unisciti alla nostra vivace comunità e scopri come stiamo facendo breccia in settori come l'agricoltura e l'industria manifatturiera.

Logo di FacebookLogo di TwitterLogo di LinkedInSimbolo di copia-link

Leggi tutto in questa categoria

Costruiamo insieme il futuro
di AI!

Inizia il tuo viaggio nel futuro dell'apprendimento automatico