Autor: Luiz Piovesana, gerente de marketing da Sensedia
Em sua opinião, faria sentido se um restaurante que tem em seu cardápio o item “hambúrguer” abrisse processo contra outros restaurantes que também vendem hambúrgueres? Pois se essa analogia parece tanto simplória quanto óbvia, o caso Oracle vs. Google, a respeito de patentes sobre a API do Java, pode te surpreender. Esse foi um dos argumentos feitos para contextualizar o que são APIs e reimplementações de software para um júri de leigos. Um júri cuja decisão pode colocar em risco o futuro do desenvolvimento de software no mundo.
Em 2007, o Google lançou sua primeira versão do Android, com a reimplementação de partes do código fonte da linguagem de programação Java. Essa linguagem é proprietária, e naquele momento, era de posse da Sun Microsystems. Três anos depois, a Sun foi adquirida pela Oracle. Com isso, todos os direitos relacionados ao Java. Meses depois, foi aberto o processo da Oracle contra o Google, por infração de patentes das tecnologias Java. Desde 2010, já foram tomadas três decisões judiciais nesse processo: primeiro, a favor do Google, e em seguida, da Oracle. Em novo processo, aberto em maio de 2016, o Google ganhou novamente. A última decisão foi em maio e, neste mês, os advogados da Oracle voltaram a entrar com pedido para um novo julgamento. Será mais uma fase da batalha, que será debatida a divulgação de informações financeiras confidenciais feitas pela advogada da Oracle em janeiro – o Google quer que sejam aplicadas sansões a ela.
O contexto do processo
Trocando em miúdos, o processo original era por infração de patentes. A Oracle alegava que o Google havia utilizado a linguagem Java indevidamente, para criar o sistema Android, com base em lucro. É claro que o Google não copiou as APIs do Java e colocou tudo dentro do Android. O que eles fizeram na criação do sistema operacional foi reimplementar a API, usando uma forma semelhante, com protótipos parecidos para os métodos e uma lógica e estrutura geral que seguia a mesma linha.
Assim, qualquer um que soubesse Java automaticamente saberia programar para Android também. A compatibilidade de ferramentas e recursos também seria facilitada. Na época em que o Android começou a ser desenvolvido, o CEO da Sun Microsystems, Jonathan Shwartz, parabenizou o Google pelo sistema, dizendo que era um grande passo para a comunidade, já que o Java era livre e gratuito para o uso. Isso ocorreu em 2007, anos antes de a Sun ser comprada pela Oracle. Porém, alguns meses depois da aquisição, o processo foi aberto. No total, a Oracle afirmava que havia 37 diferentes infrações às APIs do Java, incluindo a estrutura e implementação dele. Também estava evidente que a estratégia da Oracle em relação ao Java já era bem diferente da forma com que a Sun encarava sua linguagem.
E por que devo me importar com isso?
A vitória da Oracle poderia abrir precedentes para casos bastante complicados no mundo do TI. E isso poderia afetar de forma imprevisível toda a economia mundial. Afinal de contas, reimplementações de APIs são comuns desde que APIs existem. A própria Oracle já lançou mão dessa estratégia de engenharia de software, tendo produtos com reimplementações do SQL (linguagem para buscas em bancos de dados), vindas de código originalmente criado pela IBM. Até as próprias APIs do Java, criadas pela Oracle, são reimplementações de linguagens de programação como Perl 5 e C.
O resultado favorável à Oracle poderia dar o poder de limitar, através de processos judiciais, diversas startups e projetos open source, com a liberdade de derrubar tais projetos. Há vários outros exemplos, que foram usados pelo Google em sua defesa, para indicar que essa é uma prática comum e recorrente no mercado, e que sua proibição seria uma quebra de paradigmas nunca antes vista, colocando em risco toda a estrutura de TI conhecido. Se reimplementações são infrações às patentes de APIs, toda a indústria de tecnologia e API passará a ter as mãos sujas. Dificilmente os grandes negócios sobreviveriam.
A inovação possivelmente seria interrompida ou teria sua velocidade fortemente reduzida, no que envolve diferentes implementações e integrações entre software. Startups e projetos de código aberto provavelmente não teriam a inércia necessária para saírem do papel. O futuro do software e de muito da economia pode depender disso. No primeiro julgamento no circuito Federal de Tribunais, a decisão foi a favor da Oracle. E agora? Só o futuro dirá. Mas por ora, é bem possível que a relevância de Java no cenário de desenvolvimento diminua, e já vemos alguma movimentação em direção a outras linguagens, sendo o Node.js uma delas.
Outra tendência é que as APIs tenham seus termos de uso e condições jurídicas bem esclarecidas. Antes a dúvida pairava somente se o fornecedor da API poderia mudar a interface dela sem avisar, causando uma quebra do seu código. Agora, é necessário também avaliar mais cuidadosamente se você realmente pode usar essa API, sob quais regras e para qual finalidade.
Luiz Piovesana é gerente de marketing da Sensedia