![]() |
Entrevista internacional
| Linux in Brazil Documentação original e de qualidade em bom português |
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:
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.
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...
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.
- 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