The road to GNOME 3.0
Autor original: Nathan Willis
Publicado originalmente no: lwn.net
Tradução: Roberto Bechtlufft
A versão 2.0 do ambiente de desktop GNOME foi lançada em junho de 2002, e estabeleceu rapidamente um ciclo de lançamentos de versões estáveis a cada seis meses. Agora a equipe do GNOME rascunhou um plano para a versão 3.0, que deve ser lançada daqui a dois ciclos, em março de 2010. Estão nos planos algumas poucas mudanças que poderão ser percebidas pelos usuários, além de uma quantidade bem maior de refinamentos nas dependências, nos vínculos de linguagens e na estrutura do que constitui o núcleo do GNOME.
Vincent Untz enviou um documento de planejamento à lista de discussão de desenvolvimento do GNOME no dia 2 de abril, delineando as questões mais importantes e os planos da equipe. Obviamente a discussão ainda está em andamento, mas a ideia básica consiste de três componentes: novas tecnologias que irão afetar diretamente a experiência de usuário, mudanças estruturais nos módulos e conjuntos de módulos que definem o GNOME e maneiras de promover o GNOME visando aumentar sua comunidade.
O Zeitgeist e o Shell
As duas maiores mudanças tecnológicas voltadas para o usuário no GNOME 3.0 são o GNOME Shell e o GNOME Zeitgeist.
O GNOME Shell é uma nova camada do desktop que vai lidar com a exibição das janelas dos aplicativos, notificações e outros objetos. A ideia é que ele assuma o lugar do GNOME panel e do gerenciador de janelas, combinando as duas funções em um único elemento. O GNOME Shell usará o Clutter (que é baseado no OpenGL) para cuidar da renderização, e será escrito principalmente em Javascript. Owen Taylor explicou em seu blog que a opção pelo Javascript diminuirá a barreira de entrada para os autores de applets. O GNOME Shell será uma opção na versão estável do GNOME 2.28, marcada para sair em setembro de 2009.
O GNOME Zeitgeist é um sistema de gerenciamento de arquivos não hierárquico. Em vez de encontrar os arquivos com base em sua localização no sistema de arquivos, o Zeitgeist fornece diversas interfaces alternativas: um calendário indicando a data do último acesso, um sistema de favoritos fácil de usar, tags e filtros para o tipo de conteúdo. Há outros pontos de entrada em desenvolvimento, como a inclusão de comentários e o reconhecimento de localidades (por exemplo, “arquivos que eu abri pela última vez quando estava em Barcelona”).
Sobre as bibliotecas
Os desenvolvedores provavelmente estarão mais interessados nas mudanças na plataforma em si, como a exclusão de velhas bibliotecas e a inclusão de novas, além de possíveis mudanças nos conjuntos de módulos do GNOME.
De acordo com Andre Klapper, várias bibliotecas obsoletas serão removidas na versão 3.0, como o servidor de som esound, a camada do sistema de arquivos libgnomevfs, a biblioteca de gráficos 2D libart_lgpl e a biblioteca de impressão libgnomeprint. Serão introduzidas algumas novas bibliotecas, como o Clutter, o GeoClue para cuidar do reconhecimento de localidades e a libchamplain para renderizar mapas com facilidade. Também há a ideia de se criar uma área temporária para abrigar bibliotecas e componentes que aparentem estar rumando para o suporte total em uma futura versão do GNOME, mas que ainda estejam sofrendo alterações na API ou na ABI. O exemplo chave é o GStreamer, que é muito usado e conta com um tremendo suporte da comunidade do GNOME, mas continua passando por um desenvolvimento acelerado. O projeto também espera encorajar os desenvolvedores a aumentarem o uso de dependências que não sejam parte do GNOME, como o D-Bus e o Avahi.
Devem haver mudanças mais sutis na forma como o GNOME é empacotado. O esquema atual, que já vem de longa data, divide o código em “conjuntos de módulos”, conforme explicam Untz e Lucas Rocha. Cada conjunto contém bibliotecas e aplicativos para um perfil de uso específico: desktop, móvel, ferramentas para desenvolvedores, vínculos de plataforma e por aí vai. Existe a preocupação de que os conjunto de módulos atuais possuam divisões desnecessárias. Untz observou que o conjunto de módulos para desenvolvedores (que contém os vínculos do C) deve ser combinado ao módulo de vínculos de plataforma (que contém os vínculos das outras linguagens); mantê-los separados passa a ideia de que o C tem a benção do projeto, e as outras linguagens não.
Outro problema é que os conjuntos de módulos foram aos poucos se tornando muito rígidos ao longo dos lançamentos das versões 2.x, não abrigando mais todos os aplicativos da comunidade GNOME e, talvez sem que haja essa intenção, passando a mensagem de que alguns aplicativos sejam “oficiais” e outros não.
Untz e Rocha citaram vários exemplos nos quais dois ou mais aplicativos excelentes de um mesmo tipo parecem competir, incluindo o Rhythmbox e o Banshee, o Empathy e o Pidgin e o gThumb e o F-Spot. Se o projeto escolher incluir um deles no módulo para desktop, irá inadvertidamente ofender o outro, e a intenção não é essa. “Sou da opinião de que deveríamos ter um conjunto bem pequeno de módulos para o ‘núcleo do desktop’, que conteria aquilo que nós compilamos e empacotamos ‘oficialmente’, e teríamos um processo separado de certificação de aplicativos ‘em conformidade com o GNOME'”, explica Rocha. Ele acrescenta:
“E ainda tem o fato de podermos criar uma ‘marca’ que possa ser reconhecida facilmente pelos usuários: se é um aplicativo do GNOME, então é bom”, acrescenta Untz. Os dois concordaram que o projeto deve tomar algumas medidas para ser mais hospitaleiro em relação a projetos e contribuidores externos.
Promoção
O terceiro foco da versão 3.0 está em uma melhor promoção do GNOME. É certo que a reorganização dos conjuntos de módulos vai ampliar a comunidade e atrair mais desenvolvedores, mas como observa Untz, os desenvolvedores são apenas um dos três públicos alvo. Os outros são os usuários e os fornecedores – um grupo que inclui as distribuições Linux e os fabricantes de dispositivos móveis.
Untz acha que nos últimos anos o projeto não apresentou uma “mensagem cristalina”. A mensagem é boa no que se refere à usabilidade, à acessibilidade e à internacionalização, mas não é tão coerente na apresentação da plataforma do desktop GNOME como um todo.
O problema pode ser identificado de maneira clara, mas não é tão fácil determinar como lidar com ele. O GNOME é um projeto grande, mas está no meio do caminho – não é um único aplicativo que um usuário possa experimentar com uma simples instalação de pacote, nem é um sistema operacional completo que forneça uma solução completa. O diretor executivo da GNOME Foundation, Stormy Peters, observou que a vasta maioria dos usuários do GNOME usa o ambiente como cortesia de uma opção de sua distribuição Linux na hora da instalação. “Sendo assim, se um usuário tem alguma pergunta sobre um recurso ou aplicativo do GNOME e procura informações na internet, ele provavelmente vai parar nas páginas do GNOME ou em um site de um distribuidor qualquer (que não necessariamente é o da distribuição que ele usa). Queremos estar prontos para essas pessoas.”
O esforço promocional vai acarretar a reformulação do site gnome.org e um trabalho coordenado da equipe de marketing do GNOME. Untz resumiu o desafio dizendo que “a parte mais difícil (definir os objetivos) já foi feita. Agora é só alcançar esses objetivos, e ir além, se pudermos.”
Só o começo
Com dois ciclos de lançamento pela frente, a discussão está apenas começando. Várias outras alterações podem ser incluídas no GNOME 3.0, incluindo a substituição do antigo sistema de configuração gconf pelo dconf, e uma ênfase em tecnologias de “desktop social” como o framework Telepathy.
Rocha e Ken VanDine esperam que o ciclo da versão 3.0 amplie a comunidade do GNOME. Rocha gostaria de abrir mais espaço para experimentações, e VanDine acrescenta que gostaria de ver a infraestrutura do projeto GNOME (como o git e o acesso ao bugzilla) ser aberta aos desenvolvedores individuais, para que eles possam criar suas próprias ramificações, propor fusões (merges) e participar.
O que quer que aconteça, Peters está confiante de que será um reflexo dos desejos da comunidade do GNOME. “Pela minha perspectiva, o interessante é como tudo isso é feito de maneira aberta. Antes mesmos dos planos serem concluídos, estamos nos aproximando da comunidade do GNOME, de nossos parceiros, das distribuições e até dos usuários para ouvir as opiniões de todos e envolvê-los no processo tanto quanto eles desejarem. É provável que recebamos muitas opiniões contrárias ao longo do processo (isso faz parte de um bom debate), mas o produto final será ainda melhor graças a elas”. Os integrantes da equipe estão documentando o processo publicamente; você pode acompanhar os planos conforme eles se desenvolvem no wiki do projeto GNOME.
Créditos a Nathan Willis – lwn.net
Tradução por Roberto Bechtlufft <roberto at bechtranslations.com>
Deixe seu comentário