Scrivere e utilizzare software aperto non è solo una forma di programmazione (nota anche come "hacking" nel mondo dei programmatori), è una sorta di filosofia. Anche se devi solo conoscere un linguaggio di programmazione per essere in grado di programmare, questo articolo parla di come puoi entrare a far parte della community, fare amicizia, collaborare a grandi progetti e diventare uno specialista rispettato con un profilo che non puoi trovare altrove. Nel mondo del software aperto si possono facilmente assegnare compiti che solo i programmatori d`élite, di alto livello, possono svolgere in un`azienda. Pensa a quanta esperienza questo può portarti. Tuttavia, una volta che hai deciso di diventare un programmatore di software aperto, devi essere disposto a investire tempo in questo obiettivo. Questo vale anche se sei già uno studente di informatica. Intendiamoci, questo articolo non riguarda come diventare un hacker o un cracker.
Passi
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 usare la riga di comando. Puoi fare molto di più con i sistemi operativi simili a Unix quando 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. Scopri come utilizzare un editor avanzato, come vi o Emacs. Hanno una curva di apprendimento più alta, ma puoi fare molto di più con loro.
6. Ulteriori informazioni sul controllo della versione. Il controllo della versione è probabilmente lo strumento più importante della collaborazione allo sviluppo di software condiviso. Comprendere la creazione e l`applicazione delle 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 piccolo progetto software aperto adatto a cui puoi unirti facilmente per acquisire esperienza. La maggior parte di questi progetti può essere trovata su SourceForge in questi giorni.appena. Un progetto adatto dovrebbe:
Usa il linguaggio di programmazione che conosci.Sii attivo, con le versioni recenti.Già composto da tre a cinque sviluppatori.per utilizzare il controllo della versione.Avere una parte su cui iniziare subito a lavorare, senza dover modificare troppo il codice esistente.Oltre al codice, un buon progetto ha anche liste di discussione attive, segnalazioni di errori, 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 viene generalmente accettato immediatamente.
9. Leggi attentamente le regole del progetto e seguile più o meno. All`inizio potresti trovare ridicole le regole dello stile di programmazione o la necessità di documentare le modifiche in un file di testo separato. Tuttavia, lo scopo di queste regole è consentire il lavoro condiviso e la maggior parte dei progetti funziona con esso.
10. Lavora su questo progetto per diversi mesi. Ascolta attentamente ciò che l`amministratore e gli altri membri del progetto hanno da dire. Oltre alla programmazione hai molte cose da imparare. Ma se davvero non ti piace qualcosa, fermati e passa a un altro progetto.
11. Non indugiare troppo a lungo nel progetto sotterraneo. Una volta scoperto che puoi lavorare con successo in quella squadra, è tempo di cercare qualcosa di più serio.
12. Trova un serio software aperto di alto livello o un progetto open source. La maggior parte di questi progetti sono di proprietà di organizzazioni GNU o Apache.
13. Dato che stiamo facendo un serio salto di qualità, bisogna tenere conto di un`accoglienza molto meno calorosa. Probabilmente ti verrà chiesto di eseguire per la prima volta senza accesso diretto in scrittura al repository di codice. Tuttavia, il precedente progetto clandestino avrebbe dovuto insegnarti molto, quindi dopo alcuni mesi in cui sei stato produttivo, puoi rivendicare i diritti che pensi di dover avere.
14. Affronta un compito serio e risolvilo. È tempo. Non avere paura. Continua anche se trovi che il compito è molto più difficile di quanto pensassi inizialmente: in questo passaggio è importante non arrendersi.
15. Se puoi, applica a Google "Estate del codice" per risparmiare un po` di soldi in questa avventura. Ma non preoccuparti se la domanda non viene accettata perché hanno posizioni molto meno finanziate rispetto a programmatori davvero bravi.
16. Trova una conferenza adatta che si terrà nelle vicinanze ("giorni Linux" o qualcosa di simile) e prova a presentare il tuo progetto lì (l`intero progetto, e non solo la parte che programmi). Dopo aver detto loro che stai rappresentando un serio progetto gratuito/open source, gli organizzatori spesso ti esonerano dalla quota della conferenza (in caso contrario, la conferenza probabilmente non sarà comunque adatta). Porta il tuo laptop Linux (se ne hai uno) e mostra alcune demo. Chiedi al project manager i materiali che puoi utilizzare per preparare la tua presentazione o 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 la prossima volta offri di installare programmi.
18. Completa l`attività, verifica il tuo lavoro con test automatici e contribuisci al progetto. Hai fatto! Per sicurezza, prova a incontrare di persona alcuni dei programmatori del progetto e alza insieme una birra al risultato.
19. Per una migliore comprensione, guarda un esempio reale della storia di sviluppo di un progetto software aperto (sopra). Ogni curva ascendente rappresenta un contributo (righe di codice) di un singolo sviluppatore. Gli sviluppatori tendono a diventare meno attivi con l`età, ma il progetto spesso accelera anche quando nuove persone si uniscono. Quindi, se arrivi con alcune abilità utili in tasca, non c`è motivo per cui il team non dovrebbe invitarti.
Consigli
Prima di porre una domanda sugli aspetti pratici del progetto, dovresti cercare la risposta nella documentazione del progetto e negli archivi della mailing list.Continua sempre a provare a finire la programmazione che hai iniziato. Impossibile compilare, non eseguire, il sistema si arresta in modo anomalo? ehm sono ragioni per tutto, e se hai il codice sorgente, di solito significa che hai il sistema bene costringerti a fare quello che vuoi, soprattutto con l`aiuto di alcune ricerche online. Questa regola ha dei limiti, certo, ma in effetti è importante non arrendersi mai troppo facilmente.Chiamati programmatore (o hacker) solo dopo essere stato riconosciuto come tale da parte della vera comunità di hacker.All`inizio, scegli una classe, un modulo o un`altra unità su cui nessuno sta attualmente lavorando molto attivamente. Lavorare insieme nella stessa classe o anche in una posizione richiede più abilità e cura da tutti i lati.I datori di lavoro di alcuni hacker/programmatori sembrano sufficientemente motivati da consentire contributi durante l`orario di lavoro (di solito perché l`istituto utilizza il programma gratuito/open source sviluppato dal programmatore). Pensa, forse puoi ottenere almeno parte del tempo necessario in questo modo.Se ancora non ti senti abbastanza sicuro di te stesso, inizia da qualche parte del codice che pensi manchi e che possa essere scritta da zero. Le modifiche al codice esistente verranno criticate molto più rapidamente.Avvertenze
- Il tuo stato di hacker all`interno del progetto della community riflette il tuo presente più del tuo passato. Se desideri una raccomandazione o qualcosa di simile dal leader del progetto, chiedi se stai ancora contribuendo attivamente.
- Non entrare in ottimizzazioni del codice minori, 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, puoi includere queste modifiche in una singola patch di "pulizia".
- Se hai intenzione di incontrare di persona gli hacker di software aperti, lascia il tuo laptop Windows a casa. Mac OS è un po` più tollerato, ma non è nemmeno il benvenuto. Se porti il tuo laptop, deve essere in esecuzione Linux o qualche altro sistema operativo che considerano "software aperto".
- Se il tuo client di posta elettronica supporta i messaggi HTML, è meglio disabilitare questa funzione. Non allegare mai documenti che solo software commerciali (come Microsoft Word) possono aprire correttamente. Gli hacker lo considerano offensivo.
- Non fare volontariato per progetti aziendali il cui codice non è coperto da a approvato caduta della licenza open source. In questi casi, è probabile che le parti davvero importanti del progetto rimangano a porte chiuse dal proprietario, il che ti impedisce di imparare 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 per programmatori dilettanti o principianti.
- I progetti consolidati e di grande successo possono avere politiche scritte o non scritte sul non pagare mai per il tuo lavoro (niente denaro, nessuna capacità di promuoverti, nessuno status elevato indipendentemente dal tuo contributo, ecc. -- vedere : Non_aspettarti_ricompensa Wikipedia). Se non sei d`accordo con questo, attieniti a progetti più tradizionali che non possono permettersi un tale atteggiamento.
- Non intraprendere un progetto tutto tuo a meno che tu non voglia sempre trascorrere orgogliosa solitudine. Per lo stesso motivo, non dovresti intraprendere un tentativo di far rivivere un progetto già abbandonato che il suo team precedente ha già perso.
- Nel caso di un incontro informale sul progetto in 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 sarai guadagnato il rispetto con il tuo codice.
- I principali progetti di software aperto, in particolare quelli intorno al dominio GNU, non considerano il tuo lavoro come un affare personale. Dopo aver ottenuto il lavoro all`interno di un`azienda legata al software, chiedono determinati accordi al tuo datore di lavoro [1] firmare, che la società firmerà o non firmerà. Ciò potrebbe costringerti a selezionare un progetto con requisiti meno rigorosi.
Necessità
- Linux. Molti progetti software aperti sono più complicati da creare in Windows o non sono affatto compilati correttamente. Ciò è particolarmente vero per i progetti avanzati, dedicati alla programmazione di cellulari, Chiavi USB e altri dispositivi.
- Un computer con una connessione Internet relativamente buona. Se desideri eseguire il dual boot con Windows, un secondo disco rigido o una partizione per Linux potrebbe essere una buona soluzione.
- Conoscenza di base di almeno un linguaggio di programmazione e forte intenzione di saperne di più. Attualmente sembrano le lingue più popolari C ed essere Java.
- Una notevole quantità di tempo, almeno cinque ore a settimana (un tipico programmatore hardcore contribuisce fino a 14 ore).
- Mentre l`istruzione IT formale ti renderà molto più semplice, questo non un requisito obbligatorio e nessuna vera comunità di hacker te lo chiederà mai. I programmatori/hacker si giudicano a vicenda in base alla programmazione di qualcuno, non a criteri falsi come voti, età, razza o posizione. Intendiamoci, almeno il 60% degli hacker open source che esaminano le tue patch ha la laurea "corretta" e non permetterà alle tue cazzate di contribuire al progetto.
- Durante gli ultimi passaggi (conferenza e `festa di installazione`) puoi sfruttare il tuo laptop. Ma non va bene lavorarci sopra a casa, quindi comprane uno solo se puoi permetterti la seconda macchina.
- Il percorso descritto per diventare un "hacker" di software open source richiede almeno due anni per essere completato.
Articoli sull'argomento "Diventare un programmatore di software aperto"