Argomento
- #Opportunità di crescita
- #Contributo Open Source
Creato: 2025-05-03
Aggiornato: 2025-05-27
Creato: 2025-05-03 00:00
Aggiornato: 2025-05-27 09:42
"Questo articolo ha lo scopo di dare coraggio a coloro che, pur essendo interessati all'open source, avevano timori come 'Posso farlo?' o 'Da dove dovrei iniziare?'.
Oggi, vorrei condividere la mia esperienza, facendo il primo passo verso l'open source e raccontando cosa ho imparato e provato in questo processo.
Studiando sviluppo, si incontra spesso il termine 'open source'. Se si guarda su GitHub, si vedono innumerevoli progetti che muovono il mondo con i loro codici aperti.
Un progetto che rende il codice pubblico in questo modo viene chiamato 'open source'.
Ad esempio, ci sono grandi open source come OpenJDK, Spring Framework, Redis e React.
Finora ho contribuito all'open source per un totale di quattro volte. Non si tratta di aggiungere funzionalità che cambiano il mondo, ma di trovare e contribuire a piccole, piccole miglioriedell'open source.
Non conosco lo stile di codice dei progetti sopra elencati, né so esattamente come funzionano.
Questo dimostra che si può contribuire alla comunità anche senza comprendere perfettamente il codice. Ho iniziato a sviluppare solo due anni fa e non mi sento particolarmente dotato in questo campo.
Continuo queste attività semplicemente perché mi piace contribuire all'open source e comunicare con la comunità degli sviluppatori.
Onestamente, all'inizio non ho escluso l'idea di 'non sarebbe male aggiungere una riga al curriculum?'. Era piuttosto grande. Ma c'era una motivazione ancora più grande. Era il desiderio di 'imparare più a fondo' e la necessità di 'risolvere i problemi che ho incontrato'.
Nel progetto di gruppo, ho avuto l'opportunità di utilizzare Spring WebFlux e di studiare a fondo Project Reactor, la sua tecnologia di base. Ho capito i concetti attraverso libri e documenti, ma come funziona e si ottimizzain un sistema complesso, era un'area che potevo capire solo guardando il codice direttamente. Inoltre, mi chiedevo spesso 'Come posso dimostrare di aver studiato Reactor diligentemente?' e ho pensato: 'Devo contribuire all'open source!'.
Una volta che ho deciso di 'voler contribuire!', non sapevo da dove iniziare. Tutto, dalla ricerca della parte da modificare in un vasto codice alla previsione dell'impatto della mia modifica sull'intero sistema, mi spaventava.
Sembrava che ci volesse molto tempo prima di inviare una PR perché pensavo: 'Cosa succede se le persone si lamentano dopo aver inviato una PR come questa?'.
Il client Java Redis, Lettuce, che stavo usando come Reactive Stack, era basato su Reactor e volevo migliorare la catena Reactor direttamente sulla base dell'apprendimento di Reactor.
Ho semplicemente forked il codice e ho controllato tutto il codice che includeva le stringhe 'Reactive' e 'reactor'. Sembra che abbia controllato tutti i codici costituiti da catene di Reactor Publisher come Mono e Flux.
Mentre esaminavo attentamente il codice, per fortuna ho trovato un codice con una leggibilità leggermente scarsa e una concatenazione di metodi non corretta in un codice che utilizzava la catena Reactor. Non era un miglioramento di funzionalità o un cambiamento di architettura che avrebbe scioccato il mondo, ma era un piccolo e chiaro problema che potevo capire e correggere. Ho pensato: 'Oh, posso contribuire anche a una cosa del genere!'.
Ho corretto con attenzione il codice sulla base di ciò che ho capito e ho verificato se funzionava come previsto, almeno in un ambiente locale. Anche se si trattava di una piccola modifica, mi sono avvicinato con cautela, cercando di seguire il più possibile lo stile del codice esistente e pensando ripetutamente se avesse influenzato altre parti.
Dopo aver committato i contenuti modificati, finalmente è arrivato il momento di inviare la PR. Onestamente, ci sono stati molti dubbi ed esitazioni prima di premere il pulsante 'Invia'. Mi sono chiesto: 'Va bene inviare una PR con questa modifica?', 'Non diranno che ho corretto qualcosa di troppo ovvio?', 'Riuscirò a spiegare bene in inglese?'.
Come ho detto prima, ho avuto molta paura che le persone si lamentassero a causa delle mie carenze. Ma con la convinzione che 'l'inizio è la metà dell'opera' e che 'non si impara nulla se non ci si prova', ho avuto il coraggio di presentare una PR, scrivendo il più dettagliatamente possibile i miei cambiamenti e le ragioni.
redis/lettuce - #3061
Alla fine, la mia PR è stata 'Merged' e mi sono sentito davvero realizzato e orgoglioso del fatto che il codice che ho scritto e modificato sia diventato parte di un famoso progetto open source utilizzato da numerosi sviluppatori.
Soprattutto, 'posso farlo anch'io!' è stato il più grande guadagno che ho ottenuto.
Va bene non capire perfettamente. Puoi iniziare da piccole cose, come me. Ci sono davvero molti modi per contribuire, come correggere errori di ortografia nei documenti, partecipare alla traduzione e segnalare semplici bug. L'importante è il coraggio di fare il primo passo oltre la paura.
Se fai degli errori, è anche un'opportunità per crescere ulteriormentericevendo feedback dalla community attraverso quegli errori.
È una preziosa opportunità per aggiungere una riga al curriculum, ma il contributo all'open source basato sull'apprendimento può anche essere un mezzo per dimostrare che hai studiato molto.
Non è possibile inserire commenti in questo post.