Alan Cox
O que diz o padrinho da criança
Alan Cox, um dos programadores mais ativos no desenvolvimento do kernel,
concedeu esta entrevista para a Revista do Linux em novembro passado. Cox é
o protótipo do hacker no sentido original da palavra, ou seja, uma pessoa
que gosta de computadores e dedica sua vida a essas máquinas. Sua sala é
abarrotada de micros e periféricos de todos os tipos, doados por fabricantes
de hardware do mundo inteiro. Trabalha incansavelmente e a impressão que se
tem é de que ele nunca dorme. Esta figura carimbada, em sua atribulada
rotina, encontrou um tempo para falar-nos sobre o mercado de software, sobre
o futuro do Linux e do código aberto e também sobre a postura de seus
desenvolvedores.
Revista do Linux - Os programadores normalmente têm hábitos de trabalho
estranhos. Qual é o seu ritmo de trabalho diário e como você consegue
trabalhar em tantos projetos ao mesmo tempo?
Alan Cox - Eu geralmente trabalho do meio-dia até as 10 horas da noite.
Normalmente este é o horário em que eu prefiro trabalhar. Com relação aos
projetos, eu ajudo a coordenar diversas tarefas, mas a maior parte do
trabalho é feita por outras pessoas. Eu normalmente acabo aparecendo mais
que os outros, mas somente por esta razão.
RdL - Atualmente, qual é o foco de desenvolvimento do kernel do sistema?
Cox - O primeiro objetivo é organizar tudo de modo a se deixar o sistema
estável (code freeze), retirando-se os bugs para a liberação da versão 2.4. A maior parte do trabalho é dedicada à escalabilidade, ou seja, suporte
para 4Gb de memória e aumento de performance em computadores com 8 a 16
processadores. Tem ainda o suporte a USB e muitos drivers novos.
RdL - O que você considera mais interessante no que vem sendo feito no
Linux? Ainda existe alguma coisa que o deixe surpreso no Linux?
Cox - A quantidade de lugares em que o Linux está sendo usado e a forma como
as pessoas o estão utilizando nunca deixam de me surpreender.
A minha impressão é de que o Linux pode se tornar um competidor de peso no
mercado de TV interativa. Isso era inconcebível há dois anos. Tem também o
mercado de sistemas embutidos. O Linux já está aparecendo em sistemas
experimentais de telefone/Internet bem como em centrais telefônicas.
Paralelamente, no segmento de equipamentos de alto desempenho, os clusters
Beowulf Linux começam a ganhar contratos multimilionários, e este é um campo
em que a concorrência é sempre muito forte. E os projetos que eu acho mais
divertidos são aqueles em que se está portando o Linux para equipamentos que
nunca poderíamos imaginar rodando Linux, como o Psion5, algumas máquinas
Windows CE e handhelds gráficos.
RdL - O que você sugere para um iniciante que está querendo aprender a usar
o Linux? O que ver, o que estudar?
Cox - Esta é uma questão difícil de responder. O uso do Linux está cada vez
mais fácil, embora eu ainda esteja querendo achar um bom livro do tipo Linux
para Usuários Experientes do Windows. Na área de programação existem títulos
muito bons, além da grande quantidade de códigos-fonte para aprender. Na
minha opinião, o livro Beginning Linux Programming, da editora Wrox Press, é muito bom. (Ok, eu escrevi
o prefácio da segunda edição, mas, antes que perguntem,
eu não ganhei dinheiro algum com isso!) Você não precisa necessariamente
adquirir conhecimento em livros. Existem inúmeros sites da Internet com
ótima documentação para o Linux. O livro Linux Installation And Getting
Started está um pouco desatualizado, mas mesmo assim ainda é uma boa
introdução para o sistema. Existem muitas editoras discutindo sobre licenças
que possibilitem a livre disponibilização de versões eletrônicas dos livros.
Isto também vai ajudar a trazer muita documentação para os usuários.
Provavelmente, a parte que as pessoas consideram mais obscura, cheia de
mágica, é o kernel. E isto, na verdade, é uma ilusão. As pessoas acham que o
kernel do sistema deve ser altamente complexo e mágico. Mas poucas partes do
kernel são assim. Ele é mais como um grande programa DOS onde um erro fez a
máquina parar. Não são necessários poderes especiais para fazer isso.
RdL - Nos anos 80, diversos jovens fundaram pequenas companhias que se
tornaram grandes, lançaram suas ações na bolsa de valores e transformaram
seus investidores em milionários. Hoje, vemos programadores colaborando com
projetos de código aberto sem receber nenhum dinheiro por isso. Em
contraposição ao enriquecimento daqueles, agora as pessoas falam em abrir os
fontes dos programas para ajudar a comunidade. Na sua opinião, o que mudou e
levou a este tipo de atitude?
Cox - Na verdade, muitas pessoas criaram companhias baseadas na Internet,
trabalharam por muito tempo, viveram em casas horríveis e lugares
extremamente caros como o Vale do Silício, Londres e Guildford. Alguns
ficaram ricos, alguns conseguiram fazer um pé-de-meia. A maioria não
conseguiu se estabelecer. Não tenho certeza do que mudou, mas muitas pessoas
que conheço escolheram trabalhar longe de lugares como o Vale do Silício.
Eles podem não se tornar milionários, mas podem pelo menos viver em lugares
onde você não precisa ser um milionário para comprar uma casa. As pessoas
parecem ter se lembrado de que a qualidade de vida vale mais que a conta no
banco.
RdL - Você e muitos outros colaboradores do Linux poderiam ser donos de boas
companhias com grande sucesso financeiro. Mas, ao entrar no movimento de
programas de livre distribuição, vocês adotaram uma postura diferente. O que
você pensa desta nova maneira de trabalhar?
Cox - Os programas de livre distribuição são parte do futuro da informática
e, hoje em dia, trabalhando com programas de código aberto ganho mais
dinheiro, mesmo contando o tempo em que não estou ganhando nada com o
desenvolvimento que faço, do que se tivesse outros empregos. Como você pode
ver, o lado financeiro não é tão simples assim. É bom lembrar que eu não
comecei a trabalhar com o Linux com esta situação. O Linux é divertido, e o
ato de compartilhar o código-fonte com as pessoas e poder melhorá-lo é
maravilhoso do ponto de vista da criatividade. Eu quero ver as pessoas
felizes e eu quero ver o potencial da Internet e da informática disponível
para todas as pessoas, e não apenas para um pequeno grupo. Ser pago para
poder atingir este objetivo é maravilhoso.
RdL - Quantas pessoas ajudam no desenvolvimento do kernel hoje em dia? Quem
administra o que, qual é o meio de comunicação mais usado entre os
desenvolvedores? Fale sobre a rotina deste grupo, sobre como você conheceu
estas pessoas e como acabaram desenvolvendo um sistema tão complexo como o
Linux.
Cox - Na verdade, não somos bons com números exatos. Devemos contar pessoas
que enviam uma correção para o sistema e nunca mais aparecem? Este tipo de
pessoa faz parte do projeto e a soma de pequenas contribuições é uma grande
parte do todo. O melhor a que conseguimos chegar é através da teoria de que
um programador produz 10 linhas de código documentado e testado por dia.
Desta maneira podemos assumir que temos entre 100 e 150 programadores
trabalhando em tempo integral no kernel. Pode-se ainda adicionar as
contribuições para aplicações, bibliotecas e interfaces gráficas. Desta
maneira podemos dizer que todo o projeto Linux cresce à velocidade de
inúmeras linhas por segundo. A maioria dos patches (correções ao sistema) é
enviada primeiramente para os mantenedores de áreas específicas do sistema.
Depois de verificados e testados são enviados para o Linus. Eu estou me
tornando um colaborador de patches em diversas áreas do sistema e os testo para o Linus, mas não temos
nada formal neste sentido. Acabou acontecendo desta maneira. A comunicação
acontece principalmente através da lista linux-kernel e através de e-mails
específicos aos interessados.
RdL - O Linux está sendo usado em grandes servidores, Macs, PCs, pdas e videogames. Qual é o segredo
para suportar um variedade tão grande de hardwares? E por que o Unix
tradicional não conseguiu fazer isso?
Cox - As pessoas estão adaptando o Linux para suas necessidades específicas.
Ele está sendo continuamente portado para novas arquiteturas e ambientes.
Isto quer dizer que as pessoas estão cada vez mais dissecando o código do
sistema e deixando-o mais adaptável, o que antes não era feito. Outro ponto
é que as pessoas nunca tinham portado outro sistema operacional de forma tão
abrangente quanto o Linux. Temos que levar em conta também o fato de que o
Linux é um sistema de código aberto, pois antes as pessoas não podiam
simplesmente dizer: ok, vou portar o Linux para funcionar com minha
geladeira.
RdL - A mídia está falando sobre a epidemia do Linux, a qual poderá afetar diferentes tipos de monopólios comerciais existentes
hoje em dia. O que estamos vendo é que grandes companhias estão adotando e
ajudando no desenvolvimento de programas para Linux, chegando a um ponto que
os interesses comerciais poderiam afetar o espírito dos programas de livre
distribuição. Você acha que isso é perigoso? Como você vê o futuro dessas
companhias?
Cox - O Linux é o começo do fim para muitos monopólios praticados na
indústria da informática. O mercado de PCs e sua natureza de hardware aberto
acabaram com o mercado de minicomputadores. O Linux e outros softwares
livres certamente irão deixar uma marca profunda nos programas
proprietários. É interessante que muitas das companhias que aprenderam isso,
normalmente da maneira mais difícil, são aquelas que melhor entendem o
mercado do Linux e também como operar em um mundo onde a renda com programas é baseada em serviços.
RdL - O preço atual dos programas comerciais é bem alto, mas o crescimento
do Linux está obrigando a uma redução nos preços. Você acredita que o futuro
será baseado em programas de livre distribuição ou que os tradicionais
programas comerciais, com seus preços ajustados à nova realidade, manterão
seus usuários atuais?
Cox - Se você comparar o preço do Windows NT e do Microsoft Office com o Linux e o StarOffice, mesmo incluindo suporte, fica
óbvio para onde caminham os preços dos programas. Eu não acho que o preço do
suporte irá mudar muito. Na verdade, pode até ser que seu preço suba, pois o custo do suporte não
estará mais embutido no custo dos programas.
RdL - Como você vê o Linux daqui a dez anos?
Cox - Eu realmente não sei. Alguns anos atrás a frase Dominação Global era
uma piada. Em dez anos provavelmente isso poderá se tornar realidade.
RdL - Alguns segmentos dizem que o PowerPC será a melhor plataforma para o
Linux ao invés de PCs baseados em chips Intel. O que você acha disso? O que
você pode nos falar sobre padrões de hardware, pnp, USB, etc.?
Cox - Não conheço muito sobre o PowerPC. Não me considero a pessoa adequada
para falar sobre isso. O USB é potencialmente uma boa tecnologia para o
Linux. Ele tem padrões abertos e foi bem desenvolvido. A documentação é
horrível, mas as idéias por trás da documentação ruim são ótimas. Um
problema é que muitas empresas que fabricam equipamentos USB não seguem os
padrões e criam suas próprias interfaces. Espero que isso mude na medida em
que o padrão se torne mais sólido e os fabricantes descubram que seguir um
padrão aberto é melhor do que ficar escrevendo seus próprios drivers.
RdL - Por muito tempo, diversas pessoas disseram que a interface texto,
usando linhas de comando obscuras, estava fadada ao esquecimento. E que a interface gráfica e intuitiva seria a solução definitiva. Como
programador, o que você acha dessa questão?
Cox - Um ambiente gráfico é um bom ambiente para pessoas que não usam o
computador com tanta freqüência. Ele o guia, mas limita o que você pode
fazer. A interface texto é mais difícil de aprender, mas é muito mais poderosa e rápida no uso
constante. O Linux suporta muito bem estes dois tipos de interface, deixando
a opção para o usuário.
RdL - Uma das discussões envolvendo o Linux é que órgãos governamentais
(defesa, etc.) devem adotar sistemas de código aberto e, assim, garantir
total segurança para seus dados. Isso porque eles teriam certeza de que
nenhum programa de código fechado estaria pesquisando suas bases de dados
secretas. Você acha que eles estão certos adotando esta política?
Cox - Eu conheço diversos militares e pessoas ligadas ao governo que estão
usando Linux. Ele é barato e pode ser auditado. Por razões similares, ele
também é muito popular em muitos departamentos do governo que não existem
oficialmente. Sistemas de código aberto são ótimos pois os códigos fonte de
todos os programas estão disponíveis e podem ser verificados facilmente. Os
governos têm históricos interessantes de implantação de aspectos duvidosos
em programas exportados para outros países. A chave NSA no Windows é um
exemplo clássico deste método. Ninguém pode ter certeza absoluta se a chave
é um item inocente, como eles falam, ou se ela contém alguma coisa sinistra
no seu interior. Como o Windows é um programa de código fechado, ninguém
pode verificar seu conteúdo, nem se ele possui backdoors - mesmo implantados
sem o consentimento da Microsoft.
RdL - A Internet está ajudando a acabar com padrões proprietários como
arquivos, protocolos, etc. As pessoas estão aderindo a padrões abertos como
o e-mail, intranets, chats, sites, html, ftp e também o Linux. Existem
muitas companhias tentando associar sua imagem com a Internet. Por que o
Linux é tão associado e se adapta tão bem à Internet?
Cox - O Linux é um produto da Internet. Ele não é o primeiro Unix free, mas,
sem a Internet, outros projetos não conseguiram atingir uma quantidade de
desenvolvedores suficiente para que evoluíssem. Com a Internet e
computadores baratos, mas poderosos, formou-se a base necessária para fazer
o Linux decolar. A Internet é o coração do desenvolvimento do Linux e isto
ajudou a moldá-lo como parte integrante da Internet.
RdL - Por que, a cada dia, mais e mais pessoas querem usar o Linux? Estamos passando por uma revolução?
Cox - Sim, há uma revolução ocorrendo. Todos estão tendo oportunidade de
brincar com o programa, para compartilhar idéias e também para receber
dinheiro através de serviços baseados em sistemas de código aberto. As
empresas estão tendo a chance de escolher os programas que querem usar e também quem serão seus fornecedores. Isso inclui pequenas companhias que
têm a mesma chance de prover suporte, modificar o código, arrumar bugs e adicionar características novas aos sistemas. Essa regra que
outras indústrias possuem está finalmente sendo aplicada na indústria do software.