Meio Bit » Baú » Software » Entrevista: Bruno Albuquerque, do projeto Haiku

Entrevista: Bruno Albuquerque, do projeto Haiku

22/09/2008 às 23:42

Há muitos e muitos anos, mais precisamente no começo dos anos 1990, havia um sistema operacional chamado BeOS, fabricado pela Be, Inc. Projetado do zero, era focado em aplicações multi-mídia e projetado para extrair o máximo de computadores multi-processados. A história da Be, Inc. daria um enorme (e ótimo) artigo, por isso vou fazer um avanço rápido até os dias de hoje.

Haiku” é um tipo de poesia japonesa, mas também é o nome escolhido para o sistema operacional que tem a ambição de ser compatível (a nível binário) com a última versão do BeOS. Conduzido por um grupo de “hackers” (no melhor sentido da palavra), está disponível para download no site do projeto, mas apenas a imagem VMWare.

Esta entrevista, gentilmente cedida por Bruno Albuquerque, um dos principais desenvolvedores, fala um pouco mais do sistema e mostra a luta de uma pequena, mas motivada equipe. Um trabalho admirável, que merece, no mínimo, os nossos parabéns.

Quem é Bruno Albuquerque? Onde vive, o que faz da vida e como conheceu o Haiku?

Tenho 33 anos, moro em Belo Horizonte e trabalho como engenheiro de software para a Google. Tenho aproximadamente 8 anos de experiência com desenvolvimento de sistemas operacionais, tendo trabalhado como engenheiro de kernel para a yellowTAB GmbH no desenvolvimento do Zeta e sido um dos primeiros integrantes do projeto Haiku, liderando o time do OpenBFS e sendo integrante do time de administradores do mesmo. O envolvimento com o Haiku foi uma consequência natural do meu envolvimento anterior com BeOS/Zeta. Atualmente minhas contribuições para o Haiku têm sido mais esporádicas mas continuo ativo no projeto.

O que é o Haiku e o que o diferencia do Linux e do Windows?

Haiku é uma reimplementação open-source (usando a licença MIT) do BeOS. A primeira versão tem o objetivo de ter compatibilidade binária com o BeOS R5 (menos os bugs). O projeto foi iniciado há 7 anos e hoje encontra-se muito próximo da sua primeira versão alfa (em outras palavras, primeira versão de teste direcionada a usuários finais).

Em sua versão final, as seguintes características técnicas devem estar presentes:

  1. Multitarefa com "multi-threading" pervasivo. Haiku suporta múltiplas CPUs e múltiplos cores e foi desenhado para isso. O uso de threads onde possível faz o mesmo escalar muito melhor que a média dos SOs em máquinas com múltiplas CPUs/cores;
  2. Baixa latência para serviços de kernel e de mídia. O Haiku é o que podemos chamar de um SO "soft-realtime" (um sistema assim garante tempos médios muito baixos para as tarefas de baixo nível. Um "hard-realtime" garante um tempo máximo - que pode ser alto ou não - para tarefas de baixo nível);
  3. Sistema de arquivos de 64 bits, "multi-threaded", orientado a objetos e com recursos similares a uma base de dados (mais ou menos o que o finado "WinFS" queria ser);
  4. Interface com usuário simples e intuitiva;
  5. "Orientado ao usuário". Basicamente a resposta ao usuário é mais importante que qualquer outra coisa no SO. Por exemplo: não existe o conceito da ampulheta e similares no Haiku. O sistema nunca está ocupado demais pra responder ao usuário.

Acho que isso cobre os pontos mais interessantes. 🙂

O BeOS não foi um sucesso de mercado, mesmo quando deixou de rodar apenas nas BeBoxes. Qual é a motivação em portá-lo para um hardware atual? O mundo precisa do Haiku?

Dois pontos sobre isso. O primeiro é que o BeOS foi, sim, um sucesso relativo e que o maior motivo para seu eventual fracasso foram as práticas monopolistas da Microsoft (o que resultou em uma ação da Be contra a Microsoft que acabou sendo encerrada com um acordo fora dos tribunais).

O segundo ponto é que o Haiku não é um port. O Haiku é uma reimplementação completa a partir do zero do BeOS. O objetivo é simples: todos os envolvidos no projeto acreditam que o Haiku pode ser mais do que o BeOS um dia foi e o motivo disso é acreditarmos que, tecnicamente falando, o BeOS era muito melhor do que as alternativas (obviamente esse ponto pode ser discutido, mas nós acreditamos nisso).

Quanto ao mundo precisar ou não do Haiku, eu acho que isso é bastante relativo. O que posso afirmar com certeza é que o Haiku serve para cobrir um nicho específico e executa bem isso. Por outro lado eu sou a favor da noção de que o melhor sistema operacional para qualquer pessoa é aquele que faz o que a pessoa quer. Se tudo que ela quer é digitar um documento no Word, então o Windows é, provavelmente, a melhor opção.

Quantas pessoas trabalham, ativamente, no desenvolvimento?

Existem uns 15 engenheiros ativos hoje, mas o número contanto com contribuidores de final de semana deve subir para uns 50.

Tentei baixar uma imagem do sistema, mas o site estava lento e caiu várias vezes. Mas percebi que é uma imagem vmware... quando poderemos ver o Haiku rodando como o sistema principal da máquina?

Você deu azar quanto ao site. Nossa solução de hosting é muito boa. 🙂 [nota do editor: De fato, consegui baixar o arquivo no dia seguinte.] A imagem é de VMWare, de forma a deixar claro que é pra ser usada apenas para testes. Estamos caminhando para ter uma imagem ISO para o público em geral. O problema é que somos perfeccionistas e queremos que a primeira experiência do usuário médio seja positiva (se não perfeita).

E o Haiku já roda como sistema principal na minha casa. 🙂 Você pode instalá-lo em uma partição dedicada. Nós só não facilitamos esse processo (ainda). De qualquer forma, a primeira versão pública está a apenas alguns meses (no máximo) de distância.

Existe algum plano de tornar o sistema comercial?

Não nosso. A nossa versão sempre vai ser gratuita. É claro que como optamos pela licença MIT, somos "business-friendly". 🙂

Existe uma "Fundação Haiku"? Quem gerencia o nome, toma as decisões do que deve ser implementado?

O Haiku é gerenciado pela Haiku Inc. Entidade sem fins lucrativos incorporada nos EUA. Mas note que a entidade apenas gerencia esforços de marketing e o capital arrecadado de n formas diferentes. Decisões de desenvolvimento são feitas pelos próprios desenvolvedores.

Haiku é multi-usuário? É possível tê-lo em casa, compartilhando o micro com os filhos, por exemplo?

Por default, ele é mono-usuário (isso é necessário para compatibilidade com o BeOS R5). Isto posto, o que ocorre de verdade é que você sempre roda como "root", mas todo o suporte para múltiplos usuários já está implementado e só não é usado por default. Quando compilando o Haiku, existe uma opção de configuração "enable-multiuser" que adiciona suporte a logins diversos e tudo mais.

Há rumores por aí de um "port" do Haiku para o Acer ONE. É verdade? O sistema pode ser uma boa alternativa para UMPCs com hardware mais modesto?

Já está funcionando. Mas até o suporte a CPU throttling, sleep mode e outras coisas necessárias para economia de energia, outros SOs ainda são opções melhores para esses super-portáteis (a não ser, é claro, que você pretenda usá-los conectados a uma fonte de alimentação externa).

Existe alguma ferramenta (gráfica) que tire proveito do BFS? Por exemplo, como eu faria para procurar todas as músicas do HD, lançadas pelo Marillion antes de 1991?

Essa é a beleza do BFS. Ele é todo integrado com o sistema. Para fazer o que quer basta usar o "Find" do sistema (ALT+F ou Deskbar -> Find). Em vez de "All files and folders", selecione um tipo específico, como "MPEG Audio File". Ai em vez de procurar por nome, selecione "by attribute", ai você pode adicionar regras como "Artist is Marillion and Year is smaller than 1991". Note que os arquivos MP3 precisam ter as informações relevantes extraídas para atributos estendidos do BFS. Isso pode ser feito manualmente, através de programas específicos que convertem a informação das tags ID3 em atributos e, futuramente, com um "extraction server" que vai servir exatamente para isso.

A pergunta que não quer calar: quando teremos uma versão 1.0?

Estamos caminhando pra isso. O Haiku é um projeto de voluntários que trabalham no mesmo no tempo livre. A data da versão 1.0 está intrinsecamente relacionada a esse tempo livre, que é variável. Assim, teremos uma versão alfa nos próximos meses e, a partir dai, mais alguns meses para a versão 1.0 final.

Quem quiser colaborar com o projeto, como deve proceder?

A melhor opção é ir ao site do projeto (http://haiku-os.org) e ver a documentação sobre desenvolvimento. Após configurar um ambiente para desenvolvimento, dar uma olhada nos tickets abertos e ver no que pode ajudar. O projeto Haiku é uma meritocracia: Se você submeter "patches" de qualidade eventualmente terá acesso de escrita ao repositório. Obviamente juntar-se as listas de discussão do projeto também é essencial.

Fique à vontade para deixar uma declaração ou um desabafo... 🙂

Existem duas perguntas bastante comuns que sempre me fazem quando menciono o Haiku e que acho que sua audiência também possa estar se perguntando:

1 - A primeira delas e na verdade, composta de 3 questões básicas mas as respostas para as três podem ser resumidas em uma única: Por que mais um SO? Por que não ajudar o Linux? Por que não usar o Linux como base?

O Haiku é desenvolvido por um grupo de pessoas que acredita que ele pode ser melhor do que as opções existentes atualmente no que tange a SOs para desktop. É fato que essa crença possa ser questionada mas também é fato que isso é irrelevante. 🙂 É mais ou menos como dizer pra alguém apaixonado por motos "custom" que o que ele está fazendo é irrelevante pois existem dezenas de motos excepcionais por ai. 🙂

O fato do Haiku considerar resposta ao usuário como a coisa mais importante o coloca em uma categoria bastante separada dos outros SOs. Isso tem vantagens e desvantagens, como tudo, mas nós acreditamos que as vantagens são maiores que as desvantagens. Exatamente por essa diferença de filosofia nós optamos por escrever um outro SO. Também por isso não há sentido em ajudar um projeto como o Linux, por exemplo e, também, usar o mesmo como base.

2 - A segunda é sobre a eterna guerra de licenças. Como já mencionado, nós adotamos a licença MIT e não a GPL. Muitas pessoas questionam isso e acha que isso foi "errado" (para uma definição bem peculiar de "errado"). Por que adotar a licença MIT e não a GPL?

Muitas vezes a argumentação em torno da GPL vem acompanhada de uma argumentação sobre "liberdade". Pois o motivo de adotarmos a licença MIT é exatamente devido a liberdade. A licença diz, basicamente, você pode fazer o que quiser com esse código desde que mencione a origem. Isso inclui empacotar tudo e vender como um produto closed-source.

Muitas pessoas acham isso um problema e a nossa contra-argumentação é simples: o nosso projeto sempre será livre. Independente de alguém começar a comercializar uma versão fechada do mesmo, a nossa versão ainda vai estar ali. Como temos muita expertise no assunto, acreditamos que seria melhor para empresas trabalharem conosco no projeto em vez de simplesmente em sua versão própria. Isso pode ocorrer ou não mas estamos pagando pra ver.

Um vídeo muito interessante, sugerido pelo Bruno, pode ser visto aqui:

Meus sinceros agradecimentos ao Bruno, que nos cedeu seu precioso tempo para esta entrevista e ao leitor Harlley, por ter feito a “ponte” com a equipe do projeto. Para os mais “bravos”, a imagem VMWare disponível para download dá um gostinho e sempre há a possibilidade de se instalar diretamente no HD… e vamos torcer para que a versão 1.0 saia logo!

relacionados


Comentários