Revista Do Linux
 
  
  
 

  Capa
  Evento
  Serviço Público
  Corporativo
  Tutorial ECF Remota
  Tutorial Xdm
  Software
  Entrevista
  Estudo de Caso
  Distro
assinantes
 

A Apache Foundation

Conheça um pouco da história e os projetos da organização de desenvolvimento de software livre mais influente na atualidade

A afirmação feita no subtítulo não é exagero: a Apache Foundation tem hoje uma influência tão grande sobre a indústria de informática, que conseguiu dobrar algumas das maiores empresas do setor, incluindo a Sun e a Oracle, membros do Java Community Proccess, de modo a tornar possíveis implementações abertas e certificadas dos padrões para a plataforma Java.

Formalmente batizada de Apache Software Foundation (ASF), sua finalidade é "fornecer amparo legal, financeiro e organizacional para os projetos de softwares relacionados com o Apache, formada como uma organização baseada em associação individual, sem fins lucrativos, que visa a garantir a continuidade dos projetos, além da participação dos colaboradores individuais, agregando contribuições de propriedade intelectual e suporte financeiro, além de garantir proteção legal aos participantes de projetos de software livre".

Além do Apache HTTPd Server (popularmente conhecido apenas como "Apache"), o software que deu origem à fundação e que há anos domina o mercado de servidores web, a Apache Foundation é responsável por outros projetos importantes como o PHP, Tomcat (Java para a web) e diversas tecnologias relacionadas com XML e WebServices.

Origens

É curioso saber que a Apache Foundation só surgiu de fato em 1999, anos depois de o Apache ter se tornado o servidor web mais popular. Antes havia o Apache Group (desde 1995), a comunidade de desenvolvedores do Apache e outros projetos relacionados, mas sem existência jurídica. Era apenas um grupo de hackers (no sentido clássico, o de aficionados por programação de computadores) que compartilhavam seus trabalhos sob uma licença estilo BSD.

O "empurrãozinho" que faltava veio da IBM, quando decidiu descontinuar seu próprio projeto de servidor web e incorporar o Apache à linha de produtos Websphere. Como grande corporação, era imprescindível ter garantias legais quanto a procedência e continuidade da tecnologia, e a empresa acabou fornecendo auxílio legal para a incorporação da fundação. Mas a IBM teve que apresentar algo bem mais valioso (sob o ponto de vista da comunidade) para que a parceria fosse firmada: patches que tornavam o Apache mais rápido e estável na plataforma Windows.

Membros

Apesar da participação corporativa estar presente desde as origens do Apache Goup - grandes provedores web, além da Sun e IBM -, a Apache Foundation permanece uma "elite" baseada na participação de indivíduos e não de empresas, o que garante sua independência e fidelidade à comunidade de software livre. Os candidatos a novos membros devem ser convidados por um membro atual e são aceitos com base em uma votação pelos membros antigos.

A fundação descreve este processo como uma "Meritocracia", pois os membros são aceitos ou não de acordo com sua contribuição aos projetos da ASF, ou seja, de acordo com seus méritos individuais e não de acordo com o seu poder de persuasão, político ou financeiro. É claro que estes indivíduos podem agir de acordo com os interesses das empresas que os empregam (a ASF prefere dizer que eles podem ~Srepresentar~T as respectivas empresas), mas todos já provaram o seu valor para a comunidade antes de receberem poder de voto. Também existe o risco de conflitos de ego entre os membros, mas a discussão aberta entre eles costuma resolver estas questões.

A fundação possui uma mesa diretora, eleita anualmente por todos os membros, mas cada projeto mantido pela fundação tem um vice-presidente e é organizado de forma autônoma pela sua própria comunidade de desenvolvedores, que elege um PMC ou "Comitê de Gerenciamento do Projeto".

Como em todo projeto de software livre, qualquer um pode se inscrever nas listas de discussão, opinar enviando mensagens, registrar bugs ou interesse em novos recursos no GNATS ou então baixar o código-fonte e enviar seus próprios patches. Após um período de contribuições consistentes, o desenvolvedor pode receber acesso de escrita ao repositório CVS de um projeto, assinando um termo de compromisso com a ASF. A partir de então, o colaborador pode ser eleito pela comunidade para o PMC de algum projeto e quem sabe até ser convidado a se tornar um membro da fundação.

Em contraste com outros grandes projetos livres, como o kernel do Linux, não existe nos projetos da ASF uma figura central que aprove ou rejeite patches. Se um desenvolvedor tem acesso de escrita ao CVS, ele incorpora suas modificações imediatamente. Existe sim um coordenador de releases, cuja função é gerar novas versões estáveis a partir do código no CVS, garantindo que todas as mudanças foram revisadas (a partir dos logs), que todos os PRs (problem reports) importantes registrados no GNATS foram resolvidos e que todos os testes de regressão foram executados com sucesso. Ou seja, o controle de qualidade é realizado a posteriori, reconhecendo o fato de que se uma modificação criar problemas, eles serão reportados por outros usuários nas listas de discussão e o desenvolvedor original ou outro desenvolvedor fará as correções necessárias.

Ao contrário de outras fundações, os membros da ASF não estão sujeitos a nenhuma taxa ou anuidade, mas estão sujeitos a assumir algumas funções burocráticas da administração e manutenção da fundação em esquema de rodízio. As contribuições financeiras vêm principalmente de doações realizadas por indivíduos e empresas, pela venda de camisetas e por alguns contratos de desenvolvimento e consultoria entre a ASF e empresas como a IBM, e são inteiramente aplicadas na manutenção da infra-estrutura para os projetos.

Projetos

Hoje a Apache Software Foundation mantém os seguintes projetos, muitos dos quais, por sua vez, divididos em subprojetos, como mostrado na Tabela 1.

Dado o tamanho da fundação e da sua comunidade de usuários e desenvolvedores, foram também estabelecidos alguns projetos que não são de desenvolvimento de software propriamente dito, mas de suporte aos outros projetos e à própria fundação, veja na Tabela 2.

ASF e Outras Incubadoras

Observem que a ASF não possui uma área pública para cadastramento e início de novos projetos como o SourceForge, Tigris (ArgoUML, GEF) ou a própria Free Software Foundation, mantenedora do Projeto GNU, que oferece o Savannah. Não é o objetivo da ASF ser uma fonte de infra-estrutura para quaisquer projetos de software livre, e sim apenas para projetos focados especificamente na Web, de modo coerente com sua origem em torno do Apache httpd.

A ASF é um autêntico exemplo de como uma comunidade de usuários e desenvolvedores de software livre pode se organizar para defender os seus interesses e ao mesmo tempo interagir de forma produtiva com as grandes empresas do mercado. Hoje não há praticamente empresa alguma voltada para a web que não utilize um ou mais softwares desenvolvidos pela ASF, especialmente no mundo Java, o que é facilitado pela adoção de licenças estilo BSD pela maioria dos projetos, embora alguns deles adotem a GPL e LGPL.

Tabela 1
HTTP O popular servidor web que deu origem à ASF.
Ant Ferramenta de gerenciamento de configuração escrita em Java, semelhante ao make, porém, multiplataforma.
APR Apache Portable Runtime - base da versão 2.0 do Apache httpd server, é um framework extensível para a implementação de servidores para protocolos da Internet.
Avalon Framework e componentes reutilizáveis para o desenvolvimento de aplicações web em Java.
Cocoon Framework para publicação e transformação de documentos baseado em XML, baseado no Avalon.
Commons Componentes e bibliotecas reutilizáveis, para evitar a duplicação de esforços entre outros projetos da fundação.
DB Bibliotecas e rotinas para acesso a bancos de dados.
Jakarta Java em servidor, projeto que abriga softwares populares como o Tomcat (container web), Taglibs (JSTL e outras), Struts (framework MVC para aplicações web) e Jetspeed (software para portais).
James Java Apache Mail Enterprise Server - servidor POP, IMAP, SMTP e NNTP escrito inteiramente em Java.
Maven Ferramentas para gerenciamento de projetos escritas em Java.
Perl Construção de sites web dinâmicos em Perl, mantenedor do mod_perl.
PHP A popular linguagem de script de servidor.
TCL. Construção de sites web dinâmicos em TCL
WebServices Suporta Web Services desenvolvidos em Java, fornecendo implementações do SOAP e XML-RPC, além do framework Axis, que é a base do JBoss.NET (o JBoss em si não é um projeto da ASF).
XML Soluções XML para a Web, como os populares Xerces (parser) e Xalan (processador XSLT), além do Xindice, um banco de dados XML nativo.

Tabela 2
Incubator Guarda-chuva para a criação e incorporação de novos projetos na ASF, muitas vezes "promovendo" subprojetos já estabelecidos.
Conferences Organização de encontros entre os desenvolvedores e da grande conferência anual ApacheCon.
Foundation Administração da fundação em si e gerenciamento da infra-estrutura fornecida aos projetos, como servidores web, ftp, correio e cvs.

Como tudo começou

Em fevereiro de 1995, o servidor Web mais popular na Internet era o daemon HTTP de domínio público desenvolvido por Rob McCool no Centro Nacional para Aplicações em Supercomputação (NCSA), na Universidade de Illinois, em Urbana-Champaign. Contudo, o desenvolvimento deste servidor havia parado depois que Rob deixou o NCSA em meados de 1994, e muitos webmasters acabaram desenvolvendo suas próprias extensões e correções de bugs para o software, que precisavam de uma distribuição comum. Um pequeno grupo destes webmasters, em contato via e-mail, se organizou com o propósito de coordenar suas mudanças (na forma de patches). Brian Behlendorf e Cliff Skolnick criaram uma lista de discussão, um espaço para compartilhamento de informações e logins para os principais desenvolvedores em uma máquina localizada na Califórnia, com banda de conexão à Internet patrocinada pela HotWired. No final de fevereiro, oito dos principais contribuidores formaram a base para o grupo Apache original. Eles eram: Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau e Andrew Wilson, com contribuições adiconais de Eric Hagberg, Frank Peters e Nicolas Pioch

Usando o NCSA httpd 1.3 como base, eles adicionaram todas as correções de bugs conhecidas e melhorias interessantes que puderam encontrar, testaram o resultado em seus próprios servidores, e fizeram o lançamento da primeira versão pública (0.6.2) do servidor web Apache em abril de 1995. Coincidentemente, o NCSA retomou o desenvolvimento de seu servidor Web no mesmo período, e Brandon Long e Beth Frank da equipe de desenvolvimento do NCSA se juntaram à equipe em março como membros honorários, para que os dois projetos pudessem trocar idéias.

Após um extenso período de beta testing, ports para plataformas obscuras, nova documentação (escrita por David Robinson) e a adição de muitos recursos na forma de módulos, o Apache 1.0 foi lançado em primeiro de dezembro de 1995. Menos de um ano após a formação do grupo original, o servidor web Apache ultrapassou o NCSA httpd como o servidor web mais popular da internet, de acordo com estatísticas da Netcraft, e retém esta posição até hoje.

O nome Apache, ao contrário do que pode parecer à primeira vista, não tem nada a ver com tribos indígenas norte-americanas. Como as primeiras versões do Apache eram uma coleção de patches ("remendos") sobre o NCSA httpd, o software ficou conhecido como ~SA patchy server~T (um servidor ~Sremendado~T). De ~SA patchy~T para ~SApache~T, foi um pulo.

Fonte: About the Apache HTTPD Server - httpd.apache.org/ABOUT_APACHE.html

Para saber mais:
Página principal da Apache Software Foundation - www.apache.org
Sobre as mudanças no JCP obtidas pela ação da Apache Foundation - www.marketwire.com/mw/release_html_b1?release_id=39838
Como surgiu o Apache HTTPd Server - httpd.apache.org/ABOUT_APACHE.html
Sobre o funcionamento da ASF - www.apache.org/foundation/faq.html e www.apache.org/foundation/roles.html
Como contribuir com a ASF, inclusive como realizar doações - www.apache.org/foundation/contributing.html
Incubadoras de projetos de Software Livre - www.sourceforge.net, www.tigris.org e savannah.gnu.org


Fernando Lozano - fernando@lozano.eti.br


A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux