Pergunta

Eu gostaria de começar a contribuir em alguns projetos de software GNU. Desde algumas semanas eu fantasia com um projeto específico, mas eu não sei como e quando começar.

Eu tenho a sensação que você tem que ser firme com o seguinte:

  • A linguagem de programação
  • gcc
  • gdb
  • make
  • Emacs
  • o próprio aplicativo
  • patching
  • CVS
  • etc.

Então, eu estou tentando aprender todos eles tão bom quanto possível.

Mas: Eu realmente tenho que dominar todos os programas listados / ferramentas antes de eu contribuir ou devo apenas participar de um projeto o mais rápido possível por isso vou aprender todos eles "pela maneira"? Vou receber alguma ajuda com menores dificuldades de programadores GNU ou que eles simplesmente não têm tempo para os meus "problemas iniciais"? Espero que possa me ajudar!

Todo o melhor,

Inno

P.S .: Eu gostaria de participar como um desenvolvedor não como um torcedor documentator ou IRC:)

[EDIT]

Obrigado por suas respostas até agora.

Já se o aplicativo compilado, depurado e funcionando, isso não é mais o problema. Apenas algumas pequenas coisas que eu não começar a trabalhar (acho que vou seguir o conselho com IRC).

Eu gostaria de participar do projeto para se familiarizar com C (e software livre / software de código aberto em geral). Eu fiz C quando eu comecei a programação e sempre gostei, mas nunca teve a oportunidade de trabalhar com ele em um ambiente profissional.

Desde que eu ganhar o meu dinheiro de programação desde 5 ou 6 anos eu não sou um novato total de mais;)

.
Foi útil?

Solução

A melhor maneira é entrar no canal IRC do projeto em questão - se você está tendo problemas com o conjunto de ferramentas e você indicar que você está trabalhando em seu projeto , a maioria devs F / OSS vai ajudá-lo.

Em particular, o projeto Mono (C # no Linux) é realmente desenvolvedor amigável em sua sala de IRC, e vai ser muito simpático e paciente com novas pessoas que querem ajudar

Outras dicas

Se você já tem uma sólida compreensão dos fundamentos da programação, então eu recomendaria apenas aderir a um projeto, encontrar algumas correções de bugs fácil ou características que você acha que poderia segurar, e mergulho. Uma comunidade bem será capaz de ajudar -lo com os detalhes de controle de origem e construir o binário se você está apaixonada e dispostos a ajudar. Muitos podem até ter tutoriais demonstrando especificamente como fazer isso com o seu projeto.

Se você ainda está tentando entender os conceitos básicos de programação, então você provavelmente deve manter seu foco em aprender o básico e construção de projectos pessoais / tutoriais em primeiro lugar, embora ele não pode ferir a verificar uma cópia da base de código para experimentar em sua própria máquina.

Além disso, nota que o CVS é ??apenas um dos muitos VCS (Sistemas de Controle de Versão) em uso. SVN e Git são outras duas opções populares, mas todos eles são relativamente fáceis de aprender -a principal coisa é saber como criar algo digno de versão. ;)

É ótimo que você está disposto a contribuir! Geralmente você pode começar com um editor de texto de sua escolha, aprendendo a usar diff e patch e qualquer linguagem que é utilizada. Você também pode precisar de usar um sistema de controle de versão (como subversão, CVS, git, etc.) para obter a fonte, mas nem todos os meandros - a maioria dos projetos que eu vi quero que você envie um patch antes de lhe dar cometer acesso.

Procure por algo simples de resolver e começar a contribuir. Ela ajuda a olhar para o que os outros desenvolvedores querem especificamente ajuda com, talvez até mesmo pedir-lhes, dizendo-lhes o que você é bom, se eles não têm pedidos listados no site do projeto. Muitas vezes usando o software vai lhe dar boas idéias sobre o que precisa ser melhorado, mas você pode precisar de paciência com os outros desenvolvedores que têm prioridades diferentes.

Para fazer uma contribuição significativa para qualquer um dos principais projetos GNU (gcc, gdb, o Emacs etc ..), você realmente precisa ser um especialista na área. Estes todos são maduros projetos que não oferecem muita margem para um iniciante.

Se você está perguntando sobre Software Livre Open Source (FOSS) projetos em geral, então você não precisa saber qualquer uma das ferramentas específicas que você menciona. Obviamente, se o proj ect é desenvolver um emacs sofisticada personalização (por exemplo), você precisa saber emacs. Para todos os projetos que você precisa saber como usar o sistema de controle de versão dos usos do projeto.

A linha inferior para contribuir para projectos de software livre é encontrar um que profundamente lhe interessa e que você tem o know-how técnico para contribuir. Se um desses estiver faltando, você pode também esquecer a idéia.

Eu suspeito que o mínimo que você tem que aprender a contribuir seria a linguagem de programação que está sendo usado e uma compreensão clara do objetivo do aspecto do aplicativo que você estava procurando contribuir também.

Você provavelmente vai ser a apresentação de patches ou alterações ao código em primeira instância e, em seguida, não diretamente na árvore de código fonte. Seria bom para, pelo menos, ser capaz de fazer o aplicativo a partir do código e executá-lo para verificar as alterações antes de enviá-los, mas isso realmente não significa que você tem que entender o próprio arquivo make, assim que você é capaz de executar make.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top