Come diventare un committente e ne hai davvero bisogno

Ciao! Mi chiamo Dmitry Pavlov, lavoro in GridGain, e sono anche un committer e membro del PMC in Apache Ignite e contributore in Apache Training. Recentemente ho partecipato a un meetup di Sberbank sul tema open source, dove ho presentato una relazione sul lavoro del committer. Con lo sviluppo della comunità open source, molti hanno iniziato a chiedersi: come diventare un committer, quali compiti assumere e quante righe di codice bisogna scrivere per ottenere questo ruolo. Quando pensiamo ai committer, ci vengono subito in mente persone onnipotenti e onniscienti, con una corona in testa e un volume di "Codice Pulito" al posto del scettro. È davvero così? Nel mio post cercherò di rispondere a tutte le domande importanti sui committer, affinché possiate capire se è davvero qualcosa di cui avete bisogno.

Come diventare un committente e ne hai davvero bisogno

Tutti i neofiti nella comunità open source hanno pensieri sul fatto che non diventeranno mai committer. Infatti, per molti, questo è un ruolo prestigioso che si può ottenere solo per particolari meriti, scrivendo una quantità considerevole di codice. Ma non è così semplice. Diamo un'occhiata al committer dal punto di vista della comunità.

Chi è un committer e a cosa serve?

Quando creiamo un nuovo prodotto open source, permettiamo sempre agli utenti di utilizzarlo e esplorarlo, oltre a modificarlo e distribuire copie modificate. Ma quando avviene una distribuzione incontrollata di copie del software con modifiche effettuate, non riceviamo contributi nel codice sorgente principale e il progetto non si sviluppa. Qui entra in gioco il committer, che ha il diritto di raccogliere i contributi degli utenti al progetto.

Perché diventare un committer?

Iniziamo col dire che essere un committer è un valore aggiunto per il curriculum, e per i principianti nel campo della programmazione è ancora più vantaggioso, poiché spesso durante il colloquio di lavoro ci si aspetta di presentare esempi di codice.

Un altro indubbio vantaggio di essere un committer è la possibilità di interagire con specialisti di alto livello e trarre idee interessanti dall'open source per il proprio progetto. Inoltre, se conosci bene un certo prodotto open source, puoi trovare lavoro in un'azienda che lo supporta o lo utilizza. Esiste anche l'opinione che se non partecipi all'open source, non riuscirai a salire a posizioni elevate nella carriera.

Oltre ai vantaggi in termini di carriera e occupazione, l’essere un committer è piacevole di per sé. Sei riconosciuto dalla comunità professionale e hai una chiara visione dei risultati del tuo lavoro. Non è come in uno sviluppo aziendale, dove a volte non capisci nemmeno perché sposti da un posto all'altro campi in XML.

Nelle comunità open source puoi incontrare specialisti di alto livello come Linus Torvalds. Ma se non sei uno di questi, non pensare che non ci sia nulla per te — ci sono compiti di diversi livelli.

Ci sono anche bonus aggiuntivi: i committer di Apache, ad esempio, ricevono gratuitamente una licenza di IntelliJ Idea Ultimate (anche se con alcune limitazioni).

Cosa fare per diventare un committer?

È semplice: devi fare commit.

Come diventare un committente e ne hai davvero bisogno

Se pensi che non ci siano compiti per te nei progetti, ti sbagli. Basta unirsi alla comunità che ti interessa e fare quello che è necessario per essa. Nella Apache Software Foundation c'è un guida con i requisiti per i committer.

Quali compiti dovrai affrontare?

Di ogni tipo: dallo sviluppo alla scrittura di test e documentazione. Sì, il contributo dei tester e dei documentatori è apprezzato nella comunità tanto quanto quello degli sviluppatori. Ci sono anche compiti non standard: ad esempio, gestire un canale YouTube e spiegare ad altri utenti come utilizzi un prodotto open source. Ad esempio, nella Apache Software Foundation c'è una pagina, dove è indicato quale aiuto è necessario.  

È necessario scrivere una grande funzione per diventare un committer?

No. Non è affatto obbligatorio. Un committer non deve scrivere tonnellate di codice. Ma se hai scritto una grande funzione, sarà più facile per il comitato di gestione del progetto valutarti. Il contributo alla comunità non è solo funzioni, programmazione e testing. Se scrivi una lettera raccontando di un problema e proponi una soluzione motivata, anche questo è un contributo.

È importante capire che essere un committer significa avere fiducia. Decidere se farvi diventare un committer o meno, spetta ad altre persone come te, sulla base della loro visione di te come persona che contribuisce al prodotto. Pertanto, attraverso le tue azioni e il tuo comportamento nella comunità, devi guadagnarti questa fiducia.

Come comportarsi?

Essere costruttivi, positivi, cortesi e pazienti. Ricordate che nell'open source tutti sono volontari e nessuno deve nulla a nessuno. Se non ricevete risposta, aspettate e ricordate il vostro quesito dopo 3-4 giorni. Se non ricevete svariate risposte, beh, nell'open source è tutto volontario.

Come diventare un committente e ne hai davvero bisogno

Non chiedete a qualcuno di fare qualcosa per voi o al vostro posto. I partecipanti esperti della comunità avvertono subito questi "richiedenti" e si manifesta immediatamente un'allergia verso coloro che vogliono scaricare il loro lavoro sugli altri.

Se ricevete aiuto, è fantastico, ma non abusate. Non dovreste scrivere: "Ragazzi, sistemate questo, altrimenti perdo il bonus annuale". È meglio chiedere quale sia il passo successivo e spiegare ciò che avete già scoperto riguardo a questo bug. E se promettete di aggiornare la wiki in base ai risultati della risoluzione del problema, la probabilità che vi rispondano aumenterà notevolmente.

Infine, leggete Codice di Condotta e imparate a fare domande.

Come contribuire se non sei un committente?

Nei progetti si utilizza spesso lo schema RTC, dove prima tutti passano la revisione e poi le modifiche vengono unite nel master. In questo schema, assolutamente tutti devono passare la revisione, anche i committenti. Pertanto, è possibile contribuire con successo al progetto senza essere un committente. E per essere scelti più facilmente come nuovi committenti, potete dedicarvi al mentoring dei nuovi partecipanti, condividere le conoscenze, creare nuovi materiali.

Diversità — vantaggio o svantaggio?

La diversità — secondo la Apache Software Foundation — è, tra l'altro, l'affiliazione dei partecipanti a un progetto open source con diverse aziende. Se tutti sono affiliati a un'unica organizzazione, con la perdita del suo interesse per il progetto, tutti i partecipanti se ne vanno rapidamente. La diversità garantisce la sostenibilità a lungo termine, la stabilità del progetto, esperienza variegata e un ampio ventaglio di opinioni dei partecipanti.

Per amore o per calcolo?

Nei progetti open source si possono trovare due tipi di persone: coloro che lavorano per un'organizzazione che contribuisce a questo prodotto e coloro che lavorano qui per passione, cioè i volontari. Chi è più produttivo? Di solito, i partecipanti che sostengono il prodotto dall'organizzazione sostenitrice. Hanno semplicemente più tempo e una motivazione chiara di arrivare alla verità, sono concentrati sull'obiettivo e più vicini all'utente.

Coloro che fanno questo "per amore" sono anch'essi motivati, ma in modo diverso: desiderano esplorare il progetto, migliorare il mondo. Proprio questi partecipanti sono più stabili e orientati a lungo termine, perché chi entra nella comunità per iniziativa personale difficilmente la lascerà da un giorno all'altro.

Come trovare un equilibrio tra produttività e stabilità? Ci sono due opzioni. La prima opzione: quando un partecipante lavora in un'azienda che si occupa ufficialmente di questo progetto open source e, per proprio interesse, fa qualcosa in più, ad esempio supporta i neofiti. La seconda opzione è un'azienda che ha vissuto una trasformazione open source. Ad esempio, quando i dipendenti lavorano quattro giorni alla settimana sul principale progetto aziendale e nel resto del tempo si dedicano all'open source.

Commettere: essere o non essere?

Come diventare un committente e ne hai davvero bisogno

Essere un committer è un tema interessante e utile, ma non dovresti cercare di diventarlo necessariamente. Questo ruolo può essere ottenuto non solo per il codice e non dimostra le tue conoscenze. Ciò che conta è l'expertise, ovvero le conoscenze e l'esperienza che acquisisci studiando il progetto, immergendoti in esso e aiutando gli altri a risolvere i problemi.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster