(Parte 1 de 6)

Como Fazer Perguntas Inteligentes

Sobre direitos autorais e cópias deste guia

Todos os direitos deste guia pertencem a Eric Steven Raymond. De uma forma geral, seu desejo é que o maior número de pessoas o leiam, portanto você é livre para linkar e copiar este conteúdo. Entretanto, cópias estáticas não podem ser produzidas sem sua autorização. Se algum leitor vir seu nome em um documento, ele precisa ver todas as atualizações que este documento sofreu. Nada de cópias abandonadas e desatualizadas espalhadas pela Internet.

A versão em português deste guia foi produzida por Marcos Machado. Da mesma forma, você é livre para copiar ou linkar este documento. Da mesma forma, mantenha sua versão atualizada (traduções também sofrem revisões!). O modo mais fácil de fazer isso é apenas linkar este documento, mas se preferir copiá-lo, visite regularmente esta página para se certificar de que possui a última versão.

Jamais remova estes avisos de direitos autorais e os links para o documento original.

Introdução

No mundo dos hackers, o tipo de resposta que você obtém as suas perguntas técnicas depende muito mais de como você faz a pergunta do que da dificuldade em preparar a resposta. Este guia ensinará a você como fazer perguntas do jeito mais indicado para conseguir uma resposta satisfatória.

Agora que o uso do open source está bastante difundido, é mais comum você encontrar respostas de outros usuários, mais experientes, do que dos hackers. Isto é uma Coisa Boa: usuários tendem a ser um pouco mais tolerantes com os tipos de problemas que os novatos enfrentam. E ainda, tratar estes usuários como hackers, da maneira como recomendamos aqui é, geralmente, a maneira mais efetiva de conseguir respostas úteis deles também.

A primeira coisa que você deve saber é que hackers realmente gostam de problemas difíceis e questões boas e intrigantes sobre estes problemas. Senão, nós não estaríamos aqui. Se você nos der uma questão interessante para mastigar nós ficaremos gratos à você; boas perguntas são um estímulo e um presente. Boas perguntas nos ajudam a desenvolver nosso entendimento, e freqüentemente revela problemas que não conhecíamos ou sobre os quais nunca pensamos. Entre hackers, "boa pergunta" é um forte e sincero elogio.

Apesar disso, hackers têm a reputação de encarar perguntas simples com arrogância e hostilidade. De vez em quando aparentamos ser rudes com novatos e ignorantes. Mas isto não é verdade.

Nós somos, sim, hostis com pessoas que não querem pensar nem fazer seu dever de casa antes de fazer perguntas. Pessoas assim são dissipadoras de tempo - elas pegam e não devolvem, elas desperdiçam tempo que pode ser usado em questões de gente que que merece uma resposta. Nós chamamos pessoas assim de "losers" (e por uma razão histórica, algumas vezes grafamos como "lusers"). N.T.: "Luser" é um trocadilho com as palavras "user" (usuário) e "loser" (perdedor, otário).

Nós percebemos que existem muitas pessoas que querem apenas usar os softwares que escrevemos e não têm nenhum interesse em aprender detalhes técnicos. Para muitas pessoas, um computador é apenas uma ferramenta, um meio para um fim; eles têm coisas mais importantes para fazer nas suas vidas. Nós reconhecemos isso e não esperamos que todos tenham interesse nas questões técnicas que nos fascinam. Entretanto, nosso estilo de resposta é ajustado para aqueles que possuem este tipo de interesse e que desejam participar da solução de problemas. Isto não vai mudar. Nem deveria; se isso acontecesse, nós nos tornaríamos menos eficazes naquilo que sabemos fazer de melhor.

Nós somos (na maioria dos casos) voluntários. Nós reservamos um tempo nas nossas ocupadas vidas para responder perguntas e, às vezes, ficamos sobrecarregados delas. Então nós as filtramos sem dó nem piedade. Em particular, nós jogamos fora questões de pessoas que aparentam ser "losers", para que possamos gastar nosso tempo de forma mais eficiente, em questões de "winners". (N.T.: vencedores)

Se você acha essa atitude condenável ou arrogante, reveja seus conceitos. Nós não estamos pedindo que se curve diante de nós - na verdade, o que muitos de nós mais queremos é tratá-lo como igual e recebê-lo em nossa cultura, se você fizer o esforço necessário para que isso seja possível. Mas é simplesmente inútil para nós tentar ajudar pessoas que não estão dispostas a ajudar a si mesmas. Tudo bem ser ignorante; mas não é legal bancar o estúpido.

Portanto, mesmo que não seja necessário ser tecnicamente competente para receber nossa atenção, você precisa apresentar atitudes que te levem a esta competência - mostrar-se preparado, atencioso, observador e disposto a ser um participante ativo no desenvolvimento de soluções. Se você não suporta este tipo de discriminação, sugerimos que você pague a alguém por um suporte comercial ao invés de pedir ajuda através de doações de hackers.

Se você decidir vir até nós para pedir ajuda, você não quer ser um perdedor. Você não quer nem se parecer com um perdedor. A melhor maneira de conseguir uma resposta rápida e precisa é perguntar como uma pessoa que possui confiança, inteligência e dicas, e que precisa de ajuda em um problema bem específico.

(Melhorias neste guia são bem-vindas. Você pode enviar suas sugestões - em inglês - para esr@thyrsus.com ou respond-auto@linuxmafia.com. Note, entretanto, que o objetivo deste documento não é ser um guia de netiqueta, e eu geralmente descarto sugestões que não estejam especificamente relacionadas a produzir respostas úteis em um fórum técnico)

Antes de perguntar

Antes de fazer uma pergunta por email, em um newsgroup ou em um fórum na web, faça o seguinte:

1.Tente achar uma resposta pesquisando na Web. 2.Tente achar uma resposta lendo o manual. 3.Tente achar uma resposta lendo o FAQ. 4.Tente achar uma resposta por tentativa e erro. 5.Tente achar uma resposta perguntando a um amigo experiente. 6.Se você é programador, tente achar uma resposta lendo o código-fonte.

Quando você faz uma pergunta, demonstre que você fez todas estas coisas antes; isto irá ajudar a estabelecer que você não está sendo uma esponja preguiçosa fazendo as outras pessoas perderem tempo. Melhor ainda, mostre o que você aprendeu fazendo todas estas coisas. Nós gostamos de responder questões de pessoas que demonstram que podem aprender com as respostas.

Use táticas como pesquisar no Google com o texto de qualquer mensagem de erro que você receba (e pesquise no Google Groups assim como na web). Isto pode levá-lo diretamente ao documento ou à thread da lista que irá responder à sua pergunta. Mesmo que isto não aconteça, é legal dizer "Eu pesquisei no Google a seguinte frase mas não encontrei nada útil" na sua mensagem quando pedir ajuda.

Prepare sua pergunta. Pense além. Perguntas corridas recebem respostas corridas, ou nenhuma. Quanto mais você demonstrar que investiu tempo e neurônios na solução do seu problema antes de pedir ajuda, mais provável será que você consiga nossa ajuda.

Tome cuidado com perguntas erradas. Se você fizer uma pergunta baseada em pressupostos equivocados, um hacker qualquer vai enviar uma resposta literal inútil enquanto pensa "Que pergunta idiota...", esperando que a resposta ao que você perguntou, mesmo que não seja a resposta que você espera, te ensine alguma coisa sobre como fazer perguntas.

Nunca assuma que você merece uma resposta. Você não merece; você não está, afinal de contas, pagando por este serviço. Você irá ganhar uma resposta, se ganhar, fazendo perguntas substanciais, interessantes e intrigantes - uma que contribua com a experiência da comunidade ao invés de apenas extrair conhecimentos dos outros.

Por outro lado, deixar claro que você pode e quer ajudar no processo de desenvolver uma solução é um ótimo começo. "Alguém pode me indicar uma direção?", "O que está errado no meu exemplo?" e "Qual site eu devia ter verificado?" é mais provável de receber uma resposta do que "Por favor, envie o procedimento exato que eu devo usar", pois assim fica claro que você está disposto a completar o processo se alguém apenas indicar a direção certa.

Quando você perguntar

Escolha cuidadosamente seu fórum

Seja cuidadoso ao escolher onde você vai enviar sua pergunta. Você será ignorado ou tachado de idiota se você:

•enviar sua pergunta em um fórum que não trata do assunto

•enviar uma questão muito básica em um fórum onde são esperadas questões tecnicamente mais avançadas, ou vice-versa.

•enviar a mesma pergunta para diversos fóruns ou newsgroups.

•enviar um email pessoal para alguém que não seja seu conhecido nem responsável direto por resolver seu problema.

Hackers detonam questões que estão inapropriadamente direcionadas para evitarem que seus canais de comunicação de se tornem irrelevantes. Você não quer que isso aconteça contigo.

O primeiro passo é, portanto, escolher o fórum certo. Novamente, Google e outros mecanismos de pesquisa são seus amigos. Use-os para encontrar os sites dos projetos que estejam mais intimamente relacionados aos softwares ou hardwares que estão lhe causando problemas. Normalmente eles possuem links para um FAQ (Resportas à Perguntas Freqüentes), para listas de discussão e seus respectivos históricos. Estas listas de discussão são o último lugar onde pedir ajuda se seus esforços anteriores (incluindo ler o FAQ) não lhe trouxerem uma solução. A página do projeto também pode descrever como reportar um bug; se for o caso, siga as instruções.

Enviar uma mensagem para uma pessoa ou um fórum com o qual não está familiarizado é o mais arriscado. Por exemplo, não pense que o autor de uma página informativa quer ser seu consultor gratuitamente. Não faça projeções otimistas sobre sua mensagem ser bem aceita - se você não tiver certeza, envie sua mensagem em outro lugar, ou não envie.

Quando escolher um fórum web, um newsgroup ou uma lista de discussão, não leve estes nomes a sério tão rapidamente; dê uma olhada no FAQ ou na descrição da lista para ter certeza de que sua mensagem faz parte do tipo de assunto tratado no local. Ler algumas mensagens antigas antes de enviar a sua pode lhe ajudar a descobrir como as coisas funcionam na comunidade. Na verdade, é uma excelente idéia fazer uma pesquisa sobre as palavras-chaves relacionadas ao seu problema antes de enviar uma mensagem. Se isto não lhe ajudar a encontrar uma resposta, vai lhe ajudar a formular melhor sua pergunta.

Não dê uma rajada de perguntas em todos os canais de comunicação de uma só vez, isto é o mesmo que sair gritando e acaba irritando as pessoas. Vá com calma.

Saiba como classificar sua mensagem! Um dos erros clássicos é enviar perguntas sobre interface de programação Unix ou Windows em um fórum sobre a linguagem de programação, que é portável para ambas as plataformas. Se você não compreende o problema neste exemplo, é melhor não fazer nenhuma pergunta até cair a ficha.

Em geral, questões enviadas para um fórum público bem selecionado conseguem melhores respostas do que as mesmas questões enviadas para um fórum fechado. Existem muitas razões para isto. Uma é a quantidade de pessoas que podem responder. Outra é o tamanho da audiência. Hackers preferem ensinar algo que seja útil para muitas pessoas do que para poucas.

É compreensível que hackers experientes e autores de softwares populares recebem mais do que sua parcela de mensagens mal direcionadas. Ao enviar sua mensagem você pode, em casos extremos, ser a gota d'água - algumas vezes, colaboradores de projetos populares desistiram de dar suporte por causa do efeito colateral que o tráfego de emails inúteis causou nas suas caixas-postais, tornando-as intoleráveis.

Fórum web e IRC freqüentemente dão aos novatos as respostas mais rápidas

Seu grupo local de usuários, ou sua distribuição de Linux, deve divulgar um fórum web ou um canal de IRC onde os iniciantes podem conseguir ajuda. Estes são bons lugares para começar, especialmente se você imagina ter topado com um problema relativamente simples e comum. Canais de IRC, quando divulgados, são um convite para entrar, fazer perguntas e receber ajuda em tempo real.

Se você está encontrando problemas em um programa proveniente de uma determinada distribuição de sistema (muito comum atualmente), é melhor fazer perguntas no fórum/lista da distribuição antes de tentar ir direto ao grupo do projeto. Os hackers de lá vão dizer "use nossa versão".

Antes de enviar mensagem para um fórum web, verifique se ele não tem um mecanismo de pesquisa. Se tiver, tente encontrar algumas palavras-chaves sobre o seu problema; isto pode ajudar. Se você fez uma pesquisa genérica em uma ferramenta de pesquisa na web, tente a mesma pesquisa no fórum, pois as ferramentas genéricas podem não ter indexado todo o conteúdo do fórum ou já tê-lo feito há muito tempo, não mostrando tópicos recentes.

Existe uma tendência crescente nos projetos em usar fórum web e canais de IRC para suporte, deixando o tráfego de email destinado para o desenvolvimento. Então, procure por estes canais primeiro quando estiver procurando ajuda em um projeto específico.

Como segundo passo, use a lista de discussão do projeto

Quando um projeto possuir uma lista de discussão, escreva para a lista, não para um determinado desenvolvedor, mesmo que você acredite saber quem melhor pode responder sua pergunta. Procure na documentação do projeto e visite seu site para descobrir o endereço da lista. Existem várias boas razões para se fazer isso:

•Qualquer questão que seja boa para um determinado desenvolvedor tem muito valor também para o resto do grupo. Por outro lado, se você acha que sua questão é idiota demais para enviar ao grupo, isto não é uma desculpa para atormentar um determinado desenvolvedor.

•Fazer perguntas na lista divide o trabalho entre os desenvolvedores. Um único desenvolvedor (especialmente se ele for o líder do projeto) pode estar muito ocupado para responder suas perguntas.

(Parte 1 de 6)

Comentários