Torne-se um programador de software aberto

Autor: Morris Wright
Data De Criação: 24 Abril 2021
Data De Atualização: 1 Julho 2024
Anonim
Como COMEÇAR a [PROGRAMAR] | Torne-se um Programador
Vídeo: Como COMEÇAR a [PROGRAMAR] | Torne-se um Programador

Contente

Escrever e usar software aberto não é apenas uma forma de programação (também chamada de "hacking" no mundo dos programadores), é uma espécie de filosofia. Embora você só precise conhecer uma linguagem de programação para ser capaz de codificar, este artigo é sobre como ingressar na comunidade, fazer amigos, colaborar em grandes projetos e se tornar um especialista respeitado com um perfil que você não consegue em outro lugar. No mundo do software aberto, você pode facilmente receber tarefas que apenas os programadores de alto nível de elite têm permissão para realizar em uma empresa. Pense em quanta experiência isso pode lhe trazer. No entanto, depois de decidir se tornar um programador de software aberto, você deve estar disposto a investir tempo nessa meta. Isso também se aplica se você já for um estudante de TI. Veja bem, este artigo não é sobre como se tornar um hacker ou cracker.

Dar um passo

  1. Baixe uma boa distribuição Unix. GNU / Linux é um dos mais populares para programação, mas GNU Hurd, BSD, Solaris e (até certo ponto) Mac OS X também são comumente usados.
  2. Aprenda a usar a linha de comando. Você pode fazer muito mais com sistemas operacionais do tipo Unix se usar a linha de comando.
  3. Aprenda algumas linguagens de programação populares até atingir um nível mais ou menos satisfatório. Caso contrário, você não pode contribuir com código (a parte mais importante de qualquer projeto de software) para a comunidade de software aberto. Algumas fontes sugerem começar com duas linguagens ao mesmo tempo: uma linguagem de sistema (C, Java ou similar) e uma linguagem de script (Python, Ruby, Perl ou similar).
  4. Para ser mais produtivo, você precisa do NetBeans ou de um ambiente de desenvolvimento integrado semelhante.
  5. Aprenda a usar um editor avançado, como vi ou Emacs. Eles têm uma curva de aprendizado maior, mas você pode fazer muito mais com eles.
  6. Aprenda sobre o controle de versão. O controle de versão é provavelmente a ferramenta mais importante de colaboração para o desenvolvimento de software compartilhado. Entenda como criar e aplicar patches. A maior parte do desenvolvimento de software aberto na comunidade é feito por meio da criação, discussão e aplicação de vários patches.
  7. Encontre um pequeno projeto de software aberto adequado do qual você possa participar facilmente para ganhar experiência. A maioria desses projetos pode ser encontrada no SourceForge.net atualmente. Um projeto adequado deve incluir:
    1. Use a linguagem de programação que você conhece.
    2. Seja ativo, com lançamentos recentes.
    3. Já consistindo de três a cinco desenvolvedores.
    4. Para usar o controle de versão.
    5. Tenha uma parte na qual você possa começar imediatamente, sem ter que alterar muito o código existente.
    6. Além do código, um bom projeto também tem listas de discussão ativas, relatórios de bug, obtém e implementa solicitações de melhoria e atividades semelhantes.
  8. Contate o administrador do projeto selecionado. Em um projeto pequeno com poucos desenvolvedores, sua ajuda geralmente será aceita imediatamente.
  9. Leia atentamente as regras do projeto e siga-as mais ou menos. As regras de estilo de programação ou a necessidade de documentar suas alterações em um arquivo de texto separado podem parecer ridículas à primeira vista. No entanto, o objetivo dessas regras é permitir o trabalho compartilhado - e a maioria dos projetos trabalha com eles.
  10. Trabalhe neste projeto por vários meses. Ouça atentamente o que o administrador e outros membros do projeto têm a dizer. Além de programar, você tem muito a aprender. Mas se você realmente não gosta de algo, pare e mude para outro projeto.
  11. Não fique preso no projeto underground por muito tempo. Depois que você conseguir trabalhar com sucesso nessa equipe, é hora de começar a procurar algo mais sério.
  12. Procure por um software aberto sério e de alto nível ou um projeto de código aberto. Muitos desses projetos são propriedade de organizações GNU ou Apache.
  13. Porque estamos dando um salto sério aqui, você tem que levar em consideração uma recepção muito menos calorosa. Provavelmente, você será solicitado a executar sem acesso de gravação direto ao repositório de código pela primeira vez. No entanto, o projeto underground anterior deveria ter lhe ensinado muito - então, após vários meses fazendo uma contribuição produtiva, você pode reivindicar os direitos que acha que deveria ter.
  14. Assuma uma tarefa séria e resolva-a. Está na hora. Não tenha medo. Continue mesmo se achar que a tarefa é muito mais difícil do que você pensava inicialmente - nesta etapa é importante não desistir.
  15. Se você puder, inscreva-se no "Summer of Code" do Google para colocar algum dinheiro nesta aventura. Mas não se preocupe se a inscrição não for aceita, pois eles têm muito menos posições financiadas do que bons programadores.
  16. Encontre uma conferência adequada acontecendo nas proximidades ("dias Linux" ou semelhante) e tente apresentar seu projeto lá (todo o projeto, e não apenas a parte que você programa). Depois que você menciona que está representando um projeto sério de código aberto / gratuito, os organizadores geralmente o indenizam da taxa da conferência (caso contrário, a conferência provavelmente será inadequada de qualquer maneira). Traga seu laptop Linux (se você tiver um) e execute algumas demonstrações. Pergunte ao gerente de projeto sobre os materiais que você pode usar para preparar sua apresentação ou pôster.
  17. Pesquise na Internet por anúncios sobre um evento de instalação próximo e tente participar como um usuário primeiro (observe todos os problemas que surgem e como os hackers os corrigem) e se ofereça para instalar programas na próxima vez.
  18. Conclua a tarefa, verifique seu trabalho com testes automáticos e contribua com o projeto. Você terminou! Para ter certeza, tente encontrar alguns dos programadores do projeto pessoalmente e levantar um copo de cerveja juntos sobre o resultado.
  19. Para uma melhor compreensão, veja um exemplo real da história de desenvolvimento de um projeto de software aberto (veja acima). Cada curva ascendente representa uma contribuição (linhas de código) de um único desenvolvedor. Os desenvolvedores tendem a se tornar menos ativos com a idade, mas o projeto geralmente acelera mesmo quando novas pessoas entram. Portanto, se você chegar com algumas habilidades úteis no bolso, não há motivos para que a equipe não o convide.

Pontas

  • Antes de fazer uma pergunta sobre os requisitos práticos dentro do projeto, procure a resposta na documentação do projeto e nos arquivos da lista de discussão.
  • Sempre tente terminar qualquer trabalho de programação que você iniciou. Não pode ser construído, não pode funcionar, o sistema trava? Lá ser razões para tudo, e se você tiver o código-fonte, geralmente significa que você tem o sistema Nós vamos pode forçá-lo a fazer o que quiser, especialmente com a ajuda de algumas pesquisas online. Essa regra tem limites, é claro, mas é realmente importante nunca desistir tão facilmente.
  • Chame a si mesmo de programador (ou hacker) somente depois de ser reconhecido como tal por parte da comunidade hacker real.
  • No início, escolha uma classe, módulo ou outra unidade onde ninguém esteja trabalhando muito ativamente no momento. Trabalhar juntos na mesma classe ou mesmo em uma posição requer mais habilidades e cuidado de todos os lados.
  • Os empregadores de alguns hackers / programadores parecem motivados o suficiente para permitir contribuições durante o horário de trabalho (geralmente porque a instituição usa o programa de código aberto / gratuito que o programador está desenvolvendo). Pense, talvez você consiga pelo menos parte do tempo necessário dessa maneira.
  • Se você ainda não tem confiança suficiente em si mesmo, comece com alguma parte do código que você acha que está faltando e que pode ser escrita do zero. Mudanças no código existente têm muito mais probabilidade de serem criticadas.

Avisos

  • Seu status de hacker dentro do projeto da comunidade é mais um reflexo do seu presente do que do seu passado.Se você gostaria de uma recomendação ou algo semelhante do líder do projeto, pergunte se você ainda está contribuindo ativamente.
  • Não entre em pequenas otimizações de código, comentários extras, melhorias no estilo de codificação e outras coisas semelhantes em "pequena escala". Isso pode receber muito mais críticas do que uma contribuição séria. Em vez disso, você pode incluir essas alterações em um único patch de "limpeza".
  • Se você planeja encontrar os hackers de software aberto pessoalmente, deixe seu laptop Windows em casa. O Mac OS é um pouco mais tolerado, mas também não é bem-vindo. Se você trouxer seu laptop, ele deve estar executando Linux ou algum outro sistema operacional que eles considerem "software aberto".
  • Se o seu cliente de e-mail oferece suporte a mensagens HTML, você deve desativar esse recurso. Nunca anexe documentos que somente softwares comerciais (como o Microsoft Word) possam abrir corretamente. Os hackers consideram isso ofensivo.
  • Não seja voluntário em projetos de uma empresa cujo código não seja coberto por uma licença de código aberto aprovada. Nesses casos, as partes realmente importantes do projeto provavelmente permanecerão escondidas do proprietário, impedindo você de aprender qualquer coisa útil.
  • Evite qualquer pergunta sobre os fundamentos da programação ou ferramentas de programação. O tempo de um programador de software aberto é precioso. Em vez disso, discuta os fundamentos da programação em grupos de programadores amadores ou iniciantes.
  • Projetos estabelecidos e altamente bem-sucedidos podem ter políticas escritas ou não escritas sobre nunca reembolsar seu trabalho (sem dinheiro, sem capacidade de se promover, sem status elevado independentemente de sua contribuição, etc. - consulte: Do_not_expect_reward Wikipedia). Se você não concorda com isso, opte por projetos mais comuns que não podem permitir tal atitude.
  • Não comece seu próprio projeto, a menos que você sempre queira passar em uma solidão orgulhosa. Pelo mesmo motivo, é melhor não embarcar na tentativa de reviver um projeto já abandonado que sua equipe anterior já perdeu.
  • No caso de uma reunião informal sobre o projeto para o qual você nunca contribuiu com nenhum código, você terá a desagradável sensação de ser completamente ignorado. Não se preocupe, alguns hackers podem se tornar bons amigos depois que você ganhar o respeito deles com seu próprio código.
  • Grandes projetos de software aberto, especialmente aqueles em torno do domínio GNU, não tratam seu trabalho como um assunto pessoal. Depois de conseguir o emprego em uma empresa relacionada a software, eles pedem que seu empregador assine certos contratos [1], que a empresa irá ou não assinar. Isso pode forçá-lo a selecionar um projeto com requisitos menos rigorosos.

Necessidades

  • Linux. Muitos projetos de software aberto são mais complicados de construir no Windows ou não são construídos corretamente. Isso é especialmente verdadeiro para projetos avançados dedicados à programação de telefones celulares, chaves USB e outros dispositivos.
  • Um computador com uma conexão de Internet relativamente boa. Se você deseja manter a inicialização dupla com o Windows, um segundo disco rígido ou partição para Linux pode ser uma boa solução.
  • Conhecimento básico de pelo menos uma linguagem de programação e forte intenção de aprender mais. As linguagens mais populares atualmente parecem ser C e Java.
  • Uma quantidade significativa de tempo, pelo menos cinco horas por semana (um programador hardcore típico contribui com 14 horas colossais).
  • Embora a educação formal em TI torne seu caminho muito mais fácil, é isso não um requisito obrigatório e nenhuma comunidade hacker de verdade jamais perguntará a você sobre isso. Programadores / hackers julgam uns aos outros pela programação de alguém, não por critérios falsos, como notas, idade, raça ou posição. Lembre-se de que pelo menos 60% dos hackers de código aberto que avaliam seus patches têm o diploma universitário "correto" e não permitirão que você contribua sem sentido para o projeto.
  • Durante as etapas finais (conferência e 'instalador'), você pode se beneficiar de seu próprio laptop. Mas não é normal trabalhar nele em casa, então compre apenas um se você puder pagar pela segunda máquina.
  • O caminho descrito para se tornar um "hacker" de software de código aberto leva pelo menos dois anos para ser concluído.