Arquivos históricos do BR-Linux.org apresenta:

Linux in Brazil (Entrevista internacional )

Grande parte dos usuários de Linux que costumam utilizar o IRC já ouviu falar no cliente BitchX, uma versão altamente modificada do ircii, bastante popular. Se não é o seu caso, não deixe de ler nossa matéria sobre irc no Linux.

Nesta entrevista, realizada no dia 16 de janeiro de 2000, conversei com Colten Edwards, mais conhecido como Panasync, o autor do BitchX. Não surpreendentemente, falamos muito pouco sobre irc, e bem mais sobre o processo de desenvolvimento do BitchX. O resultado é o que segue:

Parte I - Pessoal

Para boa parte dos usuários de irc, você é apenas um nickname - Panasync. Poucos sabem que há um nome - Colten Edwards - por trás do apelido. Você poderia nos dar alguma informação adicional, como:

- Onde você mora?

Eu moro em Conquest, Saskatchewan, Canada.

- Você tem um emprego?

Tenho um trabalho noturno :). Eu trabalho em um bar/hotel.

- Você alguma vez já se envolveu com a Internet ou o próprio IRC em algum projeto, curso, etc?

Não, nunca. Quando eu estava na universidade nós não tínhamos conexão com a internet para os alunos.

- Você acha que ser a mente por trás de um dos maiores clientes de irc lhe dá algum tipo de vantagem fora do mundo virtual? Além disso, você já obteve algum ganho pessoal pelo seu software?

Eu ganho principalmente a satisfação de trabalhar em um projeto que vem durando tantos anos. Nunca recebi nenhum lucro monetário. Mas eu tenho recebido alguns itens de hardware de vez em quando.

- Quanto tempo você aloca ao desenvolvimento do BitchX? E quantas horas por dia você passa conectado ao irc?

Eu realmente não aloco tempo, é um trabalho de amor :) Eu normalmente fico conectado de 8 a 10 horas por dia, embora eu não precise estar conectado para poder trabalhar no bx.

- Que tal um panorama de suas outras atividades (hobbies) além do irc?

Construir e pilotar aeromodelos, fotografia, programação.

- Você roda o BitchX em um console em modo texto, ou em um xterm? Qual terminal (xterm, rxvt, aterm...) você prefere? Você usa alguma configuração especial (cores, fonte, geometria...)?

Eu rodo em console. Pessoalmente eu gosto do rxvt com a fonte vga11x19 na resolução de 1024x768.

- O que você acha do software livre? Quero dizer, você é um fã da GPL? Ou um inimigo dela? Você tentaria vender seu software se você achasse que poderia obter lucro?

Sou um grande fã do free software/free source. Eu gosto de ler código bem escrito de outras pessoas. E eu também acredito no conceito de shareware. Eu cheguei a pensar em disponibilizar o BitchX como shareware com fonte. Mas ele é baseado no trabalho de outras pessoas, então eu acho que não seria justo. Entretanto, se alguém quiser me enviar dinheiro, fiquem à vontade. Meu endereço está no BitchX.doc.

- Você escreveu algum outro free software além do BitchX?

Sim. Eu escrevi um programa para o FrontDoor v1.99 como shareware. Eu escrevi patches para o kernel do Linux, dos quais um deles ainda está incluído nos fontes correntes. Eu co-escrevi vários programas com meu irmão. Eu escrevi também alguns softwares basicamente para mim mesmo, e nunca os lancei.

Parte II - sobre o software

Tudo o que sabemos sobre o BitchX é o que está incluído na documentação. Nós sabemos que ele começou como um script para ircii, que posteriormente foi portado para a linguagem C e incluído nos fontes do cliente de irc. Mas...

  • Por que você se deu ao trabalho de programá-lo no cliente de irc? Havia alguma característica de que você sentisse falta, ou você simplesmente achou que alguém teria que acabar fazendo isto?

    Na época em que o BitchX era um script de ircii, havia um script popular chamado Phoenix. Ambos eram grandes, complicados e lentos. Eu havia ouvido sobre o cliente CtoolZ, que era programado em C. Infelizmente para mim, eu não pude obter uma cópia do autor; código fonte estava completamente fora de questão. Então eu decidi escrever um cliente que seria para todos, e incluí o fonte.

    - Na época, você imaginava que o BitchX seria tão popular?

    Não, eu não fazia idéia. Enquanto eu estivesse feliz com o que estava fazendo, isto era o que importava.

    - Existem alguns projetos similares, como o EPIC e o ScrollZ. Como você se relaciona com seus criadores? Como estes projetos coexistem? Vocês compartilham código ou idéias?

    Eu me dou bem com o epic. O desenvolvimento do BitchX contribuiu com bastante depuração e código para o epic. O ScrollZ é basicamente o CtoolZ. Infelizmente o autor e eu não concordamos em tudo.

    - Há uma série de sites do BitchX - bitchx.com, bitchx.org... - e eles nem mesmo tem os mesmos pacotes; não encontrei nada sobre o BitchX 1.0 no bitchx.org, por exemplo. Quem mantém estes sites? Como você se relaciona com estas pessoas e seu trabalho?

    O bitchx.org é mantido pelo sideshow. O BitchX.com, por mim mesmo. Notamos que devido ao rápido desenvolvimento, colocar os fontes no bitchx.org não seria do meu interesse e nem da comunidade como um todo.

    - Somos entusiastas do Unix mas não podemos evitar de notar que hoje em dia é possível rodar o cliente em vários outros SOs e ambientes, incluindo o OS/2, Win32 e o novo port para o GTK. Você usou pessoalmente todos eles? Você mantém todo o código alternativo para cada plataforma, ou apenas confia no que outras pessoas enviam? Você realmente se importa com as outras versões, ou elas simplesmente surgem e são embutidas na distribuição principal?

    A pessoa responsável pelos ports para Win32, OS/2 e GTK também é responsável pelos testes, e pela correção dos bugs encontrados nestas plataformas. Eu experimentei o port para Win32 e o para GTK. O "Nuke" envia patches para mim (alguns bem grandes) que eu então incluo manualmente nos fontes oficiais no meu sistema. A maior parte das características dependentes da plataforma é limitada a arquivos específicos que são simplesmente substituídos pelos dele. Eu gostaria de ver o BitchX rodando em todas as plataformas.

    - Aproximadamente quantas pessoas trabalham com você no BitchX?

    Além do Davidw2, Nuke e eu mesmo, tem ainda 4 ou 5 outros que enviam patches.

    - A documentação nem sempre está atualizada, Você mantém a documentação? Se importa com ela? Quem escreve os manuais? Como alguém interessado pode ajudar?

    Se eu pudesse escrever documentação, eu o faria. A maior parte da documentação é contribuída. O Nuke contribui a documentação das coisas que ele cria. O detalhe é que MUITOS dos comandos mudaram bastante. Para trabalhar nisto, precisaríamos no mínimo de alguém que saiba ler código fonte em C e seguir o fluxo. Ninguém está trabalhando a sério nisso. Ocasionalmente eu atualizo um arquivo ou dois no diretório bitchx-docs. Se alguém quer trabalhar com isso, entre em contato.

    - O BitchX não precisa de scripts, mas muitas pessoas gostam de escrever suas visões particulares de como o irc deveria ser. Eu acho que a documentação mais completa disponível é a do EPIC. Além de ler o código fonte e observar outros scripts já existentes, que leitura você recomenda para pessoas que desejam escrever scripts? Existe uma listagem atualizada e comentada de todos os hooks, funções e formatos?

    Atualizada? Não... Eu gostaria que houvesse. O diretório bitchx-docs inclui a documentação do EPIC, e mais. No diretório docs também há algumas descrições.

    Parte III - Desenvolvimento

    - Que ferramentas de software você usa para desenvolver o BitchX?

    joe, make, gcc, gdb, strace, dmalloc lib.

    - Que SO e ambiente gráfico você usa para programar? E para acessar o IRC?

    O BitchX é programado usando o Mandrake Linux. Eu programo na console. Eu tendo a não acessar mais o irc pela minha conexão ppp, então eu rodo meu cliente a partir do BitchX.com, que é um sistema BSDi 4.0.1.

    - Em que hardware você compila o sistema pessoalmente?

    Casa: PII-350MHz, 128 MB RAM, 30 GB de HD (SCSI e IDE), CDR-W SCSI, CD-ROM SCSI.

    BitchX.com: AMD 400, 96 MB RAM, 42 GB de HD (IDE)

    - Quanto tempo leva uma compilação completa do cliente no seu sistema?

    Por volta de 5 minutos.

    - Qual o custo (em tempo, dinheiro ou o que for) de manter o cliente?

    Eu pago pela minha conexão à rede. Eu tenho um número de horas livre por uma taxa, e pago pelo adicional. Atualmente eu tenho 300 horas livres, e pago pelo que ultrapassar este valor.

    - Eu sei que a linguagem TCL tem muitas vantagens quando se trata de embutir um interpretador dentro de outro programa, e que a própria linguagem do BitchX é bastante rica. mas você não acha que poderia ser útil incluir outros interpretadores ou extensões (como perl, ou python, por exemplo) no cliente?

    Temos pensado em transformar o suporte a TCL em um plugin. O que tornaria bastante simples a inclusão de um plugin Perl. Pessoalmente, não vejo vantagem em nenhum dos dois, mas algumas pessoas gostariam.

    - Como alguém pode colaborar com o projeto?

    Se você pode ler código C e escrever em Inglês decente, escreva alguma documentação para o diretório BitchX-docs. Se você sabe programar, esteja à vontade para criar algum recurso do seu interesse, ou de algum amigo. Se você encontrar problemas com o cliente, e puder rodar o gdb, aponte meu erro com um backtrace.

    - Você gosta de receber e-mail pessoal com relatos de bugs, comentários, sugestões ou agradecimentos? Qual a melhor maneira de fazer isto?

    Eu gosto de receber e-mail. edwards@bitchx.dimension6.com


    O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.