Tornando-se um programador de software aberto

Escrever e usar software aberto não é apenas uma forma de programação (também conhecido como `hacking` no mundo dos programadores), é um tipo de filosofia. Embora você só precise saber uma linguagem de programação para poder programar, este artigo é sobre como você pode entrar na comunidade, fazer amigos, colaborar em grandes projetos e se tornar um especialista respeitado com um perfil que você não encontra em outro lugar. No mundo do software aberto, você pode facilmente receber tarefas que apenas os programadores de elite, de alto nível, têm permissão para fazer em uma empresa. Basta pensar quanta experiência isso pode lhe trazer. No entanto, uma vez que você decidiu se tornar um programador de software aberto, você deve estar disposto a investir tempo nesse objetivo. Isso também se aplica se você já for um estudante de TI. Lembre-se, este artigo não é sobre como se tornar um hacker ou cracker.

Degraus

Imagem intitulada Torne-se um hacker de software livre Passo 1
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.
Imagem intitulada Torne-se um hacker de software livre Passo 2
2. Aprenda a usar a linha de comando. Você pode fazer muito mais com sistemas operacionais do tipo Unix ao usar a linha de comando.
Imagem intitulada Torne-se um hacker de software livre Passo 3
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).
Imagem intitulada Torne-se um hacker de software livre Passo 4
4. Para ser mais produtivo, você precisa do NetBeans ou de um ambiente de desenvolvimento integrado semelhante.
Imagem intitulada Torne-se um hacker de software livre Passo 5
5. Aprenda a usar um editor avançado, como vi ou Emacs. Eles têm uma curva de aprendizado mais alta, mas você pode fazer muito mais com eles.
Imagem intitulada Torne-se um hacker de software livre Passo 6
6. Saiba mais sobre o controle de versão. O controle de versão é provavelmente a ferramenta mais importante de colaboração de desenvolvimento de software compartilhado. Entenda a criação e a aplicação de patches. A maior parte do desenvolvimento de software aberto na comunidade é feito através da criação, discussão e aplicação de vários patches.
Imagem intitulada Torne-se um hacker de software livre Passo 7
7. Encontre um pequeno projeto de software aberto adequado ao qual você possa participar facilmente para ganhar experiência. A maioria desses projetos pode ser encontrada no SourceForge atualmente.somente. Um projeto adequado deve:
  • Use a linguagem de programação que você conhece.
  • Seja ativo, com lançamentos recentes.
  • Já para ser composto por três a cinco desenvolvedores.
  • para usar o controle de versão.
  • Tenha uma parte na qual você possa começar a trabalhar imediatamente, sem precisar alterar muito o código existente.
  • Além do código, um bom projeto também possui listas de discussão ativas, relatórios de erros, obtém e implementa solicitações de melhorias e atividades semelhantes.
    Imagem intitulada Torne-se um hacker de software livre Passo 8
    8. Entre em contato com o administrador do projeto selecionado. Em um projeto pequeno com poucos desenvolvedores, sua ajuda geralmente será aceita imediatamente.
    Imagem intitulada Torne-se um hacker de software livre Passo 9
    9. Leia atentamente as regras do projeto e siga-as mais ou menos. Você pode achar as regras de estilo de programação ou a necessidade de documentar suas alterações em um arquivo de texto separado ridículas no início. No entanto, o objetivo dessas regras é permitir o trabalho compartilhado - e a maioria dos projetos trabalha com isso.
    Imagem intitulada Torne-se um hacker de software livre Passo 10
    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 muitas coisas para aprender. Mas se você realmente não gosta de algo, basta parar e passar para outro projeto.
    Imagem intitulada Torne-se um hacker de software livre Passo 11
    11. Não demore muito no projeto subterrâneo. Depois de descobrir que pode trabalhar com sucesso nessa equipe, é hora de procurar algo mais sério.
    Imagem intitulada Torne-se um hacker de software livre Passo 12
    12. Encontre um software aberto sério de alto nível ou projeto de código aberto. A maioria desses projetos são de propriedade de organizações GNU ou Apache.
    Imagem intitulada Torne-se um hacker de software livre Passo 13
    13. Porque estamos dando um salto sério aqui, você tem que levar em conta uma recepção muito menos calorosa. Você provavelmente 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 ensinado muito a você - então, depois de alguns meses sendo produtivo, você pode reivindicar os direitos que acha que deveria ter.
    Imagem intitulada Torne-se um hacker de software livre Passo 14
    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 pensava inicialmente - nesta etapa é importante não desistir.
    Imagem intitulada Torne-se um hacker de software livre Passo 15
    15. Se puder, inscreva-se no Google "Verão do código" para poupar algum dinheiro nesta aventura. Mas não se preocupe se o aplicativo não for aceito porque eles têm muito menos posições financiadas do que há programadores realmente bons.
    Imagem intitulada Torne-se um hacker de software livre Passo 16
    16. Encontre uma conferência adequada acontecendo nas proximidades ("Linux days" ou algo semelhante) e tente apresentar seu projeto lá (todo o projeto, e não apenas a parte que você programa). Depois de dizer a eles que você está representando um projeto sério de código aberto/livre, os organizadores geralmente o liberam da taxa da conferência (se não, a conferência provavelmente será inadequada de qualquer maneira). Traga seu laptop Linux (se você tiver um) e mostre algumas demonstrações. Pergunte ao gerente do projeto sobre os materiais que você pode usar para preparar sua apresentação ou pôster.
    Imagem intitulada Torne-se um hacker de software livre Passo 17
    17. Pesquise na Internet por anúncios sobre um evento de instalação próximo e tente participar como usuário primeiro (observe todos os problemas que surgem e como os hackers os resolvem) e da próxima vez ofereça a instalação de programas.
    Imagem intitulada Torne-se um hacker de software livre Passo 18
    18. Conclua a tarefa, verifique seu trabalho com testes automáticos e contribua com o projeto. Você terminou! Só para ter certeza, tente conhecer pessoalmente alguns dos programadores do projeto e juntos levantar uma cerveja para o resultado.
    Imagem intitulada Torne-se um hacker de software livre Passo 19
    19. Para uma melhor compreensão, veja um exemplo da vida real do histórico de desenvolvimento de um projeto de software aberto (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 se juntam. Portanto, se você chegar com algumas habilidades úteis no bolso, não há motivo para a equipe não convidá-lo.

    Pontas

  • Antes de fazer uma pergunta sobre os aspectos práticos do projeto, você deve procurar a resposta na documentação do projeto e nos arquivos da lista de discussão.
  • Continue sempre tentando terminar a programação que você começou. Não é possível construir, não pode ser executado, o sistema trava? er são razões para tudo, e se você tem o código-fonte, geralmente significa que você tem o sistema Nós vamos forçá-lo a fazer o que quiser, especialmente com a ajuda de algumas pesquisas on-line. Esta regra tem limites, é claro, mas é realmente importante nunca desistir tão facilmente.
  • Apenas se chame de programador (ou hacker) depois de ser reconhecido como tal por alguns da comunidade hacker real.
  • No início, escolha uma aula, módulo ou outra unidade na qual ninguém esteja trabalhando ativamente no momento. Trabalhar juntos na mesma classe ou mesmo em uma posição requer mais habilidade e cuidado de todos os lados.
  • 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/livre que o programador desenvolve). Pense, talvez você possa obter pelo menos parte do tempo necessário dessa maneira.
  • Se você ainda não se sente confiante o suficiente em si mesmo, comece com alguma parte do código que você acha que está faltando e pode ser escrita do zero. Alterações no código existente serão criticadas muito mais rapidamente.
  • Avisos

    • Seu status de hacker dentro do projeto da comunidade reflete seu presente mais do que seu passado. Se você gostaria de uma recomendação ou similar do líder do projeto, por favor, pergunte se você ainda está contribuindo ativamente.
    • Não entre em otimizações de código menores, comentários extras, melhorias de estilo de codificação e outras coisas semelhantes de `pequena escala`. Isso pode encontrar 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 conhecer os hackers de software aberto pessoalmente, deixe seu laptop Windows em casa. 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 suporta mensagens HTML, é melhor desativar esse recurso. Nunca anexe documentos que apenas softwares comerciais (como o Microsoft Word) podem abrir corretamente. Hackers consideram isso ofensivo.
    • Não se voluntarie para nenhum projeto da empresa cujo código não seja coberto por um aprovado queda de licença de código aberto. Nesses casos, as partes realmente importantes do projeto provavelmente permanecerão a portas fechadas do proprietário, impedindo que você aprenda algo útil.
    • Evite qualquer pergunta sobre fundamentos de 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 para programadores amadores ou iniciantes.
    • Projetos estabelecidos e altamente bem-sucedidos podem ter políticas escritas ou não escritas sobre nunca pagar pelo seu trabalho (sem dinheiro, sem capacidade de se promover, sem status elevado, independentemente de sua contribuição, etc. -- Vejo : Do_not_expect_reward Wikipedia). Se você não pode concordar com isso, fique com projetos mais mainstream que não podem arcar com essa atitude.
    • Não embarque em um projeto próprio, a menos que você sempre queira passar a solidão orgulhosa. Pela mesma razão, você não deve embarcar em uma tentativa de reviver um projeto já abandonado que sua equipe anterior já perdeu.
    • No caso de uma reunião informal sobre o projeto onde 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 mais tarde, 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 seu negócio pessoal. Depois de conseguir o emprego em uma empresa relacionada a software, eles pedem ao seu empregador certos acordos [1] assinar, que a empresa assinará ou não. 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. Isto é especialmente verdadeiro para projetos avançados, dedicados à programação de celulares, Chaves USB e outros dispositivos.
    • Um computador com uma conexão de internet relativamente boa. Se você deseja dual boot 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 C e seja Java.
    • Uma quantidade significativa de tempo, pelo menos cinco horas por semana (um programador hardcore típico contribui com até 14 horas).
    • Embora a educação formal de TI facilite muito o seu caminho, isso não um requisito obrigatório e nenhuma comunidade de hackers real 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, pelo menos 60% dos hackers de código aberto que revisam seus patches têm o diploma universitário `correto` e não permitirão que sua porcaria contribua para o projeto.
    • Durante as últimas etapas (conferência e `festa de instalação`), você pode aproveitar seu próprio laptop. Mas não é bom trabalhar nele em casa, então só compre um se puder pagar a 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.

    Оцените, пожалуйста статью