Depois de postar o Project para [email protected], chamou meu conhecimento de que aqueles da comunidade Foss possam ter preocupações sobre o uso de um sistema proprietário de DevLeopment como o GitHub.
Deixarei isso como é para fins herdados como um arquivo dos esforços de nossa primeira semana.
As atualizações futuras estarão no novo projeto do GitLab e no novo projeto Wiki no Gitlab.
Agradeço a todos pelo seu interesse neste projeto e recebê -lo para nos seguir no Gitlab. Estarei trabalhando para atualizar nosso bot IRC no canal de desenvolvimento para oferecer suporte a notificações do Webhook do novo sistema. Não estarei atualizando ainda mais esta página do projeto.
Projeto com o objetivo ambicioso de integrar sinergicamente todos os recursos de suporte da Debian e oferecer uma interface simples e intuitiva a procedimentos de diagnóstico bem testados.
Isso não pretende substituir e, de fato, depende muito, todos os nossos recursos existentes. A lógica aqui é que nosso sistema está crescendo exponencialmente e somos "o sistema operacional universal", e que temos recursos de suporte limitados e nem todos sabem como e em que ordem usá -los adequadamente, o que resulta em muitos problemas bem conhecidos e facilmente observáveis.
Apoiar a equipe da equipe através do manuseio repetidamente, os problemas conhecidos que já resolvemos, tendo que explicar nossos procedimentos e políticas, e reunir (às vezes eliminar) informações relevantes para o problema em questão, etc.
Alienação do usuário por falta de entendimento dos sistemas e interação improdutiva com apoiadores e outros. Tem sido uma mentalidade bem documentada entre alguns de nossos melhores apoiadores, inclusive eu que realmente não queremos esses tipos de usuários que são inexperientes porque eles apenas se envolverão em nossos recursos sem contribuir para o nosso projeto. Também é um fato facilmente observável que os desenvolvedores e usuários mais experientes são frequentemente as últimas pessoas a encontrar bugs e problemas, porque eles não apenas tendem a ser menos aventureiros em experimentar software diferente, porque já sabem o que gostam e usam, e eles o usam da maneira que se destinava a ser usada. É preciso alguém inexperiente para experimentar todos os tipos de opções e usar as coisas de maneiras que descobrirão erros obscuros. Essa é uma mercadoria valiosa para ter massas de usuários inexperientes que vasculham nossa crescente base de software, descobrindo problemas que de outra forma sentiríamos falta. No entanto, precisamos garantir que o feedback que obtemos desse recurso valioso seja significativo e acaba no lugar certo, sem que o problema mencionado tenha ocorrido, portanto, precisamos de um tipo de filtro que atenda às suas necessidades e à nossa.
Também precisamos garantir que todo o esforço em relação a esses dois problemas seja utilizado. Ou seja, não podemos continuar fazendo com que os usuários vindo até o interesse próprio da resolução de um problema, e esse esforço sendo subutilizado porque não foi documentado corretamente. Alguns usuários voltam e compartilham soluções para os problemas, às vezes acabamos criando um factóide sobre isso, às vezes acaba haver uma página wiki, relatório de bugs, etc., na maioria das vezes, esse não é o caso. Além disso, nem sempre sabemos que isso foi feito quando o problema surgir novamente. Nosso sistema atual depende de nossos apoiadores para se lembrar dessas coisas e, quando as pessoas que se lembram que ele não estão olhando no momento, podemos voltar à edição nº 2 e alienar nossos usuários, ou não obter o problema documentado ou resolvido, mesmo ineficaz.
Cliente/Frontend (Readline, maldições, GTK, QT), diagnóstico (arquivos de árvore de diagnóstico assinado), bot (IRC), servidor (rastreador de problemas)
The client will be a reportbug style wizard that will allow a user to select a program (on lower skill levels, use generic names like "filemanager" and have it automatically detect the actual program name or use a grab fuction where the user can click on a window and get the command) and enter a description of their issue and should have various classes of issues (Network, Sound, Crashes, Build errors, Package system problems, etc.) and optionally a CC address (email can be masked by the tracker Com um ID de problema e um email recuperado ao usuário para privacidade, com a capacidade de o usuário optar por não participar de mais CC, enviando um e -mail ao rastreador com o ID dizendo para ele parar).
O primeiro nível usará diagnósticos para realizar testes simples e pedir mais quentes, reunir informações e compilar um relatório/log no problema.
Os logs provavelmente devem ser analisados/serializados/esterilizados para remover ou substituir dados pessoais, como IPS, IDs MAC, nomes de usuário, talvez até nomes de caminho/arquivo e substituí -los por genéricos como 1.2.3.4 ou 12: 34: 56: 78: 90 ou tal.
Então, se o problema não puder ser resolvido por meio de processos de diagnóstico automáticos que identificam o problema com base em soluções simples bem conhecidas, desgastadas e testadas por batalha, o cliente fará em 2º nível exatamente como o relatório de relatórios de bugs e/ou fórum/wiki) e exibi-las para os usuários de dados de conhecimento existentes que já possuímos.
Se o problema permanecer sem solução, ele será, no terceiro nível, facilitará o encaminhamento do problema para o rastreador de problemas e fornecendo um número de identificação, depois o encaminhe para nossas ferramentas de suporte (listas de IRC/Mailing) que já temos, no próprio cliente, e se o IRC é um som e o som do BOT em que o BOT em que o BOT em que o BOT em que o BOT é o que é o que é o que é o que é um som de Bots em que o BOT em que o BOT em que a emissão de Bots. O usuário não recebe uma solução ou decide sair, o problema pode permanecer aberto e/ou ser encaminhado para listas de discussão e eles podem acompanhar visitando o site do rastreador com seu número de identificação ou recebendo notificações de email sobre o problema do rastreador.
Se o problema ainda não for resolvido, ele poderá ser encaminhado para o quarto nível, que seria coisas como o BTS (arquivando o relatório no BTS, pois está determinado a ser um problema de software dos apoiadores), ou possivelmente a montante.
The diagnostics tree files can possibly be some sort of XML or such, and will need to be signed and verified, the core diagnostic tree will be much like what reportbug does, it'll just gather some preliminary information about the system and verify that it's Debian, what version, arch, and what sources apt prefers, etc. The others which will be developed and maintained over time will be specific to the categories mentioned earlier, a sound issue diagnostic tree file for example will Faça coisas como realizar um teste de som e perguntar ao usuário se eles ouviram o som, verifique o mixer, peça que eles verifiquem suas conexões etc.
Esses arquivos de árvore de diagnóstico também facilitarão a coleta de informações adicionais, executando comandos que coletam mais informações específicas para o tipo de problema em questão. Esses comandos precisarão ser mostrados e explicados, e verificados pelo usuário, bem como os relatórios/logs/saída serão mostrados e (opcionalmente) parsed/serializada/esterlizada para remover qualquer informação pessoal. Esses diagnósticos precisarão ser assinados e classificados, e o rastreador de problemas facilitará isso da mesma maneira que qualquer sistema de classificação do fórum, apenas usando assinaturas de GPG, e classificar uma solução não apenas fará com que o cliente assine que o diagnóstico aumente sua confiança, mas também aumentando a confiança dos apoiadores que contribuíram para essas porções do diagnóstico.
Sempre que possível, todos os mecanismos de segurança disponíveis, de coisas como chroots a mecanismos de segurança baseados em kernel, devem ser empregados para bloquear as coisas que os diagnósticos fazem, e eles devem ser simples e inigualáveis. Não estamos procurando criar uma ferramenta de diagnóstico senciente, apenas algumas verificações simples para problemas de configuração conhecidos, testes simples e compilar dados para suporte adicional.
The IRC bot should be not only a conduit/proxy for the user to the IRC support channels (up for much debate) perhaps speaking on the user's behalf in the channel with a generated user ID or issue number, which will not only allow us to ensure the user only sees stuff related to their issue, but that the issue tracker knows what support responses belong to the issue for later documentation of the issue and solution back to our existing tools like the wiki, forums, mailinglists and tal. Isso pode ser feito de várias maneiras, e os scripts do cliente do IRC podem ser escritos ou os recursos do cliente usados para completar esses IDs como um Nick normal, ou talvez um apoiador possa enviar uma mensagem para o bot para "assinar" para um problema para que conversar com o bot envie informações de volta ao usuário que você assinou.
O bot também facilitará o acesso ao relatório compilado com as informações coletadas pelo diagnóstico e enviadas pelo usuário, eliminando toda a conversa sobre a execução de comandos muito comuns e o uso de pastebins e outros. Além disso, o bot poderia se comportar como uma interface do cliente para abrir um novo problema no rastreador (possivelmente mesmo que considerado necessário, apenas por um apoiador conhecido e registrado) por alguém em um cliente IRC independente normal.
Em suma, o bot é a cola que liga se dissipando aos canais de suporte do IRC, e deve -se tomar cuidado para garantir que as informações acertem no canal certo, dependendo da linguagem preferida do usuário, ramo de Debian e talvez até que o pacote ou a questão de que eles tenham que eles tenham, como tenham, como tenham um número de canais específicos (assim, que possam ser referidos a outros canais e lidados com os outros canais e lidam, como tendo, como terem relutações específicas (assim, eles podem, assim, que eles tenham que os outros canais que eles têm, como que tenham, como tenham um número de canais específicos (que possam ser relutantes.
O rastreador conterá os metadados em relação ao problema, gerará um identificador de problema, acompanhará qualquer abordagem do CC que o usuário fornecido e onde os relatórios estão (paste.debian.net provavelmente) e o status do problema, bem como qualquer fórum, lista de emails, BTS ou outras coisas que o cliente ou o cliente ou os suportadores causam a que se link. Não deve ser algum tipo de wiki ou fórum novo, apenas um front -end ligando e colando tudo isso com metadados sobre o problema. Deve ter uma interface da web semelhante ao BTS.
Questões e bugs são diferentes; Os bugs são problemas reais no software, onde os problemas geralmente são apenas pebcak ou algo assim. É por isso que é necessário criar um novo rastreador, porque este está servindo apenas para rastrear o problema de curto prazo e garantir que ele chegue ao local de descanso final certo. O rastreador fornecerá ao bot e ao cliente as informações necessárias para criar um factóide em nossos bots de informação existentes, arquivar um relatório de bug ou emitir um email para listas de discussão e servir como um local onde qualquer parte interessada pode descobrir qual dessas coisas ocorreu e onde encontrá -las. Não é um substituto, mas um invólucro de todos os nossos sistemas existentes. É a cola que liga todos os componentes do diss, incluindo todos os que já temos.
Foi sugerido muitas vezes que simplesmente melhoramos os sistemas existentes, e isso faz parte disso, mas não é em vez disso. Isso ainda teria o problema do problema nº 2 alienando os usuários, porque eles precisariam saber e como usar essas coisas. Este seria um software no próprio sistema operacional que integra e facilita o uso de tudo isso de uma maneira intuitiva que não requer um ano ou mais da política e prática de aprendizado.
Em relação à melhoria dos sistemas existentes, este projeto e seus colaboradores procurarão unificar o registro em todo e qualquer sistema de suporte do Debian que requer registro e trabalhando com as equipes atuais desses sistemas para integrá -los de maneira sinérgica.
Além disso, os sistemas existentes podem ser usados/adaptados à descrição dos desenvolvedores atuais que trabalham em outras áreas, por exemplo, o BTS e o rastreador podem ser o mesmo, e esses "problemas" podem ser apenas uma classe muito baixa de bug com os quais o mantenedor não se preocupa e o relatório pode ser ampliado e que o IRC pode ser adicionado e o IRC. Este não é apenas um projeto com o objetivo de criar um único novo software, mas adaptar tudo o que temos agora para melhor nos servir daqui para frente.
Precisamos de programadores. Os habitacionais com o Python, pois parecem adequados a essas tarefas, fáceis de codificar e poderosos e flexíveis o suficiente para desenvolver as coisas de que precisamos com menos dependências fora do sistema base. Aqueles qualificados com sistemas e serviços baseados em confiança, assinaturas de GPG etc. Aqueles com experiência de programação de GUI/front -end. Aqueles familiarizados com o processo de desenvolvimento do Debian e todas as preocupações de usuários e desenvolvedores. Aqueles que podem programar pilhas de rede de clientes/servidores usando soquetes, http, protocolos de email etc. Aqueles que podem desenvolver uma API robusta para sistemas de suporte ao Debian se comunicarem efetivamente, o que exigirá o conhecimento da integração de aplicativos dentro e fora da web.
Precisamos de insumos e planejamento em torno de nossos sistemas existentes, esforço das equipes existentes e ajuda para que eles incorporem um sistema uniforme de credencial de login do Debian que funcionará em todos os sites e serviços do Debian.
Precisamos de pessoas que trabalharão na documentação e interface com a presença da Web deste projeto, mantendo as metas de informações e projetos de status e com tanta definição claramente.
Este projeto começou nas primeiras horas da manhã de sexta -feira, 13 de outubro de 2017, por volta das 2h da manhã dos EUA/ET Hora. Até o momento em que este artigo foi escrito, não estamos nem 24 horas, e já temos meia dúzia de pessoas que saem no canal e respostas em vários fóruns. Estamos todos apenas noodling neste momento, jogando idéias e tentando tomar cuidadosamente decisões preliminares que moldarão o projeto e seu design.
O primeiro objetivo aqui é estabelecer uma presença firme na web com um wiki e tal diagramar a anatomia desse sistema integrado e o progresso dele, para que as pessoas possam entender de onde vamos, de onde estamos indo e a que distância estamos.
O segundo objetivo aqui é desenvolver uma API que definirá os recursos e as comunicações desse sistema, e eu não sou um programador muito experiente, mas já o vi por décadas, que às vezes você precisa fazer algo (uma ferramenta) para fazer outra coisa e, nesse caso, acho que começar a trabalhar na interface do cliente, principalmente o front -end da GUI, o Flesh Outing Out the API. E, a princípio, sem um rastreador de problemas, os problemas não serão persistentes, será simplesmente um cliente conversando com um bot rudimentar que provavelmente vive em nosso canal de desenvolvimento.
Deve-se enfatizar que isso não é algo que queremos empurrar e implantar rapidamente, queremos obter alguma estrutura de trabalho e fazer um teste alfa extenso fora dos canais normais, inicialmente sem nenhuma modificação nos serviços existentes para ajudar a facilitar a integração, pois ainda não existe a API. Depois de termos componentes de trabalho e interesse de um mantenedor e dos que já estão dentro do círculo de desenvolvedores do Debian, queremos iniciar uma fase de teste beta para uso apenas em sistemas de teste/instável não produção. Uma vez que há confiança na implementação de mecanismos de confiança seguros para os diagnósticos, o sistema pode ser realmente empacotado para o SID e, esperançosamente, foi transferido para um futuro lançamento estável do Debian. Os arquivos de diagnóstico provavelmente usarão algum tipo de repositório que pode permitir que eles sejam desenvolvidos ao longo do tempo e implementados no cliente sem esperar por um novo ciclo de lançamento do Debian, com base em um processo separado de teste e assinatura/verificação rígida.
A longo prazo, gostaríamos de ver o Debian Installer ter uma determinação de habilidade mais robusta como sua primeira etapa, com mais do que apenas um modo de instalação normal/especialista, e esse cliente de suporte sendo instalado automaticamente por padrão em sistemas que não selecionam níveis avançados ou de especialistas. Gostaríamos de ver todos os nossos apoiadores participando não apenas em suporte ao ar livre, mas registrando-se em um sistema baseado em confiança e usando assinaturas de GPG, para que nossa base de conhecimento possa ser de maior qualidade e mais confiável.
Diss wiki
Reddit Thread
Fóruns Debian Pise
Tópico da lista de discussão do Debian-Project
Tópico da lista de discussão Debian-Devel
Tópico da lista de discussão do usuário do usuário do Debian
Postagem relacionada da lista de discussão do Debian-Project em março de 2017