Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Suggerimenti per iniziare a contribuire ai progetti Open-Source Ultralytics

Abirami Vina

4 minuti di lettura

28 agosto 2024

Imparate a contribuire ai progetti open-source Ultralytics ed esplorate i migliori consigli relativi alla documentazione, alla revisione delle PR e all'uso 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. In Ultralytics abbiamo a cuore i principi dell'open-source e vi incoraggiamo sempre a contribuire ai nostri progetti open-source. 

Se siete entusiasti di contribuire, scrivendo documentazione, revisionando il codice o risolvendo problemi, ma non sapete da dove cominciare o state affrontando qualche problema, siamo qui per aiutarvi a iniziare. In questo articolo vi forniremo alcuni suggerimenti per iniziare a contribuire ai progetti open-source Ultralytics . Immergiamoci subito!

L'importanza dei contributi della comunità Ultralytics

Prima di vedere come contribuire, rispondiamo alla domanda sul perché i contributi sono così fondamentali. Crediamo fermamente nell'importanza dei contributi della comunità Ultralytics . Partecipando ai nostri progetti open-source, fate 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 costante evoluzione. I vostri contributi mantengono i nostri progetti 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. Potrete sviluppare le vostre 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 vostri sforzi possono avere un impatto reale sugli strumenti utilizzati da migliaia di persone in tutto il mondo. Impegnarsi con la nostra comunità può anche aiutarvi a espandere la vostra rete professionale, ad aprire nuove opportunità e a migliorare il vostro portfolio per farvi notare dai datori di lavoro.

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

Come iniziare con i contributi open-source Ultralytics

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

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

Se hai bisogno di aiuto, la nostra guida rapida ha tutto ciò di cui hai bisogno per iniziare senza problemi.

Diverse aree in cui contribuire

Dopo aver configurato il vostro ambiente e aver familiarizzato con il progetto, potete esplorare le diverse aree in cui potete avere un impatto significativo. Ultralytics offre diversi modi per partecipare e potete scegliere come contribuire in base alle vostre competenze e ai vostri interessi. 

Ecco uno sguardo ad alcune delle opzioni:

  • Documentazione: Contribuire alla documentazione è un ottimo modo per immergersi nel progetto affinando 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 una certa esperienza di programmazione, considera di lavorare alla correzione di bug. Questi possono variare da piccole modifiche a problemi più complessi, dandoti la possibilità di avere un impatto tangibile sul progetto.
  • Miglioramenti delle funzionalità: Per coloro che sono pronti ad approfondire, lavorare sui miglioramenti delle funzionalità può essere sia stimolante che 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 (Pull request reviews): la revisione delle pull request è un altro modo prezioso per contribuire, soprattutto se si ha familiarità con gli standard e le best practice del progetto. Fornendo feedback e suggerendo miglioramenti, si contribuisce a mantenere la qualità e l'integrità del codebase.
  • Discussioni nella community: Partecipare alle discussioni della community è un ottimo modo per contribuire se ti piace collaborare e condividere 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 potete scegliere quella che meglio si allinea con i vostri punti di forza e interessi. Ricordate che ogni contributo, per quanto piccolo, ha un ruolo fondamentale per la crescita e l'evoluzione di Ultralytics .

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

Contribuire alla documentazione open-source Ultralytics

Quando contribuite alla documentazione di Ultralytics , assicuratevi di esaminare la documentazione esistente e di verificare la presenza di eventuali problemi o discussioni che evidenzino aree da migliorare. Questo aiuta a garantire che i vostri contributi si concentrino dove sono più necessari. 

Quando si scrive o si modifica, è fondamentale seguire le linee guida del progetto per mantenere la coerenza. Ecco alcuni suggerimenti di formattazione:

  • Utilizzare sempre la formattazioneMarkdown .
  • Inizia ogni documento con una chiara introduzione e mantieni un linguaggio semplice e accessibile. 
  • Utilizza elenchi puntati per gli elenchi, testo descrittivo per i link e immagini inferiori a 1 MB per consentire il caricamento rapido delle pagine.
  • In caso di domande sulla formattazione, un modo semplice per ricontrollare è verificare come è stata formattata la documentazione precedente.
Figura 3. Un esempio di formattazione Markdown (a sinistra) e il documento finale visualizzato (a destra). Immagine dell'autore.

Una volta তৈরি করা হয়ে গেলে, ডকুমেন্টেশনটি স্থানীয়ভাবে তৈরি করে প্রিভিউ করা গুরুত্বপূর্ণ। জমা দেওয়ার আগে আপনি যেকোনো সমস্যা ধরতে পারেন। এটি করার জন্য, প্রথমে রিপোজিটরি ক্লোন করুন এবং প্রকল্পের ডিরেক্টরিতে নেভিগেট করুন:

Successivamente, puoi installare le dipendenze necessarie:

Infine, avvia il server della documentazione in locale per rivedere le modifiche:

Puoi visualizzare la documentazione creata localmente navigando su `http://127.0.0.1:8000/` nel tuo browser web. 

Dopo aver verificato chiarezza, accuratezza e coerenza, è possibile inviare una pull request con una descrizione chiara del documento creato. Assicurati di posizionare il documento nella sezione appropriata in base a dove appartiene e si adatta meglio (guide, soluzioni, integrazioni, ecc.). Si prega di dare un'occhiata anche al file index.md per le sezioni pertinenti e al file mkdocs.yml generale ed effettuare gli aggiornamenti necessari. L'attenzione ai dettagli aiuterà il processo di revisione a svolgersi senza intoppi e garantirà che il tuo contributo sia ben integrato nel progetto.

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

Quando si apportano contributi di codice al progetto Ultralytics , è importante seguire le migliori pratiche che aiutano a garantire che il codice sia pulito, mantenibile e facile da integrare. Ecco alcuni punti chiave da tenere a mente:

  • Evita la duplicazione del codice: Riusa il codice esistente ove possibile e riduci al minimo gli argomenti non necessari.
  • Apportare modifiche più piccole e mirate: Concentrarsi 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 collega a risorse pertinenti.
  • Evita dipendenze non necessarie: Aggiungi dipendenze solo se sono assolutamente necessarie.
Fig. 4. Best practice per la documentazione del codice sorgente.

È anche essenziale considerare la manutenibilità a lungo termine della base di codice. Prima di apportare qualsiasi modifica, chiedetevi se le vostre modifiche potrebbero interrompere il codice esistente di qualcuno che utilizza Ultralytics. In tal caso, valutate come affrontare il problema e assicuratevi che le vostre modifiche siano il più possibile compatibili.

Una volta sviluppato un pezzo di codice da contribuire, è necessario testarlo. Si possono usare framework come pytest per testare le modifiche prima di inviarle. La formattazione coerente del codice è un altro aspetto molto importante del vostro contributo. Strumenti come Ruff Formatter possono aiutare a mantenere la coerenza stilistica e a detect eventuali bug logici o incoerenze nel codice. 

Revisione delle pull request

La revisione delle richieste di pull (PR) è un ottimo modo per contribuire! Una PR viene sollevata quando qualcuno chiede di unire le proprie modifiche al progetto principale. Questo aiuta a far funzionare il progetto Ultralytics senza intoppi. Quando si esamina un PR, bisogna assicurarsi di capire perché sono state apportate le modifiche. L'autore dovrebbe spiegare chiaramente lo scopo e i vantaggi dell'aggiornamento e si dovrebbe vedere la prova di test approfonditi nella PR. 

Fig 5. Cos'è una pull request?

Analizziamo alcuni aspetti chiave su cui concentrarsi.

  • Verifica la presenza di 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.
  • Rivedi 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 rilevanti.
  • Valutare l'impatto sulle prestazioni: Considerare come le modifiche influiscono sulle prestazioni. Se necessario, richiedere benchmark delle prestazioni o test aggiuntivi.
  • Verifica dei test CI: Assicurarsi che tutti i test di Continuous Integration (CI) siano superati, compresi i controlli per la formattazione del codice e i risultati degli unit test.
  • Collabora alle correzioni: Se qualsiasi 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 poni domande che aiutino l'autore a riflettere su potenziali problemi. Incoraggialo a seguire le migliori pratiche nella codifica, nel test e nella documentazione e non esitare a indirizzarlo verso risorse che possono essere d'aiuto. Ultimo ma non meno importante, riconosci sempre lo sforzo che l'autore ha dedicato alla PR. Un feedback positivo aiuta a mantenere un'atmosfera amichevole e collaborativa nella comunità open-source.

Contribuire significa far parte di una comunità

Contribuire a progetti open-source come Ultralytics può dare un senso di comunità stimolante. Che si tratti di scrivere codice, revisionare PR, aggiornare la documentazione o partecipare a discussioni, ogni sforzo aiuta il progetto a crescere e a evolversi. Rispondere ai problemi o partecipare alle conversazioni, su GitHub, Discord, Subreddit o altri forum, è un modo prezioso per contribuire e connettersi con gli altri. Ricordate che i vostri contributi, per quanto piccoli, hanno un impatto significativo e aiutano a promuovere un ambiente collaborativo e di supporto per tutti i partecipanti!

In Ultralytics siamo appassionati di innovazione nella comunità open-source. Rimanete aggiornati sui nostri ultimi sviluppi visitando il nostro repository GitHub. Entrate a far parte della nostra vivace comunità e scoprite come stiamo facendo un impatto in settori come quello agricolo e manifatturiero.

Costruiamo insieme il futuro
dell'AI!

Inizia il tuo viaggio con il futuro del machine learning

Inizia gratis