<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Open source - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Impara a programmare gratuitamente! Tutorial di programmazione su Python, JavaScript, Linux e molto altro. ]]>
        </description>
        <link>https://www.freecodecamp.org/italian/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Open source - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/italian/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 26 May 2026 10:15:25 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/italian/news/tag/open-source/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Open Source per Sviluppatori - Un Manuale per Principianti che ti Aiuterà a Iniziare a Contribuire ]]>
                </title>
                <description>
                    <![CDATA[ Cosa ti viene in mente quando senti il termine Open Source? Nel mondo della programmazione, open source è un termine generico per indicare un software open source (OSS). Un software open source è costruito su un codice sorgente accessibile a tutti che può essere visualizzato, modificato, ampliato e distribuito. In ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/open-source-per-sviluppatori/</link>
                <guid isPermaLink="false">64ae63490ec9a30673ad44af</guid>
                
                    <category>
                        <![CDATA[ Open source ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Giovanni Marletta ]]>
                </dc:creator>
                <pubDate>Fri, 21 Jul 2023 19:41:22 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2023/07/Open-Source-for-Developers-Book-Cover--1--1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/a-practical-guide-to-start-opensource-contributions/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Open Source for Developers – A Beginner's Handbook to Help You Start Contributing</a>
      </p><p>Cosa ti viene in mente quando senti il termine <strong>Open Source</strong>? Nel mondo della programmazione, open source è un termine generico per indicare un software open source (OSS). Un software open source è costruito su un codice sorgente accessibile a tutti che può essere visualizzato, modificato, ampliato e distribuito.</p><p>In questo articolo approfondiremo molti aspetti del software open source e del suo ecosistema. Parleremo di cosa ti serve per iniziare a contribuire all'open source, delle competenze necessarie, di come mantenere i progetti open-source, delle sfide, delle risorse e di alcuni progetti interessanti per iniziare.</p><p>Prima di iniziare, ecco qualche parola su di me e sul mio interesse per il mondo open-source.</p><p>Utilizzo quotidianamente progetti, prodotti e servizi open source e contribuisco ad alcuni di essi per migliorarli. Mi occupo anche di molti progetti open source per educare i principianti alla programmazione web.</p><p>Puoi consultare i progetti open-source che gestisco sul mio <a href="https://github.com/atapas">profilo GitHub</a>.</p><p>Questo articolo intende condividere con te la mia esperienza per aiutarti a iniziare a lavorare con l'open source, se non stai già contribuendo.</p><h2 id="come-funziona-l-open-source">Come funziona l'Open Source?</h2><p>I progetti open-source sono composti dalle seguenti persone ed elementi:</p><p><code>Manutentori del progetto</code>: i manutentori sono una o più persone che avviano il progetto open-source, lo gestiscono, prendono decisioni, fanno brainstorming di idee e lavorano a stretto contatto con i collaboratori, gli utenti e le piattaforme di marketing.</p><p>I manutentori del progetto avranno diritti di accesso e privilegi aggiuntivi per controllare vari aspetti del progetto.</p><p><code>Contributori del progetto</code>: quando i manutentori avviano un progetto open-source, sono i primi a contribuire. Man mano che il progetto cresce e più persone lo conoscono, cresce la volontà di contribuirvi.</p><p>Man mano che cresce, il progetto ottiene più collaboratori. Chiunque può esaminare il codice del progetto, modificarlo, richiedere una revisione e inserire le modifiche nel progetto.</p><p><code>Repository del codice sorgente e della documentazione</code>: il manutentore conserva il codice sorgente del progetto in un repository di codice sorgente centralizzato (ad esempio, GitHub). Questo aiuta tutti i collaboratori ad avere l'accesso necessario al codice per contribuire.</p><p><code>Licenza del progetto</code>: ogni progetto open source deve specificare una licenza di distribuzione per renderla chiara agli utenti/consumatori.</p><p>Esistono vari tipi di licenza e il manutentore può sceglierne una in base alle esigenze del progetto. Alcune licenze di distribuzione molto diffuse sono MIT, Apache License 2.0, GNU General Public License (GPL) 3.0 ecc.</p><p><code>Guida alla contribuzione</code>: un manutentore del progetto OSS crea una guida alla contribuzione per aiutare i collaboratori a comprendere il processo di pull request, gli standard, l'ambito e così via.</p><p><code>Guida al codice di condotta</code>: la guida al codice di condotta illustra le varie linee guida, la collaborazione, le aspettative di comportamento dei collaboratori e come approcciare e risolvere i problemi.</p><p><code>Cultura del progetto</code>: la cultura del progetto si evolve con la comunità del progetto. Sebbene i manutentori abbiano un ruolo importante, i collaboratori sono ugualmente responsabili del mantenimento di una sana cultura di apprendimento, condivisione e crescita.</p><p><code>Community</code>: man mano che il progetto cresce, la community si sviluppa intorno ad esso. Strumenti come GitHub Discussions e Discord sono famosi per organizzare interazioni basate sulla community.</p><p><code>Distribuzione</code>: un progetto open-source deve avere un modo per raggiungere gli utenti finali e i consumatori. Dovrebbe esserci un modello di distribuzione che aiuti il codice a tradursi in un prodotto finale da consegnare.</p><p><code>Utenti/Clienti</code>: gli utenti o i clienti sono i consumatori del prodotto che il team open-source costruisce utilizzando il codice sorgente.</p><p>Ora diamo un'occhiata all'immagine sottostante. Qui vediamo la community di un progetto open-source che comprende manutentori e collaboratori.</p><p>Il codice sorgente si trova nel repository centralizzato. I collaboratori fanno il <code>fork</code> (un termine che impareremo a breve) del <code>repository upstream</code> e contribuiscono. Una volta terminato il contributo, il manutentore del progetto lo integra al branch principale.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2022/07/opensource-model.png" class="kg-image" alt="opensource-model" width="600" height="400" loading="lazy"><figcaption>Una visione di alto livello del modello di lavoro Open Source</figcaption></figure><p>Non preoccupatevi se non conoscete termini come fork, branch, merge, ecc. Li impareremo presto in questo articolo. Continuate a leggere.</p><p>Ora cerchiamo di capire come il software open-source viene consegnato agli utenti/clienti.</p><p>L'immagine seguente mostra una delle tante possibilità ad alto livello. Un progetto open-source dovrebbe avere un meccanismo di build-package-deploy che utilizza il processo di Continuous Integration e Continuous Deployment (CI/CD).</p><p>Ogni volta che vengono apportate modifiche al codice nel branch principale (<code>main</code>), il flusso di lavoro CI/CD si avvia automaticamente. Costruisce il codice sorgente, lo impacchetta e lo distribuisce per renderlo accessibile agli utenti finali e ai clienti target.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2022/07/deploy.png" class="kg-image" alt="deploy" width="600" height="400" loading="lazy"><figcaption>Una visione di alto livello di come il CODICE SORGENTE arriva nelle mani degli utenti</figcaption></figure><p>Nota bene: il CI/CD o qualsiasi altro meccanismo di distribuzione non sono parte integrante dello sviluppo di software open source. Tuttavia, conoscerli aiuta a comprendere il modello di lavoro OSS da cima a fondo.</p><h2 id="cosa-significa-contribuire-all-open-source"><strong>Cosa significa contribuire all'Open Source?</strong></h2><p>Contribuire all'<code>Open Source</code> significa migliorare il progetto open source in qualsiasi modo. Una delle idee sbagliate che si possono avere sul contributo è che bisogna contribuire solo al codice sorgente. Ebbene, non è tutto qui.</p><p>Contribuire al codice sorgente di un progetto open source è solo un tipo di contributo che si può dare. Tuttavia, è possibile contribuire ad altre aree come:</p><ul><li>La documentazione del progetto. Migliorarla in modo che più collaboratori e utenti la trovino facile da gestire.</li><li>Testare l'applicazione, trovare i problemi e creare issue nel sistema di gestione dei problemi.</li><li>Partecipare alle revisioni del codice per aiutare il progetto a migliorare gli standard di codifica.</li><li>Scrivere unit test, test end-to-end e migliorare la qualità dell'applicazione.</li><li>Creare contenuti come articoli e video per diffondere la conoscenza del progetto.</li><li>Contribuire a costruire la community di persone interessate.</li></ul><p>Tutti questi elementi sono contributi cruciali per i progetti open source.</p><h2 id="i-vantaggi-dei-contributi-open-source"><strong>I vantaggi dei contributi Open Source</strong></h2><p>I contributi Open Source comportano una serie di vantaggi per gli sviluppatori. Alcuni vantaggi chiave sono:</p><ul><li>Ottenere la possibilità di migliorare le proprie skill.</li><li>Migliorare il software/l'applicazione con il codice e la documentazione.</li><li>Incontrare persone che la pensano allo stesso modo, creando network e community.</li><li>Comprendere i cicli di sviluppo e manutenzione delle applicazioni.</li><li>Imparare dai feedback delle pull request.</li><li>Imparare a gestire il proprio codice come open source.</li></ul><h2 id="miti-sull-open-source"><strong>Miti sull'Open Source</strong></h2><p>Ora conosciamo il modello Open Source e i suoi vantaggi. La prossima cosa che vogliamo imparare è come iniziare a contribuire all'Open Source, sia come <code>manutentori</code> del progetto che come <code>collaboratori</code>.</p><p>Prima di farlo, chiariamo alcuni miti sull'Open Source.</p><p>❌ <strong>Mito</strong>: Non so programmare. L'Open Source non fa per me.</p><p>✅ <strong>Realtà</strong>: l'Open Source non riguarda solo la programmazione! Hai molte opportunità di contribuire al miglioramento della documentazione, ai test, alla creazione di media, alla creazione di contenuti e molto altro ancora. Quindi, non restare indietro pensando che la mancanza di competenze di programmazione possa impedirti a contribuire all'OSS.</p><p>❌ <strong>Mito</strong>: So programmare ma non conosco la tecnologia utilizzata in questo progetto Open Source. Non posso contribuire.</p><p>✅ <strong>Realtà</strong>: Al contrario, è un'ottima opportunità per imparare qualcosa che non si conosce già! L'ecosistema Open Source è abbastanza paziente da fornirvi il tempo necessario per imparare e contribuire.</p><p>❌ <strong>Mito</strong>: L'Open Source non mantiene uno standard di livello aziendale.</p><p>✅ <strong>Realtà</strong>: non è affatto vero. Infatti, oggi molti software aziendali sono alimentati da software Open Source. Non è corretto pensare che i progetti Open Source non si preoccupino della qualità e degli standard.</p><p>❌ <strong>Mito</strong>: I progetti Open Source non sono facili da mantenere.</p><p>✅ <strong>Realtà<strong>:</strong></strong> Un progetto Open Source è sostenuto dai collaboratori. Un aspetto essenziale per un manutentore è stabilire le basi, creare una tabella di marcia, costruire la community e mantenere alta la motivazione.</p><p>Per molti progetti Open Source, i manutentori non devono nemmeno scrivere il codice. I collaboratori possono gestire lo sviluppo, a condizione che il manutentore fornisca il supporto necessario.</p><p>❌ <strong>Mito</strong>: Il software open source è sempre libero.</p><p>✅ <strong>Realtà<strong>: </strong></strong>La maggior parte lo è, ma non tutto l'OSS è libero. Ciò dipende dal tipo di licenza utilizzata dal progetto. Alcune licenze sono restrittive per dare libero accesso all'uso e alla distribuzione del codice in qualsiasi modo. È necessario prestare particolare attenzione alle informazioni sulla licenza di un progetto per capire "quanto" l'OSS sarà libero.</p><p>❌ <strong>Mito</strong>: L'Open Source è per i principianti.</p><p>✅ <strong>Realtà<strong>: </strong></strong>Molti sviluppatori pensano che l'OSS sia per i principianti e gli studenti. In realtà, tutti possono contribuire. Ha senso che un esperto in materia arricchisca un progetto Open Source con le proprie conoscenze ed esperienze.</p><h2 id="cosa-sapere-per-iniziare-a-contribuire-all-open-source"><strong>Cosa sapere per iniziare a contribuire all'open source</strong></h2><p>Gli sviluppatori devono conoscere poche cose fondamentali per iniziare rapidamente a lavorare con i progetti Open Source. Si tratta di prerequisiti facoltativi, ma se ne sarai a conoscenza, ti piacerà ancora di più contribuire all'Open Source.</p><h2 id="conoscere-le-basi-di-git">Conoscere le basi di Git</h2><p>Se sei già a conoscenza del significato di Git e del suo utilizzo principale, hai già fatto un bel po' di chilometri. Git è onnipresente nel mondo Open Source e non puoi ignorarlo.</p><p>È necessario conoscere almeno questi argomenti,</p><ul><li>Cos'è Git e come funziona?</li><li>Che cos'è un repository?</li><li>Come clonare un repository?</li><li>Come si fa a mettere in pratica le modifiche?</li><li>Come fare il commit delle modifiche?</li><li>Come scrivere messaggi di commit migliori?</li><li>Come risolvere i conflitti di merge?</li><li>Come eseguire il push delle modifiche a un repository remoto?</li><li>Come fare il pull delle modifiche dal repository remoto?</li></ul><p>Se sei alle prime armi con Git, ti consiglio questo video che ti aiuterà a imparare i concetti di Git e tutti gli usi sopra menzionati: <a href="https://www.youtube.com/watch?v=vWtu4mzUgQo">Demystifying Git for Beginners</a>.</p><h2 id="acquisire-familiarit-con-github"><strong>Acquisire familiarità con GitHub</strong></h2><p>Su <a href="https://github.com/">GitHub</a> ci sono oltre 128 milioni di repository pubblici. Una parte significativa di questi repository sono progetti Open Source. Il progetto Open Source a cui si vuole contribuire potrebbe essere presente anche su GitHub. Pertanto, è necessario imparare a gestire le cose su GitHub.</p><p>Come collaboratore di un progetto Open Source, devi sapere:</p><ul><li>Come fare il fork di un repository?</li><li>Come si trova l'URL per clonare il repository?</li><li>Come creare una Pull Request?</li><li>Come revisionare una "Pull Request"?</li></ul><p>In qualità di manutentore del progetto, è necessario conoscere:</p><ul><li>Come creare un repository?</li><li>Come aggiungere informazioni sulla licenza al progetto?</li><li>Come creare una guida alla contribuzione e una guida al codice di condotta?</li><li>Come impostare uno standard per la creazione delle issue e delle pull request?</li><li>Come fare il merge delle pull request?</li></ul><p>Puoi seguire la discussione su Twitter qui sotto. Ti spiega tutto passo per passo:</p><figure class="kg-card kg-embed-card"><iframe id="twitter-widget-0" scrolling="no" frameborder="0" allowtransparency="true" allowfullscreen="true" class="" title="Twitter Tweet" src="https://platform.twitter.com/embed/Tweet.html?creatorScreenName=tapasadhikary&amp;dnt=false&amp;embedId=twitter-widget-0&amp;features=eyJ0ZndfdGltZWxpbmVfbGlzdCI6eyJidWNrZXQiOltdLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2ZvbGxvd2VyX2NvdW50X3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9iYWNrZW5kIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19yZWZzcmNfc2Vzc2lvbiI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfZm9zbnJfc29mdF9pbnRlcnZlbnRpb25zX2VuYWJsZWQiOnsiYnVja2V0Ijoib24iLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X21peGVkX21lZGlhXzE1ODk3Ijp7ImJ1Y2tldCI6InRyZWF0bWVudCIsInZlcnNpb24iOm51bGx9LCJ0ZndfZXhwZXJpbWVudHNfY29va2llX2V4cGlyYXRpb24iOnsiYnVja2V0IjoxMjA5NjAwLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3Nob3dfYmlyZHdhdGNoX3Bpdm90c19lbmFibGVkIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19kdXBsaWNhdGVfc2NyaWJlc190b19zZXR0aW5ncyI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdXNlX3Byb2ZpbGVfaW1hZ2Vfc2hhcGVfZW5hYmxlZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdmlkZW9faGxzX2R5bmFtaWNfbWFuaWZlc3RzXzE1MDgyIjp7ImJ1Y2tldCI6InRydWVfYml0cmF0ZSIsInZlcnNpb24iOm51bGx9LCJ0ZndfbGVnYWN5X3RpbWVsaW5lX3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9mcm9udGVuZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9fQ%3D%3D&amp;frame=false&amp;hideCard=false&amp;hideThread=false&amp;id=1440296182396309513&amp;lang=en&amp;origin=https%3A%2F%2Fwww.freecodecamp.org%2Fnews%2Fa-practical-guide-to-start-opensource-contributions%2F&amp;sessionId=3068f842df40bcda3c8d975a80ffc005fc6aac54&amp;siteScreenName=freecodecamp&amp;theme=light&amp;widgetsVersion=aaf4084522e3a%3A1674595607486&amp;width=550px" data-tweet-id="1440296182396309513" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 22px; vertical-align: middle; position: static; visibility: visible; width: 550px; height: 492px; display: block; flex-grow: 1;" loading="lazy"></iframe></figure><h2 id="imparare-a-fare-il-fork-di-un-repository"><strong>Imparare a fare il fork di un repository</strong></h2><p>Il fork è un altro concetto cruciale da comprendere. La maggior parte dei progetti <code>Open Source</code> non consente a un collaboratore di creare branch direttamente su un repository. Al contrario, il flusso di lavoro dei contributi può svolgersi in questo modo:</p><ul><li>Fare il fork del repository.</li><li>Clonare il repository</li><li>Eseguire le modifiche.</li><li>Ottenere le modifiche dall'UPSTREAM.</li><li>Creare una pull request dal repository modificato al repository principale.</li></ul><p>Nella mia esperienza di lavoro con molti collaboratori, la maggior parte di loro trova il concetto di forking un po' impegnativo.</p><p>Per imparare a fare il fork di un repository GitHub, è possibile consultare questo video tutorial: <a href="https://www.youtube.com/watch?v=h8suY-Osn8Q">How to Fork a GitHub Repository</a>. Inoltre, è possibile trovare questo <a href="https://github.com/atapas/fork-me">repository GitHub</a> per esercitarsi nel forking. È per principianti assoluti, per acquisire sicurezza nel fare il fork di un repository.</p><h2 id="imparare-a-risolvere-i-conflitti-di-merge"><strong>Imparare a risolvere i conflitti di Merge</strong></h2><p>Chiedete a qualsiasi sviluppatore cosa ne pensa della risoluzione dei conflitti di merge. Non è molto semplice, ma più li si affronta e più si impara. Capire il processo di risoluzione dei conflitti di merge, come ragionare e come risolvere un conflitto di merge.</p><p>Ecco una <a href="https://www.freecodecamp.org/news/resolve-merge-conflicts-in-git-a-practical-guide/">guida pratica con esempi per imparare a risolvere i conflitti di merge</a>. Dai un'occhiata.</p><h2 id="imparare-la-sintassi-di-markdown"><strong>Imparare la sintassi di Markdown</strong></h2><p>La documentazione è una delle esigenze principali di qualsiasi progetto Open Source. Un file <code>Readme.md</code> spiega il progetto, come configurarlo, eseguirlo, distribuirlo e così via.</p><p>Il file <code>Contributing.md</code> spiega come contribuire al progetto.</p><p>Il file <code>CODE_OF_CONDUCT.md</code> descrive cosa aspettarsi dal comportamento e dall'impegno di un collaboratore. Naturalmente, è possibile scrivere molti altri file <code>.md</code> in base alle esigenze del progetto.</p><p>L'acronimo <code>md</code> sta per markdown. È la sintassi usata per la documentazione in GitHub. È meglio imparare la sintassi di base per poter partecipare alla documentazione senza problemi.</p><p>Ecco un progetto open source che fornisce la sintassi di mark down da copiare e utilizzare. Ti consiglio di darci un'occhiata.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://github.com/atapas/markdown-cheatsheet"><div class="kg-bookmark-content"><div class="kg-bookmark-title">GitHub - atapas/markdown-cheatsheet: A single place for all the markdown syntaxes I have learned so far.</div><div class="kg-bookmark-description">A single place for all the markdown syntaxes I have learned so far. - GitHub - atapas/markdown-cheatsheet: A single place for all the markdown syntaxes I have learned so far.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://github.githubassets.com/favicons/favicon.svg" width="32" height="32" alt="favicon" loading="lazy"><span class="kg-bookmark-author">atapas</span><span class="kg-bookmark-publisher">GitHub</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://repository-images.githubusercontent.com/498971132/875262cc-d687-4a77-9967-57fbb5d07b7a" width="1280" height="640" alt="875262cc-d687-4a77-9967-57fbb5d07b7a" loading="lazy"></div></a></figure><h2 id="coltiva-le-tue-soft-skill">Coltiva le tue soft skill</h2><p>L'<code>Open Source</code> è un campo fertile per molti sviluppatori che possono lavorare, imparare e costruire assieme. Come contributore, le tue competenze tecniche potrebbero non essere sufficienti per godere appieno dell'esperienza open source.</p><p>Parliamo di alcune soft skill indispensabili per gli sviluppatori.</p><ul><li><strong>Pazienza</strong>: la <code>pazienza</code> &nbsp;è una qualità indispensabile per gli sviluppatori. È necessaria quando si impara qualcosa di nuovo, si esegue il debug di un problema complesso, si lavora con altri, si negozia con qualcuno e si riceve/dà un feedback. A volte le cose non vanno al ritmo che ci si aspetta, quindi bisogna avere pazienza e valutare la situazione.</li><li><strong>Curiosità</strong>: una mente <code>curiosa</code> fa molta strada. Quando si contribuisce all'open source, le possibilità sono immense. È necessario essere curiosi per capire le cose. Questo non si applica solo alle sfide tecniche, ma anche al lavoro con le persone.</li><li><strong>Essere reattivi</strong>: nell'ecosistema Open Source, è possibile non incontrare e parlare con le persone quotidianamente, ma il lavoro deve andare avanti. È necessario essere <code>reattivi</code> alle domande, ai compiti, alle richieste e a tutto ciò di cui si è responsabili. Molte grandi iniziative muoiono solo a causa della mancanza di reattività da parte delle persone.</li><li><strong>Essere umili</strong>: l'<code>umiltà</code> è la chiave del successo. Chi è preparato ma non è umile spesso non riesce a lavorare in squadra.</li></ul><h2 id="come-iniziare-a-contribuire-ai-progetti-open-source"><strong>Come iniziare a contribuire ai progetti Open Source</strong></h2><p>Vediamo ora come iniziare con la contribuzione all'open source. L'elenco che segue fornisce i link e le risorse per iniziare subito a contribuire ad un progetto open source.</p><h3 id="github-explore"><strong>GitHub Explore</strong></h3><p>GitHub Explore mostra i repository in base ai propri interessi. È possibile impostare le notifiche per essere informati su un progetto.</p><p>Inoltre, è possibile cercare i repository per argomenti e tendenze. Usa GitHub explore per scoprire i progetti più pertinenti alle tue competenze, esigenze e aspirazioni. Puoi trovarlo qui: <a href="https://github.com/explore/">https://github.com/explore/</a></p><h2 id="come-contribuire-all-open-source-di-freecodecamp"><strong>Come contribuire all'Open Source di freeCodeCamp</strong></h2><p>Questo repository di freeCodeCamp è un gioiello in tutto e per tutto. Fornisce molte risorse e indicazioni per iniziare a lavorare con l'open source. Puoi trovarlo qui: <a href="https://github.com/freeCodeCamp/how-to-contribute-to-open-source">https://github.com/freeCodeCamp/how-to-contribute-to-open-source</a></p><h3 id="contributor-ninja"><strong>Contributor Ninja</strong></h3><p>Questo sito ti aiuta con un elenco di linguaggi di programmazione tra cui scegliere: JavaScript, HTML, Rust, Go e molti altri. Si ottengono schede di repository da selezionare. È un luogo semplice per iniziare. Puoi trovarlo qui: <a href="https://contributor.ninja/">https://contributor.ninja/</a></p><h3 id="first-contributions"><strong>First Contributions</strong></h3><p>Si tratta di un elenco enorme di progetti open source da cui cercare e filtrare. Dispone anche di una documentazione ben guidata per iniziare. Puoi trovarlo qui: <a href="https://firstcontributions.github.io/">https://firstcontributions.github.io/</a></p><h3 id="codetriage"><strong>CodeTriage</strong></h3><p>CodeTriage è un enorme elenco di progetti con issue aperte. Mostra una separazione dei problemi e dei documenti da sottoporre a triage. Il sito web è molto utile. Puoi trovarlo qui: <a href="https://www.codetriage.com/">https://www.codetriage.com/</a></p><h3 id="up-for-grabs"><strong>Up For Grabs</strong></h3><p>Questo è un elenco completo di progetti Open Source da cui scegliere in base ai propri interessi. Puoi trovarlo qui: <a href="https://up-for-grabs.net/#/">https://up-for-grabs.net/#/</a></p><h3 id="first-timers-only"><strong>First Timers Only</strong></h3><p>Se non hai mai contribuito a un progetto open source prima d'ora e stai iniziando, considera la lettura di questa pagina.</p><p>Si possono vedere molte delle fonti di cui abbiamo già parlato, ma la pagina è piena di motivazioni. Puoi trovarlo qui: <a href="https://www.firsttimersonly.com/">https://www.firsttimersonly.com/</a></p><h3 id="open-source-friday"><strong>Open Source Friday</strong></h3><p>Cosa farai questo venerdì o il prossimo? Che ne dici di investire qualche ora per contribuire al software che usi e ami? Dai un'occhiata a questo sito e registrati. Puoi trovarlo qui: <a href="https://opensourcefriday.com/">https://opensourcefriday.com/</a></p><p>Spero che le risorse siano state utili. Inoltre, puoi esplorare le discussioni su Twitter, potresti trovare altre informazioni al riguardo.</p><figure class="kg-card kg-embed-card"><iframe id="twitter-widget-1" scrolling="no" frameborder="0" allowtransparency="true" allowfullscreen="true" class="" title="Twitter Tweet" src="https://platform.twitter.com/embed/Tweet.html?creatorScreenName=tapasadhikary&amp;dnt=false&amp;embedId=twitter-widget-1&amp;features=eyJ0ZndfdGltZWxpbmVfbGlzdCI6eyJidWNrZXQiOltdLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2ZvbGxvd2VyX2NvdW50X3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9iYWNrZW5kIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19yZWZzcmNfc2Vzc2lvbiI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfZm9zbnJfc29mdF9pbnRlcnZlbnRpb25zX2VuYWJsZWQiOnsiYnVja2V0Ijoib24iLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X21peGVkX21lZGlhXzE1ODk3Ijp7ImJ1Y2tldCI6InRyZWF0bWVudCIsInZlcnNpb24iOm51bGx9LCJ0ZndfZXhwZXJpbWVudHNfY29va2llX2V4cGlyYXRpb24iOnsiYnVja2V0IjoxMjA5NjAwLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3Nob3dfYmlyZHdhdGNoX3Bpdm90c19lbmFibGVkIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19kdXBsaWNhdGVfc2NyaWJlc190b19zZXR0aW5ncyI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdXNlX3Byb2ZpbGVfaW1hZ2Vfc2hhcGVfZW5hYmxlZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdmlkZW9faGxzX2R5bmFtaWNfbWFuaWZlc3RzXzE1MDgyIjp7ImJ1Y2tldCI6InRydWVfYml0cmF0ZSIsInZlcnNpb24iOm51bGx9LCJ0ZndfbGVnYWN5X3RpbWVsaW5lX3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9mcm9udGVuZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9fQ%3D%3D&amp;frame=false&amp;hideCard=false&amp;hideThread=false&amp;id=1435590663035310086&amp;lang=en&amp;origin=https%3A%2F%2Fwww.freecodecamp.org%2Fnews%2Fa-practical-guide-to-start-opensource-contributions%2F&amp;sessionId=3068f842df40bcda3c8d975a80ffc005fc6aac54&amp;siteScreenName=freecodecamp&amp;theme=light&amp;widgetsVersion=aaf4084522e3a%3A1674595607486&amp;width=550px" data-tweet-id="1435590663035310086" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 22px; vertical-align: middle; position: static; visibility: visible; width: 550px; height: 297px; display: block; flex-grow: 1;" loading="lazy"></iframe></figure><h2 id="manutentori-di-progetti-open-source"><strong>Manutentori di progetti Open Source</strong></h2><p>Finora abbiamo visto il lato dei collaboratori open source. Questo articolo sarebbe incompleto se non toccassimo anche il lato dei manutentori dei progetti open source.</p><p>In qualità di manutentore del progetto, è necessario seguire determinati standard affinché gli altri possano conoscere e contribuire al repository del progetto.</p><ul><li>Fornire un nome chiaro e una descrizione del progetto. Inoltre, è necessario aggiungere gli argomenti che sono correlati al progetto.</li><li>Aggiungere un file <code>Readme.md</code> chiaro per spiegare gli obiettivi del progetto, come usarlo, come configurarlo e così via. Se il codice sorgente è il cuore di un repository, il file README ne è la faccia.</li><li>Creare un profilo della community. Aiuta i manutentori dei repository open-source a esaminare il lavoro e a capire come aiutarlo a crescere.</li><li>Stabilire un Codice di Condotta.</li><li>Creare una Guida per i Collaboratori.</li><li>Decidere i template delle Issue.</li><li>Creare un template per le Pull Request (PR).</li><li>Attivare GitHub Sponsors.</li></ul><p>Per conoscere questi standard in modo più dettagliato, è possibile consultare <a href="https://www.freecodecamp.org/news/increase-engagement-on-your-public-github-repositories/">questo articolo</a>.</p><h2 id="prima-di-concludere-"><strong>Prima di concludere...</strong></h2><p>Questo è tutto! Siamo giunti alla fine di questo articolo. Spero che tu l'abbia trovato utile e che ti abbia dato una motivazione sufficiente per iniziare a contribuire all'open source.</p><p>Prima di concludere, vorrei citare alcuni progetti e repository open source da consultare.</p><ul><li><a href="https://github.com/EddieHubCommunity">EddieHub</a></li><li><a href="https://github.com/reactplay">ReactPlay</a></li><li><a href="https://github.com/topics/hacktoberfest">Hacktoberfest</a></li><li><a href="https://github.com/firstcontributions/first-contributions">First Contributions</a></li><li><a href="https://github.com/deleteman/the-hive">The Hive</a></li></ul><p>L'elenco potrebbe continuare a crescere, ma mi fermo qui. Se ti è piaciuto leggere questo articolo e/o hai delle domande, vuoi metterti in contatto con me, puoi trovarmi in questi posti:</p><ul><li><a href="https://twitter.com/tapasadhikary">Seguimi su Twitter</a></li><li><a href="https://www.linkedin.com/in/tapasadhikary/">Connettiti su LinkedIn</a></li><li><a href="https://github.com/atapas">Scopri il mio lavoro su GitHub</a></li><li><a href="https://youtube.com/tapasadhikary">Iscriviti al mio canale YouTube</a></li></ul> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Come Contribuire a Progetti Open Source - Una Guida per Principianti ]]>
                </title>
                <description>
                    <![CDATA[ Siccome continuiamo a progredire tecnologicamente, sempre più prodotti e servizi si stanno trasformando in servizi software pronti per l'uso. Molti di questi sono open source. La maggior parte delle aziende e degli sviluppatori dipende da software e strumenti open source, che fanno funzionare i loro prodotti. Concorderai con me sul ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/come-contribuire-a-progetti-open-source-una-guida-per-principianti/</link>
                <guid isPermaLink="false">63ff25a051d6f8065ddaf834</guid>
                
                    <category>
                        <![CDATA[ Open source ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Roberta Garavaglia ]]>
                </dc:creator>
                <pubDate>Wed, 08 Mar 2023 05:30:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2023/03/uide-to-writting-a-good-readme-file--1-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/how-to-contribute-to-open-source-projects-beginners-guide/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Contribute to Open Source  Projects – A Beginner's Guide</a>
      </p><p>Siccome continuiamo a progredire tecnologicamente, sempre più prodotti e servizi si stanno trasformando in servizi software pronti per l'uso. Molti di questi sono open source.</p><p>La maggior parte delle aziende e degli sviluppatori dipende da software e strumenti open source, che fanno funzionare i loro prodotti. Concorderai con me sul fatto che ultimamente il numero di contributi all'open source sia davvero cresciuto - non solo da singoli sviluppatori ma anche da parte delle aziende.</p><p>Il mio primo contributo alla comunità open source risale al 2020 durante l'annuale Hacktoberfest. In quanto principiante partecipai a progetti adatti ai principianti, che condividerò più avanti per aiutarti. </p><p>Se stai leggendo questo articolo è perché vuoi essere parte della grandiosa comunità open source - ma forse non sai da dove cominciare? Bene, sei nel posto giusto.</p><p>In questa guida tratteremo:</p><ul><li>Cosa si intende esattamente con open source?</li><li>Come puoi iniziare a contribuire?</li><li>Cosa dovresti aspettarti?</li></ul><p>Ecco, in questo articolo ci occuperemo di tutto questo e anche di più.</p><p>Andiamo!</p><h2 id="cosa-vuol-dire-open-source"><strong>Cosa vuol dire open source?</strong></h2><p>In poche parole, possiamo descrivere un progetto open source (OS) come del codice sorgente accessibile pubblicamente; si può vedere, usare, modificare e distribuire sotto licenza. </p><p>Come esempio, prendiamo una classe. Un insegnante può condividere un documento attraverso una piattaforma come Google Docs. Su questa piattaforma gli studenti possono modificare il documento e anche farne una copia per sé. Ma in qualsiasi momento apportano modifiche, queste devono essere approvate dall'insegnante prima di riflettersi nel documento. </p><p>L'open source funziona allo stesso modo: una volta che il codice è reso pubblico, se vuoi aggiungere funzionalità o fare cambiamenti, il proprietario deve approvare e pubblicare i cambiamenti per permettere agli altri di vederli.</p><p>La maggior parte dei progetti open source è il risultato di contributi di persone con diversi livelli di competenze - e non solo nel campo della programmazione, ma anche in altri, come la scrittura, le lingue e via dicendo.</p><p>Ogni volta che qualcuno corregge un refuso, aggiunge un messaggio di notifica per un possibile avviso del compilatore, sistema un bug, oppure aggiunge una documentazione dettagliata a un progetto, viene fatto un passo avanti. Se prendiamo tutti questi piccoli contributi da parte di persone diverse con abilità diverse e li mettiamo insieme, possono succedere grandi cose.</p><p>Come disse Vincent van Gogh:</p><blockquote><em>Le grandi cose sono fatte da una serie di piccole cose messe insieme.</em></blockquote><h2 id="perch-dovresti-contribuire-all-open-source"><strong>Perch</strong>é<strong> dovresti contribuire all'open source</strong></h2><p>Contribuire a progetti open source può essere un modo gratificante di imparare, insegnare, condividere e fare esperienza.</p><p>Ci sono un sacco di ragioni per le quali dovresti contribuire a un progetto open source, per esempio:</p><ul><li>Migliorare il software al quale ti affidi tutti i giorni.</li><li>Trovare un mentore se ne hai bisogno.</li><li>Apprendere nuove abilità o migliorare quelle che già hai.</li><li>Condividere le tue capacità.</li><li>Ottenere una conoscenza molto più approfondita del software che stai usando.</li><li>Costruirti una reputazione e sostenere la crescita della tua carriera.</li><li>In più, è divertente e dà soddisfazione e poi, ehi, non puoi sapere chi sta guardando, magari il tuo prossimo datore di lavoro o compagno d'affari 🙂.</li></ul><h2 id="guida-passo-passo-su-come-contribuire-all-open-source"><strong>Guida passo passo su come contribuire all'Open Source</strong></h2><p>Quando si parla di contribuire all'open source, non si intende necessariamente che devi saper programmare. Ci sono molti modi nei quali puoi contribuire anche se non sei un programmatore - ma avere questa competenza aiuta molto (sia te stesso che i progetti).</p><p>Tra i contributi più frequenti ci sono:</p><ul><li>Aggiungere una descrizione alla documentazione di un progetto per approfondirne un certo aspetto, di solito ci si riferisce al file README (<em>dai un'occhiata a questa guida su come scrivere dei file</em> <a href="https://www.freecodecamp.org/italian/news/come-scrivere-un-buon-file-readme-per-i-tuoi-progetti-github/">README </a>validi).</li><li>Dare indicazione su uno specifico progetto e su come usarlo.</li><li>Aggiungere esempi di output per mostrare come funziona il codice.</li><li>Scrivere tutorial di approfondimento per un progetto.</li><li>Partecipare alla traduzione di un progetto - un buon posto in cui iniziare potrebbe essere il programma di traduzione di <a href="https://contribute.freecodecamp.org/#/i18n/italian/index?id=traduzioni">freeCodeCamp</a>.</li><li>Rispondere a delle domande (come su Stack Overflow o Reddit). </li><li>Puoi offrirti come mentore di altri collaboratori.</li><li>Puoi correggere refusi e sistemare adeguatamente la cartella di lavoro del progetto.</li></ul><p>Tutto questo e molto altro conta come contributo. Ora, cosa dovresti sapere esattamente prima di iniziare a contribuire a un progetto OS?</p><h2 id="cose-da-sapere-prima-di-contribuire-a-progetti-os"><strong>Cose da sapere prima di contribuire a progetti OS </strong></h2><p>Ci aspettiamo che ogni prodotto open source sia differente dagli altri, lo stesso vale per le comunità. Ogni comunità ha le sue regole e avrà diverse linee guida e funzioni e, se sei fortunato, alcune ti offrono anche una ricompensa in seguito al tuo contributo. </p><p>A discapito di tutto ciò, ci sono alcune caratteristiche comuni che valgono per tutti i progetti OS, ed è di queste che andremo a discutere.</p><h3 id="ruoli-in-un-tipico-progetto-os"><strong>Ruoli in un tipico progetto OS </strong></h3><p>In un tipico progetto OS incontriamo le seguenti persone:</p><ul><li><strong><strong>Aut</strong>ore</strong> - La persona che ha creato il progetto. Gli autori hanno il potere di assegnare nuovi ruoli agli altri membri perché collaborino nel mantenimento del progetto.</li><li><strong>Proprietario</strong> - Al proprietario è assegnata la proprietà amministrativa del progetto (l'autore stesso può essere anche proprietario).</li><li><strong>Manutentori </strong>- Queste persone hanno la responsabilità di guidare la vision e gli obiettivi del progetto. Si sentono di solito responsabili della direzione del progetto e si impegnano per il suo miglioramento.</li><li><strong>Collaboratori </strong>- Contribuiscono al progetto in un modo o in un altro. Seguono lo stesso processo di revisione del codice, sono soggetti agli stessi requisiti di stile, e così via.</li><li><strong><strong>C</strong>omunità di<strong> </strong>m<strong>emb</strong>ri<strong>/</strong>utenti</strong> - I preziosi membri della comunità possono fornire riscontri sulle funzionalità, segnalare dei bug, e altro ancora.</li></ul><h2 id="i-must-di-un-progetto-os"><strong>I "must" di un progetto OS </strong></h2><p>Parlando di progetti OS, va detto che sono classificati in molti modi in base alla struttura, al tipo di piattaforma del prodotto, al linguaggio di programmazione usato, al suo essere indipendente o sponsorizzato e altro ancora.</p><p>Linee guida e altri tipi di informazioni aiutano a mettere in evidenza tutto ciò:</p><ul><li><strong><strong>Licen</strong>za</strong><br>Se un progetto non ha una licenza open source, allora non è open source. La licenza protegge i collaboratori e gli utenti. Di solito aziende e sviluppatori assennati non toccano un progetto senza questa tutela. Se ti stai chiedendo come ottenerla e come scegliere quella più adatta al tuo progetto, consulta il sito ufficiale della licenza OS: <a href="https://choosealicense.com/">https://choosealicense.com/</a>. </li><li><strong>File <strong>README</strong></strong><br>Si tratta di un prontuario che spiega come iniziare. Elenca i requisiti per poter contribuire al progetto, i passi da fare per collaborare e così via. Un buon README contiene tutto quello che un potenziale collaboratore dovrebbe sapere sul progetto. Se hai già un progetto e stai cercando di scrivere un file README file, questa guida ti tornerà utile: &nbsp;<em><a href="https://www.freecodecamp.org/italian/news/come-scrivere-un-buon-file-readme-per-i-tuoi-progetti-github/">Come scrivere un buon file README</a></em>. </li><li><strong>Linee guida per la contribuzione</strong><br>Sono linee guida che aiutano le persone che vogliono contribuire al progetto a capire cosa ci si aspetta esattamente da loro. E sebbene non siano obbligatorie, è sempre una buona pratica aggiungerle. Se hai bisogno di aiuto per scriverle o vuoi sapere bene cosa contengono, sul sito ufficiale OS c'è un template che può esserti d'aiuto: <a href="https://opensource.com/life/16/3/contributor-guidelines-template-and-tips">template</a> per le linee guida. </li><li><strong><strong>Cod</strong>ic<strong>e </strong>di<strong> </strong>condotta</strong><br>Un codice di condotta è un documento che stabilisce le aspettative sul comportamento dei tuoi collaboratori e partecipanti. Adottare e far valere un codice di condotta può essere utile a creare un ambiente positivo e accogliente per la tua comunità. La guida OS spiega meglio ciò che contiene il codice: <a href="https://opensource.guide/code-of-conduct/">https://opensource.guide/code-of-conduct/</a>. </li></ul><p>Nella gestione di un progetto open source, sia individuale che da parte di un'organizzazione, tutto riguarda la creazione di una comunità dove le persone possono crescere insieme. Ciò significa che dovrai sviluppare un ambiente socievole dove le persone condivideranno idee, si impegneranno in sfide, e a un certo punto inizieranno casualmente a chiacchierare. </p><p>Qui ci sono alcune opzioni, e puoi usare strumenti come:</p><ul><li><strong><strong>Issue Tracker</strong></strong><br>È dove tieni traccia del tuo lavoro su GitHub e di come avviene lo sviluppo. Nel caso in cui ci siano problemi un collaboratore può creare una issue e collegarla a una pull request, gli altri colleghi possono così scegliere di risolvere quel problema. La issue viene chiusa una volta che il problema viene risolto.</li><li><strong><strong>Pull Request</strong></strong><br>Permettono di far sapere agli altri dei cambiamenti che hai apportato a un branch in un repository su GitHub. Una volta aperta una pull request, puoi discutere con gli altri collaboratori dei possibili cambiamenti, revisionare, e procedere con nuovi commit prima che questi siano integrati nel branch principale.</li><li><strong><strong>Chat Channel</strong></strong><br>Sebbene non sia obbligatorio, puoi considerare una buona pratica l'essere parte di un canale di comunità OS. È ideato specificatamente per condividere idee e intrattenere conversazioni. A questo scopo, tra i mezzi di comunicazione più comuni ci sono Slack e Discord.</li></ul><p>Dunque, adesso hai un'idea di che cos'è un progetto OS e di cosa ti aspetta quando contribuisci. Ma arriviamo alla parte importante, come sapere a quale progetto partecipare?</p><h2 id="come-trovare-un-progetto-os-al-quale-contribuire"><strong>Come trovare un progetto OS al quale contribuire</strong></h2><p>Non c'è bisogno di pensare troppo a come farlo, contribuire è possibile a tutti i livelli. Piuttosto pensa ad alcuni dei progetti che già conosci, che usi, e a quali cambiamenti o miglioramenti puoi fare.</p><p>Ricerche mostrano che circa il 30% dei contributi occasionali riguardano documentazione, correzioni di refusi, o anche traduzioni. </p><p>All'inizio ho promesso che avrei condiviso alcuni dei progetti che mi aiutarono durante le mie prime collaborazioni. Per tua fortuna, se sei alla tua prima volta - tutti lo sono a un certo punto - &nbsp;qui ci sono alcuni link che ti aiuteranno a cominciare nel mondo dell'OS:</p><ul><li><a href="https://www.firsttimersonly.com/">first-timers only</a></li><li><a href="https://github.com/firstcontributions/first-contributions">first contribution</a></li><li><a href="https://contributor.ninja/">contributor ninja</a></li><li><a href="https://opensourcefriday.com/">open-source friday</a></li><li><a href="https://24pullrequests.com/">24 pull requests</a></li><li><a href="https://github.com/larymak/Python-project-Scripts">python project scripts</a></li><li><a href="https://habitica.com/static/front">habitica</a></li><li><a href="https://www.codetriage.com/">code triage</a></li></ul><p><em><strong>Un suggerimento rapido:</strong><em> </em>nel mondo dell'open source, le issue vengono aperte e risolte abbastanza velocemente. Perciò, un modo per iniziare bene è scegliere una issue con la sicurezza di poterci lavorare su tempestivamente.</em></p><h2 id="come-scegliere-un-progetto-os"><strong>Come scegliere un progetto OS</strong></h2><p>Dopo aver trovato il progetto al quale vuoi contribuire, è tempo di fare un piccolo controllo. Assicurati che rientri nei seguenti criteri, così saprai se è un buon progetto al quale lavorare:</p><ol><li>Controlla se ha un file di licenza.</li><li>Guarda a quando risale l'ultimo commit. Questo ti farà capire se i collaboratori sono attivi e ti darà un'idea di quanto ci impiegheranno per replicare al tuo contributo.</li><li>Controlla il numero di collaboratori.</li><li>Guarda ogni quanto si fanno commit. Se vedi molte attività recenti è un buon segno - vuol dire che la comunità è attiva, così come i manutentori.</li></ol><p>Ora, se il primo controllo è superato, procedi con i seguenti:</p><ol><li>Ha delle issue aperte? Se sì. può essere un buon segno, hai un posto in cui iniziare.</li><li>Quanto tempo impiegano a rispondere? Questo dipende da quanto spesso vengono chiuse le issue e le pull request integrate.</li><li>Sulle issue ci sono discussioni attive?</li><li>Vengono chiuse regolarmente?</li><li>Quante pull request aperte ci sono?</li><li>Quando è stata l'ultima volta che è stato fatto il merge di una pull request?</li><li>I manutentori ringraziano chi contribuisce?</li></ol><p>Se anche l'ultimo controllo è stato superato, allora sei pronto per cominciare.</p><h2 id="cose-da-considerare-prima-di-entrare-nell-os"><strong>Cose da considerare prima di entrare nell'OS</strong></h2><p>So che sei entusiasta e pronto a scatenarti nel mondo OS, ma sai cosa cercare in un progetto?</p><p>Come detto sopra, ci sono modi diversi coi quali puoi contribuire. Ma prima di dare il tuo primo contributo, è bene prendere nota di alcune cose riguardanti il progetto che andrai a scegliere, per esempio: </p><ul><li><strong>Quale linguaggio di programmazione usa?</strong><br>La tecnologia fondamentale che sta dietro ogni applicazione è il linguaggio di programmazione che viene usato. Alcuni dei più popolari su GitHub sono JavaScript, Python, Java, Ruby, and PHP - ma ce ne sono altri. Ci sono moltissimi progetti che potrebbero addirsi ai tuoi interessi e capacità. Trovane uno al quale ti farebbe piacere lavorare.</li><li><strong><strong>T</strong>ipo di progetto</strong><br>Dopo che hai scelto il linguaggio col quale vuoi lavorare, devi scegliere anche il tipo di progetto che preferisci. Dai un'occhiata in giro e scegli un argomento che risponde ai tuoi interessi. </li></ul><p>Una volta trovato il progetto, vorrai contribuire davvero. E lo farai attraverso le pull request. Vediamo di cosa si tratta.</p><h2 id="cos-una-pull-request"><strong>Cos'è una Pull Request?</strong></h2><p>Ti ricordi l'esempio di Google Docs? Bene, una pull request è simile, ma si tratta di codice.</p><p>Possiamo descrivere una pull request come un collaboratore che propone un cambiamento - sia codice sia documentazione o altro - e chiede a un manutentore di controllare, assicurarsi che sia tutto a posto, poi integrarlo nel progetto. </p><p>Quindi, come si fa?</p><h2 id="come-inviare-una-pull-request"><strong>Come inviare una Pull Request</strong></h2><p>Se sei a questo punto, vuol dire che hai trovato un progetto e sei pronto per contribuire. Vediamo allora come si fa effettivamente una pull request.</p><h3 id="passaggi-per-inviare-una-pr"><strong>Passaggi per inviare una PR</strong></h3><ul><li><strong>Esegui il f<strong>ork </strong>del repository</strong><br>Nell'angolo in alto a destra, vedrai il termine "fork". Tutto ciò che devi di fare è cliccarlo per creare una copia del progetto nel tuo profilo.</li></ul><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/11/click.png" class="kg-image" alt="fork-repo " width="600" height="400" loading="lazy"></figure><p>Dopo questa operazione l'URL del progetto cambierà in:</p><pre><code class="language-bash">https://github.com/&lt;IlTuoUsername&gt;/nomeprogetto
</code></pre><ul><li><strong><strong>Clon</strong>a il progetto sulla tua macchina</strong><br>Per fare questo passaggio, devi avere installato Git localmente sulla tua macchina. Se non ce l'hai, fai riferimento alla documentazione ufficiale <a href="https://git-scm.com/">Git</a> per scoprire come fare. </li></ul><p>Copia l'URL del fork del progetto e procedi aprendo la tua riga di comando o git bash e inserendo il seguente comando:</p><pre><code class="language-bash">git clone https://github.com/&lt;IlTuoUsername&gt;/&lt;nomeprogetto&gt;
</code></pre><p>Questo creerà una copia del progetto sulla tua macchina, in locale. Ora che hai clonato il repo bisogna fare due cose.</p><p>La prima è fare i cambiamenti/apporti necessari e poi eseguire un'azione di commit con le modifiche. Dopo aver fatto i cambiamenti e aver aggiunto i file, è tempo di aggiungere questi cambiamenti in un branch separato, prima di fare un push remote.</p><p>Ma prima creiamo un branch. Dalla riga di comando, cambia il percorso in modo che punti alla cartella del tuo repo. Per farlo, usa questo comando:</p><pre><code>cd nome-cartella-progetto
</code></pre><p>Ora, per creare un branch useremo questo comando: <code>git checkout</code></p><pre><code class="language-bash">git checkout -b nome-branch
</code></pre><p>Per esempio:</p><pre><code class="language-bash">git checkout -b lary-mak
</code></pre><p>Aggiungiamo le modifiche al branch creato. Per vedere quelle che hai fatto, useremo il comando <code>git status</code>:</p><pre><code class="language-bash">git status
</code></pre><p>Il comando elencherà tutti i cambiamenti che hai apportato. Per aggiungerli useremo <code>git add *</code>, che aggiungerà i file al nostro branch.</p><pre><code class="language-bash">git add *
</code></pre><p>Scriviamo un messaggio di commit, che spieghi brevemente quel che abbiamo aggiunto:</p><pre><code class="language-bash">git commit -m "&lt;messaggio di commit&gt;"
</code></pre><ul><li><strong>Invia le modifiche al remoto</strong><br>Adesso che tutto è pronto, è tempo di far sapere al nostro manutentore cosa abbiamo aggiunto. Ciò è possibile con questo comando:</li></ul><pre><code class="language-bash">git push origin &lt;nome-branch&gt;
</code></pre><p>sostituendo <code>&lt;nome-branch&gt;</code> con il nome del branch che hai creato prima, nel mio caso sarà <code>git push origin lary-mak</code>.</p><ul><li><strong>Proponi le modifiche</strong><br>Se vai sul tuo repo su GitHub e ricarichi la pagina, vedrai un pulsante "Compare and pull request". Cliccaci su.</li></ul><p>Presto il manutentore integrerà le tue modifiche nel branch principale del progetto (a meno che non ti richiedano di fare dei cambiamenti). Riceverai una email di notifica quando accadrà.</p><p>Creare una pull request ha alcuni vantaggi, ad esempio:</p><ul><li>Ti permette di contribuire a un altro repo senza il bisogno di privilegi amministrativi nel caso di modifiche.</li><li>Permette agli altri di revisionare le tue modifiche e suggerire correzioni, cambiamenti, aggiunte e così via.</li><li>Lascia agli amministratori del repo il controllo su quello che viene aggiunto nel repo del progetto.</li></ul><p>Congratulazioni 🥳🎉,<br>hai appena completato il flusso standard fork -&gt; clone -&gt; edit -&gt; pull request il cui risultato è tuo primo contributo. Lo userai spesso! Dunque, cos'altro?</p><h2 id="cosa-viene-dopo-la-tua-prima-pull-request"><strong>Cosa viene dopo la tua prima Pull Request?</strong></h2><p>Non è mica finita! Ora, trova più progetti e continua a partecipare. Assicurati anche di riuscire a prestare attenzione al mese dedicato all'OS, viene gestito ogni anno da <em>Digital</em> <em>Ocean</em> e c'è la possibilità di vincere fantastici premi.</p><p>Una cosa ancora della quale parlare un po' di più prima di concludere: perché contribuire a progetti OS è appagante.</p><h2 id="i-benefici-di-contribuire-all-os"><strong>I benefici di contribuire all'OS</strong></h2><ul><li>Le persone che contribuiscono a progetti OS arrivano a conoscere la tecnologia in modo molto più approfondito rispetto a chi la usa soltanto.</li><li>Puoi concentrare i tuoi sforzi sull'aggiungere e sfruttare funzionalità che saranno utili alle aziende in base all'esperienza di cosa funziona e cosa non funziona nel modo reale.</li><li>Ti dà coraggio e costruisce la tua reputazione. Chi contribuisce a progetti OS ha accesso all'esperienza e alla prospettiva dei membri di altre comunità.</li><li>Contribuire all'OS offre una chiara visione nel futuro di un progetto.</li><li>Se sei su GitHub, una gran parte delle cose che fai su quella piattaforma è pubblica. Usala a tuo vantaggio per fare sempre del tuo meglio quando partecipi e quando comunichi con altri collaboratori.</li></ul><h2 id="perch-dovresti-contribuire-all-os-come-sviluppatore"><strong>Perché dovresti contribuire all'OS come sviluppatore</strong></h2><ul><li>Ti aiuterà ad affinare le tue competenza di programmazione e a migliorare nello scrivere un codice pulito.</li><li>Ti farà conoscere nella comunità e tra i tuoi pari. Questa notorietà può offrirti molte opportunità nella tua carriera.</li><li>Ti permetterà di imparare molto sulla gestione di un progetto e potrebbe essere di ispirazione per iniziare un progetto tutto tuo.</li></ul><h2 id="concludiamo-"><strong>Concludiamo!</strong></h2><p>Come ho detto, l'OS è aperto alla partecipazione di tutti. Ci sono molte opportunità delle quale puoi approfittare e imparare qualcosa di nuovo. Tutto ciò di cui hai bisogno è decidere di iniziare e partire.</p><p><strong>L'<strong>OPEN</strong> <strong>SOURCE </strong>TI ASPETTA</strong></p><p>Se hai letto fin qui, lo apprezzo molto.</p><p>Fammi sapere cosa ne pensi, un'opinione sincera fa sempre piacere!</p><p>Collegati con me su <a href="https://twitter.com/larymak1">Twitter</a> | <a href="https://www.youtube.com/channel/UCrT1ARRZfLOuf6nc_97eXEg">YouTube</a> | <a href="https://www.linkedin.com/in/hillary-nyakundi-3a64b11ab/">LinkedIn</a> | <a href="https://github.com/larymak">GitHub</a></p><p>Buona programmazione ❤</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
