Por que alguns grandes projetos, como Git e Debian, usam apenas uma lista de discussão e não um rastreador de problemas?

65

O rastreador de bugs para qualquer projeto de tamanho decente parece um acéfalo para mim - facilita muito a organização de centenas ou milhares de problemas, sem que os problemas colidam ou se misturem.

Então, quando vejo alguns projetos realmente grandes, como o Git, usando uma lista de discussão como o principal método de coordenação de manutenção e desenvolvimento, fico um pouco impressionado. Exemplos:

  • Git - Página da comunidade :

    ... Os relatórios de erros devem ser enviados para esta lista de discussão.

  • Sistema de rastreamento de bugs da Debian , de acordo com a Wikipedia:

    ... Sua característica única é que ela não possui nenhuma forma de interface da web para editar relatórios de erros - todas as modificações são feitas por email.

Muitos rastreadores de bugs modernos têm uma integração muito boa com o e-mail (você pode receber comentários ou notificações sobre bugs que estiver assistindo ou atribuídos a você), bem como com sistemas de controle de versão (confirmações podem ser marcadas como solução de um problema etc.) .). Muito disso teria que ser feito manualmente com uma lista de e-mails, e você recebe muitos e-mails sobre bugs nos quais não está interessado.

Então, quais são as principais vantagens de uma lista de discussão sobre um rastreador de erros baseado na Web? Por que alguns grandes projetos usam apenas uma lista de endereços?

naught101
fonte
2
Sim, não, eu concordo com você, o Git usa listas de discussão :) O que eu estava dizendo é que você está juntando alguns "grandes projetos" e eu estava pensando que, se você fizer isso, dê um pouco mais exemplos para projetos realmente grandes. Caso contrário, a pergunta se resume a "Git usa lista de discussão, por que isso?" nesse caso, a resposta de Jörg W Mittag é mais adequada ... #
Shivan Dragon
11
Bem, eu estava com a impressão de que havia mais ... O Debian usa um sistema baseado em email , embora mais complexo que uma lista de emails. Ok, mas o ponto principal é 'quais são as vantagens de usar uma lista de discussão sobre um rastreador de erros?' A menos que a resposta seja "não há, os desenvolvedores do git são apenas luddites".
naught101
@ naught101: por que você se surpreende quando vê isso? O Debian instável pode ser instalado e usado sem que qualquer exploração remota de raiz precise de correções e sem precisar de reinicialização por seis meses facilmente. Isso é para a versão instável do Debian. Eu tenho servidores Debian bloqueados que atingiram 4 dígitos de dias de atividade (não é uma única exploração remota de raiz que exige uma reinicialização que afeta minha configuração durante esse período). Esses caras podem não estar usando a moda mais recente da tecnologia, mas obviamente estão fazendo as coisas direito. Eu desistiria de rastreadores de bugs da Web para a estabilidade do Debian a qualquer momento.
precisa
2
@ CedricMartin: Eu sei, eu concordo. O rastreamento de erros da lista de discussão claramente funciona adequadamente para algumas equipes, mas ainda me parece menos fácil do que um rastreador de erros. Porém, estive pensando que, para os desenvolvedores principais do projeto, a diferença pode parecer muito pequena: eles seguem quase tudo o que está acontecendo. Mas para os recém-chegados, é quase impossível encontrar uma lista de discussão, de modo que não se pode ter uma visão geral simples da adequação do projeto. Um rastreador de erros permite que novos usuários / desenvolvedores descubram rapidamente como um projeto está se movendo e tenham uma idéia de que tipo de melhorias são consideradas importantes pela equipe principal.
naught101
Greg Kroah-Hartman tem uma opinião sobre isso no que se refere ao Linux Kernel como parte desta discussão . Em particular: "De maneira
naught101

Respostas:

45

A preferência que você observa parece uma consequência natural da recomendação claramente declarada nos Padrões de Codificação GNU . Sugere relatar erros por e-mail, como você pode ver na citação abaixo (marquei em negrito a parte que aborda diretamente suas observações):

4.7.2 --help

A --helpopção padrão deve gerar uma breve documentação sobre como chamar o programa, na saída padrão, e sair com sucesso. Outras opções e argumentos devem ser ignorados quando isso for visto, e o programa não deve executar sua função normal.

Perto do final da ‘--help’saída da opção, coloque linhas indicando o endereço de email para relatórios de erros , a página inicial do pacote (normalmente ‘http://www.gnu.org/software/pkg’e a página geral para obter ajuda sobre o uso de programas GNU. O formato deve ser o seguinte:

    Report bugs to: mailing-address
    pkg home page: <http://www.gnu.org/software/pkg/>
    General help using GNU software: <http://www.gnu.org/gethelp/>

Não há problema em mencionar outras listas de discussão e páginas da web apropriadas.

A preferência acima, por sua vez, reflete a aceitação universal do email como uma forma de comunicação eletrônica. Qualquer usuário --helpque esteja lendo uma mensagem como sugerido acima deve entender facilmente o que fazer se vir uma mensagem de erro - é fácil.

O rastreador de problemas pode ser (e acho que é ) melhor para um desenvolvedor que trabalha no projeto, mas para um público mais amplo seria mais difícil apresentar e explicar como usá-lo, especialmente levando em consideração a grande variedade e diferenças entre os diferentes sistemas de rastreamento de problemas .

Um projeto pode usar o Bugzilla, outro ficará com o JIRA, o terceiro com ... GNATS , etc etc etc. Não há como apresentar todo esse "zoológico" de uma maneira que seria tão padrão e uniforme quanto possível.

Report bugs to: mailing-address


A observação acima não significa que os projetos não devam usar o rastreador de problemas internamente . Conforme explicado em uma excelente resposta à pergunta relacionada ,

Seu rastreador de erros é para sua conveniência, não para o de seus clientes. Se você não pode se incomodar em pegar o problema por telefone ou e-mail e inseri-lo, como acha que eles se sentem?

Você precisa inserir problemas e atribuí-los manualmente a um cliente ...

mosquito
fonte
3
Ótima resposta! E-mail é mais conhecido do que rastreadores de problemas, e mais fácil de entender (o que não quer dizer que todos "pega" e-mail: P)
Andres F.
21
Além disso, esse conselho do GNU é antigo, muito mais antigo que os rastreadores de problemas na Web e na Web.
Ross Patterson
@ RossPatterson eu estava pensando isso. Mas parece improvável que ele é mais velho do que a web, considerando que contém um monte de URLs ...
naught101
6
@gnat: A maior parte dessa resposta vinculada é tão boa quanto a parte "se for fácil para você, você pode inserir esse tipo de coisa" . Essa é a chave para muitos projetos de código aberto, pois não há financiamento para o suporte por telefone. Uma lista de discussão é uma desativação para mim como usuário de relatório de erros, pois não quero me inscrever para obter respostas. Com um rastreador de erros, posso ver que o problema que tenho está no sistema e posso voltar e procurá-lo mais tarde, e ver se ele foi atualizado. Isso é difícil com uma lista de discussão, a menos que exista um bom rastreador de listas baseado na Web, o que geralmente não é o caso.
naught101
11
@ naught101 Pode não ser mais velhos do que a Web, mas é definitivamente mais velho do que trackers baseados na Web
sakisk
30

Com o Git, em particular, há um motivo histórico simples: o Git foi iniciado por hackers do Linux para hackers do Linux e usa o mesmo modelo e ferramentas de desenvolvimento que o próprio Linux. O Linux, no entanto, é mais antigo que a WWW; portanto, quando o Linux foi iniciado, simplesmente não havia rastreadores de problemas baseados na Web, porque não havia Web!

Como conseqüência, a comunidade Linux desenvolveu ferramentas e fluxos de trabalho extremamente eficientes para lidar com relatórios de erros e revisões de código por e-mail, e não havia razão para eles descartarem todo esse trabalho e começarem do zero quando iniciaram o projeto Git.

Jörg W Mittag
fonte
3
Eu pensei que a WWW precedeu o Linux. Levemente. Os dois foram feitos quase ao mesmo tempo e por diferentes grupos de pessoas; não foi realmente até meados dos anos 90 que decolou.
Donal Fellows
6
Ok, mas o kernel do linux agora tem um rastreador de erros: bugzilla.kernel.org . Claramente, essa não é uma barreira tão grande.
naught101
7
-1 O Git é muito mais novo que a web. Vintage 2005. Havia muitos rastreadores de problemas na época, incluindo, é claro, o Bugzilla. Linus simplesmente não gosta de rastreadores de problemas, e sua palavra é lei nesse ambiente.
Ross Patterson
6
@ RossPatterson - Ele disse que o Linux era mais antigo que a web, não o Git. Não acho que seu comentário justifique uma votação negativa, já que você basicamente repetiu o que ele disse.
beatgammit
2
@tjameson Em retrospectiva, você está certo. De volta ao ponto morto.
Ross Patterson
17

Para Git:

Existem várias discussões na lista de discussão em que as pessoas se propõem a usar algum tipo de rastreador de erros. Essas iniciativas parecem ter fracassado; portanto, o motivo pelo qual o Git não usa um rastreador de erros provavelmente é simplesmente porque a maioria dos colaboradores não o considera útil.

Em um post na lista de discussão , Junio ​​C Hamano (mantenedor do Git) resumiu por que ele acha que um rastreador de bugs não é muito útil. Não quero incluir o post inteiro (é bastante longo), mas tudo se resume a:

  • Se você está procurando apenas informações sobre problemas resolvidos, pesquisar nos arquivos da lista funciona tão bem quanto pesquisar em um rastreador de erros.
  • Se você relatar um bug genuíno e as pessoas quiserem cuidar dele, a lista também funcionará bem.
  • Se ninguém estiver interessado em trabalhar em um problema, ele cairá nas falhas, mesmo em um rastreador de erros.
  • Um rastreador de bugs seria mais um sistema que precisa ser mantido, verificado regularmente se há novos bugs, corrigido bugs fechados etc., em resumo, trabalho extra para pouco benefício.
sleske
fonte
5
Boa resposta, mas eu diria que seu terceiro ponto é uma grande desvantagem do email: se um bug é difícil de corrigir e os desenvolvedores atuais são preguiçosos, ele fica significativamente mais oculto do que uma entrada em um rastreador de problemas. Isto poderia significar certos erros não são fixos, simplesmente porque as pessoas não sabem o seu lá
TheLQ
11
@TheLQ: Verdadeiro. No entanto, aparentemente, esse é um risco que alguns projetos estão dispostos a correr. E para ser justo, o git é um software bastante sólido, mesmo sem um rastreador de erros.
sleske
11
@TheLQ: Uma simples página da Web que não menciona todos os bugs conhecidos (e seus tópicos relacionados) resolveria isso? Algo semelhante a esse, exceto que os links apontam para arquivar threads.
Olá Mundo
11
@ HelloWorld: Bem, isso seria um rastreador (simples) de problemas. E, assim como um issue tracker, alguém teria que controlá-lo ...
sleske
Existe uma boa maneira de obter uma cópia offline do email que foi enviado enquanto eu não era assinante?
PSkocik 26/02
6

O Debian usa um rastreador de erros, sua interface padrão é o email. E é conveniente. Lucas Nussbaum, atual líder do projeto Debian, postou alguns dias atrás :

debbugs é o software por trás do Sistema de Rastreamento de Bugs (BTS) da Debian. Também é usado pelo projeto GNU. Apesar de muitas vezes ser percebido como antigo, ele possui vários recursos exclusivos, como o rastreamento do status dos bugs em cada versão e ramificação de um pacote) ou a capacidade de executar todas as interações por email, facilitando o trabalho. offline ou em ambientes mal conectados.

A última parte é um recurso matador aqui - basta colocar na fila esses relatórios na fila de correio local até você sair do avião!

Dominik George
fonte
4
  • Mantém crianças de 9 anos de idade.
  • Não há necessidade de criar uma conta separada para cada fórum.
  • [menor] Experiência consistente do usuário em diferentes listas de discussão e uma curva de aprendizado zero ao se inscrever em uma nova lista.
  • Funciona offline. você pode se conectar à Internet e baixar um lote de e-mails, depois fazer caminhadas, escrever suas respostas enquanto desfruta da mãe natureza e enviá-las mais tarde.
  • Permite criptografar e / ou assinar emails via GPG.
  • Descentralizado - Se o fórum falhar, você ainda terá uma cópia, também é resistente a violações, um moderador / hacker do mal não pode violar facilmente o que você disse. Ninguém pode desfazer a história.
  • Permite filtros, pastas e todos os recursos organizacionais avançados de um cliente de email.
  • "Push Notifications" - você pode deixar seu cliente de email aberto e receber notificações de novas respostas.
  • Um lugar para governar todos eles - não há necessidade de pular entre sites diferentes.
  • Imune a todas as vulnerabilidades de segurança que envolvem a web (html / javascript / injeções etc.)
  • Sem inchaço - sem emblemas, assinaturas em movimento, anúncios, web beacons, inchaço de javascript. É tudo simples e direto ao ponto - discussão.
  • Menos carga do servidor que uma configuração LAMP.

Uma desvantagem das listas de discussão que vem à mente é que os fóruns são dividíveis em categorias e subcategorias, enquanto as listas de discussão não são. Isso pode ser emulado dividindo-se uma lista de endereçamento em várias listas de endereçamento e, em seguida, os usuários podem usar os filtros apropriados para colocar cada mensagem na pasta correspondente (cada pasta é uma categoria). Nos fóruns da web, isso é automático.

Olá Mundo
fonte
por que as pessoas insistem em criar versões baseadas na Web para rastrear problemas (BTW, essa pergunta não é sobre tudo ) é discutido em outra pergunta: Fazer com que os usuários escrevam relatórios de erros úteis e decentes "Os relatórios de erros online editáveis ​​pelo usuário são a maneira mais eficiente de ensinar usuários melhoram ... "
gnat
Obrigado. Mas isso justifica um voto negativo? O tópico principal desta resposta são as vantagens de um ML e responde muito bem à pergunta original. Eu removi o discurso dos "fóruns da web".
Olá Mundo
2
A desvantagem mencionada nesta resposta, na verdade, fundamentalmente me impede de continuar com a maioria das listas de emails de desenvolvimento. Eles enviam tudo , então, depois de relatar um bug, geralmente desinscrevo apenas duas semanas depois. Os rastreadores de bugs resolvem esse problema de maneira agradável, permitindo-me assinar relatórios de bugs específicos.
Roman Starkov
6
Correção: mantém 25 anos de idade fora. Somente recentemente eu aprendi como essas coisas de listas de discussão funcionam para contribuir com alguns projetos reais . E eu odeio isso !!
Ciro Santilli escreveu:
2
"Não há necessidade de criar uma conta separada para cada fórum." - frequentemente, para evitar spam, você precisa se inscrever na lista. Mas isso assina todos os emails. Portanto, você precisa se inscrever E desativar o 'spam' E adicionar uma solicitação para mantê-lo no CC ou no TO. Comparado com um bugzilla, é muito mais o que fazer.
Maciej Piechotka