JavaRush /Java Blog /Random-IT /Progetti open source: cos'è e perché dovresti entrare a f...

Progetti open source: cos'è e perché dovresti entrare a far parte della comunità open source

Pubblicato nel gruppo Random-IT
Portiamo alla vostra attenzione un adattamento di un articolo di Jonathan Beckman , uno sviluppatore statunitense, che ha descritto la sua esperienza personale di partecipazione a un progetto open source. Progetti open source: cos'è e perché dovresti entrare a far parte della comunità open source - 1Da questo materiale imparerai:
  • cosa sono i progetti open source;
  • Come puoi contribuire;
  • dove cercare progetti e attività.

Perché vale la pena intraprendere progetti open source?

Prima di tutto, questa è una pratica di programmazione gratuita. Puoi anche aggiungere tali progetti al tuo curriculum e, credimi, se riesci a spiegare il tuo contributo alla causa comune, ottenere la posizione di "junior" sarà molto più semplice che nel caso di "aver appena terminato i corsi".

Progetto open source a portata di mano

Ti piace passeggiare nel parco? Forse non adesso, perché è già novembre, come si suol dire “l’inverno sta arrivando!” Sono sicuro che con il bel tempo ti divertirai a passeggiare tra gli alberi lungo i vicoli ben curati. Ma cosa succederebbe se il tuo parco preferito venisse abbandonato dai servizi comunali? Diventerebbe rapidamente un disastro. La spazzatura sarebbe sparsa ovunque, mescolata con escrementi di cani, aspettando con ansia che qualcuno finalmente ci entrasse dentro. È improbabile che continuerai ad andarci a fare passeggiate.
Progetti open source: cos'è e perché dovresti entrare a far parte della comunità open source - 2
Ora immagina un'immagine più felice: un gruppo di volontari si è assunto la responsabilità della manutenzione del loro parco preferito. Assegna regolarmente fondi per trasformare qualcosa di trasandato e trascurato in qualcosa di molto bello e utile per altre persone. E lo fa non solo per il piacere personale, ma anche per la gioia del pubblico. Molto probabilmente, il tuo parco preferito è sostenuto dalle nostre tasse, ma in generale la situazione sopra descritta descrive come funzionano i progetti open source.
I software gratuiti e open source sono applicazioni il cui codice è disponibile a tutti. Possono essere scaricati e/o utilizzati su qualsiasi numero di dispositivi. Sei libero di prendere il codice del programma e farne quello che vuoi, quindi distribuirlo tra i tuoi amici. Questo perché tali programmi sono distribuiti con licenze libere, come la licenza MIT.
Sebbene tutto il software sia essenzialmente progettato per l'utente finale, come sviluppatore puoi contribuire a un progetto open source e rendere il mondo un posto migliore con il nuovo software disponibile. Se vuoi prendere parte ad un progetto open source, devi capire chi ne è responsabile e cercare di stabilire un'interazione con queste persone. Non intendo tormentarli a morte con domande e aspettarmi una supervisione completa durante il lavoro. Sei un adulto indipendente (anche se non sei ancora adulto, essere indipendente è un'ottima idea!). Spero che non sia più necessario condurre per mano e descrivere ogni passaggio. Non ti sono d'aiuto con questo. Ma posso darti qualche buon consiglio che ti aiuterà mentre cerchi di dare il tuo primo contributo e potenzialmente includere il tuo pezzo di codice in un progetto open source.

Cerca un progetto

Se stai cercando un progetto open source in cui essere coinvolto, trovane uno che ti interessi davvero. È auspicabile che ci siano molti compiti tra cui scegliere. Non accontentarti del primo progetto che incontri. In questo modo sarai più motivato e in grado di prendere sul serio i compiti.

Dove cercare progetti Open Source

Possono essere trovati nei repository GitHub pubblici. In realtà è lì che li cercano tutti. Ci sono molte cose interessanti lì .

Trovare un buon primo problema

Trovare un buon primo incarico è la chiave del successo. Non accettare più di quanto puoi gestire. Non provare a mostrare tutta la tua conoscenza in una volta: cerca il problema più semplice possibile. Questo è il modo migliore per capire come funziona l'interazione tra te e i curatori del progetto. In alcuni progetti, le attività sono contrassegnate da etichette speciali che indicano il livello di difficoltà se i curatori le ritengono adatte a sviluppatori alle prime armi. Cerca qualcosa di simile quando guardi gli obiettivi del progetto scelto.
Progetti open source: cos'è e perché dovresti entrare a far parte della comunità open source - 3
Quando trovi un compito adatto, scrivi un commento ai curatori del progetto dicendo che ti piacerebbe lavorarci. Molto spesso ti daranno il via libera, ma forse per qualche motivo ti chiederanno di scegliere un’altra opzione. Non pensare di non poter iniziare prima che arrivi la risposta, ma sii flessibile se ti viene chiesto di fermarti e fare qualcos'altro. Per il mio primo incarico, ho scelto qualcosa in cui era necessario modificare leggermente il CSS. Mi sembrava di poterlo implementare e non mi deprimeva.

Inizio e introduzione

Iniziare un progetto può sembrare apparentemente facile, ma ci sono molte insidie. Dopo aver selezionato un problema da risolvere, devi distribuire il progetto sul tuo computer. Molto probabilmente le fonti del progetto saranno “pesanti” (anche se questo dipende dal progetto). Potrebbe essere necessario installare un gran numero di dipendenze solo per far funzionare il progetto.
Progetti open source: cos'è e perché dovresti entrare a far parte della comunità open source - 4
Nel progetto a cui ho preso parte c'erano pochi momenti simili, ma questo non significa che sia stato facile. Ad esempio, abbiamo dovuto installare versioni specifiche di Ruby e versioni specifiche di Rails, PostgreSQL, Phantom JS e Gemfile con un elenco di Gems per l'installazione. Questo non sembrava un requisito importante, ma ho avuto un grosso problema nel trovare la versione specifica di Ruby necessaria per sviluppare il progetto che funzionasse sul mio computer. Infine, ho usato RVM per cambiare versione: questa è un'altra cosa che ho imparato, proprio per installare il progetto e farlo funzionare sul computer. Quando ho lanciato il progetto, ho visto che era scritto in Angular e Coffee Script, utilizzando Active Record per interagire con i dati provenienti dal back-end. Queste erano cose nuove per noi e abbiamo dovuto capirle da soli prima di iniziare a lavorare sul progetto.

Cerca altre attività

Potresti non averne bisogno in questo momento, o addirittura averne bisogno nel prossimo futuro, ma mi sono imbattuto quasi immediatamente. È una grande fortuna accorgersi subito che qualcosa non funziona correttamente nel progetto. Se trovi un bug di questo tipo, vai al sito di lavoro e vedi se è lì. Non abbiate fretta di scrivere al supporto, forse funziona tutto. Di solito i curatori controllano la situazione e non dovrebbero esserci errori critici. Ma se trovi qualcosa che richiede attenzione, trova e controlla tra le attività già esistenti. Molto probabilmente, l'attività problematica è già stata scritta e molto probabilmente non è necessario fare nulla. Anche se potrebbe valere la pena risolverlo da solo una volta finito ciò su cui stai lavorando.
Progetti open source: cos'è e perché dovresti entrare a far parte della comunità open source - 5
Quando progetti e scrivi una nuova attività, assicurati di descriverla nel modo più dettagliato possibile. Utilizza gli screenshot per illustrare chiaramente ciò che stai cercando di dire e rendere il più semplice possibile per chiunque guardi il tuo sito la comprensione del problema che stai descrivendo. Nel mio caso, ho finito per aggiungere due attività aggiuntive oltre a quella che mi era stata assegnata. Non ho potuto nemmeno effettuare una richiesta pull (questo era dovuto a restrizioni di sicurezza). Mi sembrava di aver fatto due passi indietro per il progetto, ma in realtà, descrivere e organizzare le attività fa comunque avanzare il progetto. Creazione di una richiesta pull (PR)
Richiesta pull: una proposta per modificare il codice nel repository (repository del codice del progetto). Se stai lavorando su un progetto aperto, dovresti sempre creare un tuo ramo, ed è consigliabile apportare modifiche al codice principale (master) solo dopo che le richieste pull sono state approvate dai curatori del progetto.
Hai risolto il problema che ti è stato assegnato. Prima di scrivere un rapporto sullo stato di avanzamento, mostra la soluzione a qualcuno che possa valutarla. L'anteprima è sempre un'ottima idea, ma per il tuo primo contributo a un progetto open source è indispensabile . Non vuoi arrossire a causa di un pezzo di codice incompiuto o non funzionante? Per lo stesso motivo, i curatori del progetto ti chiederanno di superare tutti i test necessari prima di inviare una pull request. Pertanto, controllati in anticipo per avere fiducia nel tuo lavoro e correggilo se necessario prima di ricevere conferma dai curatori. Assicurati di aderire ai nomi o allo stile accettati dai curatori del progetto. Puoi trovare informazioni nel file CONTRIBUTING.md , la maggior parte dei progetti ce l'hanno. Inoltre lì puoi chiarire in quale forma dovresti creare un messaggio di commit, come dovrebbe apparire la descrizione della tua richiesta pull e come creare una nuova attività.

Abbandona l'attività

A volte ti accorgi di non essere all'altezza del compito. Oppure pensavi di avere tempo per un progetto, ma in realtà non ne hai avuto, il lavoro urgente ti è arrivato e devi portarlo avanti. E 'normale. La cosa principale è annullare l'iscrizione all'attività e lasciare un messaggio ai curatori in modo che sappiano che non potrai continuare a lavorare sul progetto. Ma in nessun caso abbandonare un compito senza informare i curatori e annullare l'iscrizione.
Progetti open source: cos'è e perché dovresti entrare a far parte della comunità open source - 6

Conclusione

Credo che partecipare allo sviluppo di un progetto open source sia un enorme vantaggio. Stai praticando e allo stesso tempo facendo qualcosa di utile per altre persone. D'altra parte, questo progetto può diventare un altro punto nel tuo curriculum e fornire ulteriori vantaggi nella lotta per la posizione desiderata. Proprio venerdì scorso ho parlato con un programmatore che ha ottenuto il suo lavoro (molto interessante e interessante, che potrebbe cambiare il mondo in meglio, e non sto davvero scherzando) grazie al suo lavoro su progetti open source.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION