Diventa un programmatore di software aperto

Autore: Morris Wright
Data Della Creazione: 24 Aprile 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
I passi da seguire per diventare un programmatore di videogiochi
Video: I passi da seguire per diventare un programmatore di videogiochi

Contenuto

Scrivere e utilizzare software aperto non è solo una forma di programmazione (chiamata anche "hacking" nel mondo dei programmatori), è una sorta di filosofia. Anche se devi solo conoscere un linguaggio di programmazione per poter programmare, questo articolo parla di come unirti alla comunità, fare amicizia, collaborare a grandi progetti e diventare uno specialista rispettato con un profilo che non puoi ottenere altrove. Nel mondo del software aperto, è possibile assegnare facilmente compiti che solo i programmatori di alto livello e d'élite possono svolgere in un'azienda. Pensa a quanta esperienza ti può portare. Tuttavia, una volta che hai deciso di diventare un programmatore di software aperto, devi essere disposto a investire del tempo in questo obiettivo. Questo vale anche se sei già uno studente di informatica. Intendiamoci, questo articolo non parla di come diventare un hacker o un cracker.

Al passo

  1. Scarica una buona distribuzione Unix. GNU / Linux è uno dei più popolari per la programmazione, ma sono comunemente usati anche GNU Hurd, BSD, Solaris e (in una certa misura) Mac OS X.
  2. Scopri come utilizzare la riga di comando. Puoi fare molto di più con i sistemi operativi Unix se usi la riga di comando.
  3. Impara alcuni linguaggi di programmazione popolari fino a raggiungere un livello più o meno soddisfacente. Altrimenti, non puoi contribuire con il codice (la parte più importante di qualsiasi progetto software) alla comunità del software aperto. Alcune fonti suggeriscono di iniziare con due linguaggi contemporaneamente: un linguaggio di sistema (C, Java o simili) e un linguaggio di scripting (Python, Ruby, Perl o simili).
  4. Per essere più produttivi, hai bisogno di NetBeans o di un ambiente di sviluppo integrato simile.
  5. Impara a usare un editor avanzato, come vi o Emacs. Hanno una curva di apprendimento più alta, ma puoi fare molto di più con loro.
  6. Informazioni sul controllo della versione. Il controllo della versione è probabilmente lo strumento più importante della collaborazione per lo sviluppo di software condiviso. Comprendi come creare e applicare le patch. La maggior parte dello sviluppo di software aperto nella comunità avviene attraverso la creazione, la discussione e l'applicazione di varie patch.
  7. Trova un progetto di software aperto adatto e piccolo a cui puoi partecipare facilmente per acquisire esperienza. La maggior parte di questi progetti può essere trovata su SourceForge.net in questi giorni. Un progetto adatto dovrebbe includere:
    1. Usa il linguaggio di programmazione che conosci.
    2. Sii attivo, con le versioni recenti.
    3. Già composto da tre a cinque sviluppatori.
    4. Per utilizzare il controllo della versione.
    5. Avere una parte su cui iniziare subito, senza dover modificare troppo il codice esistente.
    6. Oltre al codice, un buon progetto ha anche liste di discussione attive, segnalazioni di bug, riceve e implementa richieste di miglioramento e attività simili.
  8. Contatta l'amministratore del progetto selezionato. In un piccolo progetto con pochi sviluppatori, il tuo aiuto sarà generalmente accettato immediatamente.
  9. Leggi attentamente le regole del progetto e seguile più o meno. Le regole dello stile di programmazione o la necessità di documentare le modifiche in un file di testo separato possono sembrare ridicole all'inizio. Tuttavia, lo scopo di queste regole è consentire il lavoro condiviso e la maggior parte dei progetti lavora con esse.
  10. Lavora su questo progetto per diversi mesi. Ascolta attentamente cosa hanno da dire l'amministratore e gli altri membri del progetto. Oltre alla programmazione hai molte cose da imparare. Ma se davvero non ti piace qualcosa, fermati e passa a un altro progetto.
  11. Non rimanere bloccato nel progetto sotterraneo per troppo tempo. Una volta che sei in grado di lavorare con successo in quella squadra, è ora di iniziare a cercare qualcosa di più serio.
  12. Cerca un software aperto serio e di alto livello o un progetto open source. La maggior parte di questi progetti sono di proprietà di organizzazioni GNU o Apache.
  13. Poiché qui stiamo facendo un salto serio, è necessario tenere conto di un'accoglienza molto meno calorosa. Molto probabilmente ti verrà chiesto di eseguire per la prima volta senza accesso in scrittura diretto al repository di codice. Tuttavia, il precedente progetto sotterraneo avrebbe dovuto insegnarti molto, quindi dopo diversi mesi di contributo produttivo, puoi rivendicare i diritti che pensi di dover avere.
  14. Affronta un compito serio e risolvilo. È tempo. Non avere paura. Continua anche se scopri che il compito è molto più difficile di quanto pensavi inizialmente: in questo passaggio è importante non arrendersi.
  15. Se puoi, iscriviti al "Summer of Code" di Google per investire un po 'di soldi in questa avventura. Ma non preoccuparti se la domanda non viene accettata in quanto hanno molte meno posizioni finanziate rispetto a programmatori davvero bravi.
  16. Trova una conferenza adatta nelle vicinanze ("Linux days" o simile) e prova a presentare lì il tuo progetto (l'intero progettoe non solo la parte programmata). Dopo aver menzionato che stai rappresentando un serio progetto gratuito / open source, gli organizzatori ti manterranno spesso dalla quota della conferenza (in caso contrario, la conferenza sarà probabilmente inadatta comunque). Porta il tuo laptop Linux (se ne hai uno) ed esegui alcune demo. Chiedi al project manager i materiali che puoi utilizzare per preparare la presentazione o il poster.
  17. Cerca in Internet annunci su un evento di installazione nelle vicinanze e prova a partecipare prima come utente (nota tutti i problemi che sorgono e come gli hacker li risolvono) e proponi di installare i programmi la prossima volta.
  18. Completa l'attività, controlla il tuo lavoro con test automatici e contribuisci al progetto. Hai fatto! Certo, prova ad incontrare di persona alcuni dei programmatori del progetto e brinda insieme al risultato.
  19. Per una migliore comprensione, guarda un esempio reale della storia di sviluppo di un progetto software aperto (vedi sopra). Ogni curva ascendente rappresenta un contributo (righe di codice) da un singolo sviluppatore. Gli sviluppatori tendono a diventare meno attivi con l'età, ma il progetto spesso accelera anche se nuove persone si uniscono. Quindi se arrivi con alcune abilità utili in tasca, non ci sono ragioni per cui la squadra non dovrebbe invitarti.

Suggerimenti

  • Prima di porre una domanda sui requisiti pratici del progetto, cercare la risposta nella documentazione del progetto e negli archivi della mailing list.
  • Continua sempre a cercare di finire qualsiasi lavoro di programmazione che hai iniziato. Non può essere costruito, non può essere eseguito, il sistema si arresta in modo anomalo? Là essere ragioni per tutto, e se hai il codice sorgente, di solito significa che hai il sistema bene può costringerti a fare quello che vuoi, soprattutto con l'aiuto di alcune ricerche online. Questa regola ha dei limiti, ovviamente, ma è davvero importante non arrendersi mai troppo facilmente.
  • Definisci te stesso un programmatore (o un hacker) solo dopo essere stato riconosciuto come tale da alcuni membri della vera comunità di hacker.
  • All'inizio, scegli una classe, un modulo o un'altra unità in cui nessuno sta lavorando molto attivamente al momento. Lavorare insieme nella stessa classe o anche in una posizione richiede più abilità e attenzione da tutte le parti.
  • I datori di lavoro di alcuni hacker / programmatori sembrano abbastanza motivati ​​da consentire contributi durante l'orario di lavoro (di solito perché l'istituto utilizza il programma gratuito / open source che il programmatore sta sviluppando). Pensa, forse puoi ottenere almeno una parte del tempo necessario in questo modo.
  • Se ancora non hai abbastanza fiducia in te stesso, inizia da una parte del codice che ritieni manchi e che possa essere scritta da zero. È molto più probabile che le modifiche al codice esistente vengano criticate.

Avvertenze

  • Il tuo stato di hacker all'interno del progetto della comunità è più un riflesso del tuo presente che del tuo passato.Se desideri una raccomandazione o simile dal leader del progetto, chiedi se stai ancora contribuendo attivamente.
  • Non entrare in piccole ottimizzazioni del codice, commenti extra, miglioramenti dello stile di codifica e altre cose simili "su piccola scala". Questo può incontrare molte più critiche che un contributo serio. È invece possibile includere queste modifiche in una singola patch di "pulizia".
  • Se hai intenzione di incontrare di persona gli hacker del software aperto, lascia il tuo laptop Windows a casa. Mac OS è leggermente più tollerato, ma non è nemmeno il benvenuto. Se porti il ​​tuo laptop, deve essere in esecuzione Linux o un altro sistema operativo che considerano "software aperto".
  • Se il tuo client di posta elettronica supporta i messaggi HTML, dovresti disabilitare questa funzione. Non allegare mai documenti che solo un software commerciale (come Microsoft Word) può aprire correttamente. Gli hacker considerano questa offensiva.
  • Non fare volontariato su progetti di un'azienda il cui codice non è coperto da una licenza open source approvata. In questi casi, è probabile che le parti veramente importanti del progetto rimangano a porte chiuse dal proprietario, impedendoti di apprendere qualcosa di utile.
  • Evita qualsiasi domanda sui fondamenti della programmazione o sugli strumenti di programmazione. Il tempo di un programmatore di software aperto è prezioso. Discuti invece le basi della programmazione in gruppi di programmatori principianti o amatoriali.
  • Progetti consolidati e di grande successo possono avere politiche scritte o non scritte sul non rimborsare mai il tuo lavoro (niente soldi, nessuna capacità di promuovere te stesso, nessuno stato elevato indipendentemente dal tuo contributo, ecc. - vedi: Do_not_expect_reward Wikipedia). Se non puoi essere d'accordo con questo, attieniti a progetti più comuni che non possono permettersi un simile atteggiamento.
  • Non iniziare il tuo progetto a meno che tu non voglia sempre spendere in orgogliosa solitudine. Per lo stesso motivo, è meglio non intraprendere un tentativo di rilanciare un progetto già abbandonato che il suo team precedente ha già perso.
  • Nel caso di una riunione informale sul progetto a cui non hai mai contribuito con alcun codice, avrai la spiacevole sensazione di essere completamente ignorato. Non preoccuparti, alcuni hacker possono diventare buoni amici in seguito, dopo che ti sei guadagnato il loro rispetto con il tuo codice.
  • I grandi progetti software aperti, specialmente quelli intorno al dominio GNU, non trattano il tuo lavoro come un affare personale. Dopo aver ottenuto il lavoro all'interno di una società di software, chiedono al tuo datore di lavoro di firmare determinati accordi [1], che l'azienda firmerà o meno. Questo può costringerti a selezionare un progetto con requisiti meno rigorosi.

Necessità

  • Linux. Molti progetti di software aperti sono più complicati da costruire su Windows o non vengono creati correttamente. Ciò è particolarmente vero per i progetti avanzati dedicati alla programmazione di telefoni cellulari, chiavi USB e altri dispositivi.
  • Un computer con una connessione Internet relativamente buona. Se vuoi mantenere il dual boot con Windows, un secondo disco rigido o partizione per Linux potrebbe essere una buona soluzione.
  • Conoscenza di base di almeno un linguaggio di programmazione e forte intenzione di saperne di più. I linguaggi più popolari attualmente sembrano essere C e Java.
  • Una quantità significativa di tempo, almeno cinque ore a settimana (un tipico programmatore hardcore contribuisce con ben 14 ore).
  • Anche se l'istruzione IT formale renderà la tua strada molto più semplice, è proprio così non un requisito obbligatorio e nessuna vera comunità di hacker te lo chiederà mai. I programmatori / hacker si giudicano a vicenda dalla programmazione di qualcuno, non da falsi criteri come voti, età, razza o posizione. Intendiamoci, almeno il 60% degli hacker open source che valutano le tue patch hanno il diploma universitario "corretto" e non ti permetteranno di contribuire senza senso al progetto.
  • Durante le fasi finali (conferenza e "festa di installazione") puoi beneficiare del tuo laptop. Ma non va bene lavorarci su a casa, quindi acquistane uno solo se puoi permetterti la seconda macchina.
  • Il percorso descritto per diventare un software open source "hacker" richiede almeno due anni per essere completato.