Desde o começo do Java, a Sun Microsystems estabeleceu que o sucesso da tecnologia só seria possível se a evolução do Java ocorresse de forma alinhada às necessidades da comunidade. Dessa forma a Sun instituiu o Java Community Process (JCP), com objetivo de envolver a comunidade e concentrar os esforços nessa evolução. Hoje, 14 anos depois de sua formação, o JCP continua vivo, bem e procurando simplificar os processos para atrair novos membros.
O Comitê Executivo (Executive Committee) do JCP é o grupo que efetivamente lidera o desenvolvimento e a evolução das tecnologias Java dentro do JCP. Atualmente existem dois comitês: um é responsável pelo Java SE/EE e outro pelo Java ME. Existe um plano para unificar esses comitês, a ideia é que isso ocorra nos próximos dois anos.
Normalmente um comitê é composto por dezesseis membros, incluindo empresas, grupos de usuários Java e pessoas físicas. Das empresas que forma o JCP, algumas são fornecedoras de tecnologia como Oracle, IBM e Nokia, enquanto outras são consumidoras como o Credit Suisse e Goldman Sachs, por exemplo. Em relação a grupos de usuários Java, o Brasil marca presença com o SouJava. Além do grupo brasileiro, o grupo de usuário Java de Londres também faz parte do JCP.
Qualquer empresa, organização ou pessoa física pode colaborar com o JCP. Não é necessário estar vinculado ao Comitê Executivo. Basta assinar um Acordo de Participação de Especificações Java (JSPA) para se tornar um membro do JCP. Uma vez que o acordo tenha sido estabelecido, o solicitante passa a ter o direito de liderar ou participar de uma Requisição de Especificação Java (JSR).
A JSR é o caminho dentro JCP para introduzir uma nova tecnologia no ecossistema Java. Uma JSR também pode ser definida com o propósito de revisar um processo interno do JCP ou sugerir mudanças em uma tecnologia Java que já existe. Exemplos de JSRs ligadas à evolução das tecnologias Java são: JSR 335 (Projeto Lambda), JSR 310 (nova API para Data e Hora) e JSR 337 (versão 8 da linguagem Java). A proposta de unificar os dois comitês executivos foi estabelecida pela JSR 355.
Normalmente uma vez por mês ocorre a reunião do comitê. Essas reuniões são hospedadas pelos membros em diferentes cidades ao redor do mundo. Alguns dos participantes comparecem à reunião presencialmente, mas a grande maioria participa via teleconferência. No site do JCP é possível acompanhar o calendário com reuniões do comitê por ano.
Um documento Regras Permanentes do Comitê Executivo JCP, ratificado em outubro de 2011, dita as regras e responsabilidades na participação do comitê. Por exemplo, a falta em duas reuniões consecutivas, seja presencial ou via teleconferência, causa a perda da participação em votos. O membro pode ter sua participação revogada do comitê, caso falte a cinco reuniões consecutivas ou não participe de dois terços de reuniões anuais.
Um tópico importante para as próximas reuniões do JCP será a JSR 358 ("Uma grande revisão para o JCP"). O objetivo dessa JSR é revisar o processo do JCP com o propósito de simplificar a organização como um todo, tornando o processo de evolução do Java mais acessível a todos os membros. O primeiro candidato a sofrer modificações é o JSPA.
O JSPA tem sido frequentemente alvo de reclamações, por ser um documento legal que muitas vezes intimida interessados em colaborar com o JCP de forma casual. Vale a nota que o JSPA foi um dos motivos pela saída da Fundação Apache, e outros membros importantes, do Comitê Executivo do JCP. Veja mais detalhes na entrevista com Patrick Curran sobre o JCP para o InfoQ.com.
Atualmente existem três perfis de membros interessados em colaborar com o JCP:
- Membro casual, ativo na comunidade, participando no ajuste de eventuais bugs;
- Membro com interesse ao voto, mas que não pretende liderar a especificação;
- O líder da especificação.
A proposta é reformular o JSPA em três documentos:
- Termo de uso cobrindo a participação de participantes casuais;
- Termo de participação simples para aqueles que querem votar e ter o direito de atuar no Expert Group da JSR;
- Outro termo completo, a ser utilizado pelos líderes de especificações.
A próxima reunião do JCP ocorre em Praga, na República Tcheca, nos dias 11 e 12 de setembro.