Domanda

Vorrei iniziare a contribuire in alcuni progetti di software GNU. Dal momento che alcune settimane immagino con un progetto specifico, ma non so come e quando iniziare.

Ho la sensazione che si ha per essere aperta con il seguente:

  • Un linguaggio di programmazione
  • gcc
  • gdb
  • make
  • emacs
  • l'applicazione stessa
  • patch
  • CVS
  • ecc.

Così sto cercando di imparare tutti loro nel miglior modo possibile.

Ma: Devo davvero a padroneggiare tutte le elencati programmi / strumenti prima che io contribuisco o devo solo far parte di un progetto più presto possibile, in modo che tutti li imparare "a proposito"? Riceverò un aiuto con minori difficoltà di programmatori GNU o non hanno solo avere il tempo per i miei "problemi che iniziano"? Spero che tu mi puoi aiutare!

Tutto il meglio,

Inno

P.S .: Vorrei aderire come sviluppatore non come un sostenitore documentator o IRC:)

[EDIT]

Grazie per le vostre risposte finora.

Ho già capito la domanda compilata, il debug e l'esecuzione, che non è più il problema. Solo alcune piccole cose che non andare al lavoro (credo che seguirò il consiglio con IRC).

Vorrei aderire al progetto per acquisire familiarità con C (e il software libero / open source in generale). Ho fatto C quando ho iniziato la programmazione e sempre piaciuto, ma non ha mai avuto l'opportunità di lavorare con lui in un ambiente professionale.

Dal momento che mi guadagno i soldi dalla programmazione dal 5 o 6 anni non sono più un novellino totale;).

È stato utile?

Soluzione

Il modo migliore è quello di entrare nel canale IRC del progetto in questione - se hai problemi con la toolchain e si indica che si sta lavorando sul loro progetto , la maggior parte degli sviluppatori F / OSS vi aiuterà fuori.

In particolare, il progetto Mono (C # su Linux) è davvero sviluppatore amichevole nella loro stanza IRC, e sarà molto gentile e paziente con le nuove persone che vogliono dare una mano

Altri suggerimenti

Se si dispone già di una solida conoscenza dei fondamenti della programmazione, allora vi consiglio solo entrare in un progetto, trovando alcune correzioni semplici bug o caratteristiche pensi di poter gestire, e le immersioni in. Una buona comunità sarà in grado di aiutare voi con i dettagli di controllo del codice sorgente e costruire i binari se siete appassionati e pronto ad aiutare. Molti possono anche avere tutorial che dimostrano specificamente come fare questo con il loro progetto.

Se si stanno ancora cercando di capire le basi della programmazione, allora probabilmente dovrebbe tenere la vostra attenzione su imparare le basi e costruire progetti personali / tutorial prima, anche se non sarebbe male di controllare una copia del codice di base per sperimentare sulla propria macchina.

Si noti inoltre che CVS è solo uno dei tanti VCS (sistemi di controllo versione) in uso. SVN e Git sono altre due opzioni popolari, ma tutti sono relativamente facili da imparare -la cosa più importante è sapere come creare qualcosa degno delle versioni. ;)

E 'grande che si è disposti a contribuire! In generale si può iniziare con un editor di testo di vostra scelta, imparando a usare diff e patch, e tutto ciò che il linguaggio viene usato. Potrebbe anche essere necessario utilizzare un sistema di controllo di versione (come Subversion, CVS, git, ecc) per ottenere la fonte, ma non tutte le complessità - maggior parte dei progetti che ho visto che tu inviare una patch prima di dare di impegnarsi l'accesso.

Cercare qualcosa di semplice per risolvere il problema e iniziare a contribuire. Aiuta a guardare a ciò che gli altri sviluppatori specificamente vogliono aiutare con, forse anche chiedere loro, dicendo loro ciò che sei bravo a, se non hanno richieste elencati sul sito web del progetto. Spesso utilizzando il software vi darà buone idee su ciò che deve essere migliorato, ma potrebbe essere necessario pazienza con gli altri sviluppatori che hanno priorità diverse.

Per dare un contributo significativo per uno qualsiasi dei principali progetti GNU (gcc, gdb, emacs, ecc ..), si ha realmente bisogno di essere un esperto nella zona. Questi sono tutti progetti maturi che non offrono troppo spazio per un principiante.

Se ti stai chiedendo su Free software libero Open (FOSS) progetti in generale, allora non c'è bisogno di conoscere uno qualsiasi degli strumenti specifici di cui parli. Ovviamente, se il proj ect è quello di sviluppare un sofisticato personalizzazione emacs (per esempio), è necessario conoscere emacs. Per tutti i progetti è necessario sapere come utilizzare il sistema di controllo versione il progetto utilizza.

La linea di fondo per contribuire a progetti FOSS è quello di trovare uno che ti interessa profondamente e di cui si ha il know-how tecnico per contribuire. Se uno di questi manca, si può anche dimenticare l'idea.

avrei il sospetto che il minimo che avrebbe dovuto imparare a contribuire sarebbe il linguaggio di programmazione in uso e una chiara comprensione dell'obiettivo della aspetto dell'applicazione che stavi cercando di contribuire anche.

Probabilmente sarete inviando patch o modifiche al codice in prima istanza e poi non direttamente nella struttura di origine. Sarebbe bello almeno essere in grado di rendere l'applicazione da fonte ed eseguirlo per controllare le modifiche prima di inviarli, ma che in realtà non significa che devi capire il make file stesso, solo che si è in grado di eseguire fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top