Embora eu não seja um programador profissional, escrevi um ou dois programas. No entanto, hoje em dia todo engenheiro e cientista aprende a programar um pouco também e, como tal, estou acostumado a escrever programas em Python, C e MATLAB. Agora eu quero retribuir um pouco ao Ubuntu e seus excelentes amigos e consertar um bug!
Eu dei uma olhada na lista da campanha de tamanho pequeno e tive que descobrir que a maioria não é tão fácil para eu consertar, pois suspeito que eles precisam de muito tempo para entrar no assunto, e eu não tenho isso. Ainda assim, eu descobri este e parece administrável e como um recurso interessante para mim.
Como eu nunca escrevi um patch ou lancei um programa na natureza antes, no entanto, não tenho idéia por onde começar. Qual deve ser o meu primeiro passo para resolver esse problema?
Conclusão: onde e como começo a consertar esse cara?
Respostas:
Responder a essa pergunta pode ser longo e complicado, por isso vou apontar os recursos disponíveis em vez de reformulá-los aqui.
Documentação
Tutoriais
Realizamos eventos ao longo do ciclo para ajudar pessoas como você, especificamente, executamos a Ubuntu Developer Week no IRC, que é um tutorial ao vivo e um workshop de perguntas e respostas. Há um chegando no final de fevereiro, se você quiser participar!
Aqui estão dois logs de uma sessão passada para dar uma idéia:
Locais para encontrar oportunidades
Conseguindo ajuda
Entrar em contato com o MOTU na lista de discussão ou no IRC é uma boa maneira de obter ajuda para problemas individuais nos quais você se depara:
Comentários
Passamos muito tempo reformulando esta documentação para ser o mais fácil possível. Se você fizer anotações sobre suas experiências e como podemos melhorar essas coisas, seria muito útil saber como fazer com que seja menos trabalhoso para pessoas como você.
fonte
A resposta generalizada de Jorge é uma ótima introdução para pular para o desenvolvimento do Ubuntu, mas vamos tentar analisar um pouco mais de perto sua questão específica ...
O principal desenvolvedor upstream do Apport e o mantenedor do Ubuntu são o mesmo. Isso simplifica um pouco as coisas para você. Em vez de ter que aprender sobre sistemas de pacotes e correções, o caminho mais fácil aqui é trabalhar diretamente no código upstream.
O desenvolvimento do Apport está hospedado no Launchpad . Ele usa o sistema de controle de versão distribuído do bazar para gerenciar seu código-fonte. O primeiro passo para corrigir seu erro é pegar a fonte. Se você nunca usou o bazar antes, o tutorial do bazar em cinco minutos é um bom lugar para começar.
Instale o bazar com:
Puxe o código fonte do apport:
Agora você pode começar a invadir. Como na maioria dos VCSs, ao trabalhar com bazar, é uma boa ideia fazer apenas uma alteração por confirmação. Você também deve tornar suas mensagens de confirmação informativas. Isso facilita muito a revisão das alterações. Quando você estiver pronto para fazer seu primeiro commit, execute:
Continue fazendo alterações e confirmações até estar satisfeito com a correção do bug. Com seu último commit, você também pode identificá-lo como corrigindo o erro anexando
--fixes lp:<bug_number>
ao comando commit. Agora você está pronto para enviar suas alterações para revisão e inclusão.Primeiro, você precisa enviá-lo para o Launchpad para disponibilizá-lo publicamente:
Sua filial agora pode ser encontrada em:
https://code.launchpad.net/~<launchpad_username>/apport/<branch_name>/
A execução
bzr lp-open
na ramificação abrirá esse local em um navegador.Agora queremos propor uma mesclagem. Nessa página, selecione "Propor para mesclagem".
Na próxima página, selecione seu ramo de destino e forneça uma visão geral de suas alterações.
Agora você terá uma proposta de mesclagem ativa.
Os mantenedores revisarão suas alterações. Se forem apropriados, eles serão mesclados e estarão disponíveis no próximo release. Como alternativa, a proposta pode ser definida como "Precisa de trabalho" e os mantenedores discutirão com você alterações adicionais que devem ser feitas antes da mesclagem. Se isso acontecer, não o aceite como qualquer tipo de rejeição pessoal do seu trabalho. Ao contribuir para um novo projeto pela primeira vez, geralmente existem pequenas coisas como o estilo de codificação que você talvez não saiba.
fonte