WirelessBRASIL |
|
WirelessBrasil --> Bloco Tecnologia --> TV Digital: Interatividade e Ginga --> Índice de artigos e notícias --> 2012
Obs: Os links originais das fontes, indicados nas transcrições, podem ter sido descontinuados ao longo do tempo
Leia na Fonte: IDGNow! / Blog Circuito de
Luca
[20/08/12]
Licença Java: pomo da discórdia do padrão de interatividade da TV digital -
por Cristina de Luca
Muito tem sido discutido nos fóruns especializados e nos grupos de trabalho do
Fórum do Sistema Brasileiro de TV Digital sobre a cessão do Java DTV, sem
cobrança de royalties para uso no Ginga e a cobrança pelo licenciamento dos
módulos Java TV e Java Virtual Machine (JVM).
A polêmica em torno do licenciamento do Java no seio do Fórum SBTVD acabou por
revelar uma questão preocupante: a completa ignorância de muitos desenvolvedores
a respeito. Uma grande parte da comunidade não entende exatamente como é o
modelo de licenciamento do Java.
Afinal de contas o Java é livre ou não? O Open JDK é GPL?
Bati um longo papo com Bruno Souza, o Java Man, diretor do grupo de usuários
SouJava, sobre essas e outras questões.
Na última década, a comunidade Java travou diversos embates com a SUN e,
posteriormente, com a Oracle, para garantir que o Java tivesse um modelo de
licenciamento claro e bem definido, eliminando riscos jurídicos por infrações de
patentes e propriedade intelectual.
Sim. O Java é GPL. O código fonte está disponível para livre uso, desde que
seguidas as regras da licença GPL.
Isso significa que para utilizar esse código é necessário licenciar todas as
modificações sob a mesma licença (GPL), por uma questão de reciprocidade. Esse
efeito viral da licença GPL costuma ser alvo de criticas, por supostamente
“contaminar” o código do produto, embora os defensores do software garantam que
não. Ser apenas uma forma de promover mais código livre.
Portanto, no âmbito do Ginga, quem quiser utilizar o OpenJDK, tem que aceitar
que modificações feitas na maquina virtual sejam disponibilizadas como GPL. As
empresas dizem que isso impede produtos comerciais, porque você não pode manter
proprietária as suas modificações. Mas é e sempre foi a regra do jogo, inclusive
para outros produtos usados pela indústria de recepção. Quem quiser manter
proprietária as suas modificações, pode pagar por uma licença que não seja a GPL.
Mas esse não é o pomo da discórdia no Fórum SBTVD. Nas discussões a respeito da
TV Digital, algumas vezes essa “crítica” de que Java não é completamente livre
aparece pura e simplesmente com o intuito de causar desinformação.
Todos concordam que se o desenvolvedor usar o código da Oracle (o OpenJDK), ou
aceita a licença gratuita ou paga pelo direito de usá-la.
A discórdia está relacionada a preocupações com valores de licenciamento,
controle do padrão pela Oracle, exigência de
certificação e tratamento discriminatório contra empresas brasileiras. Explico.
Segundo Bruno, a licença da especificação Java (JCP) garante acesso à
propriedade intelectual de dezenas de empresa que contribuíram para ela,
mediante a determinados critérios. A saber: que sua implementação do código seja
(1) completa e (2) compatível (tenha passado no TCK, o teste de
compatibilidade).
Portanto, no contexto do Ginga, todas as empresas interessadas em vender
implementações comerciais do middleware, conforme a arquitetura padrão definida
pelo Fórum SBTVD, referendada pela Associação Brasileira de Normas Técnica
(ABNT), são obrigadas a passar por esse processo de certificação.
É aí que está a principal critica ao uso do Java. Mesmo que o desenvolvedor não
use o código da Oracle, só tem direito à propriedade intelectual se passar no
TCK. Se “pagar a certificação”.
Qual o argumento do SouJava em defesa do Java nessa questão?
“Em geral para ter acesso à propriedade intelectual de uma especificação, o
desenvolvedor tem que negociar com cada empresa que tenha contribuído para sua
elaboração. Somente alguns poucos órgãos de padronização, como o W3C, exigem que
a propriedade intelectual seja disponibilizada royalty free. No caso do JCP,
existe um processo claro de como essa propriedade intelectual é fornecida”,
explica Bruno.
Para não correr nenhum risco, os desenvolvedores Ginga têm algumas alternativas.
Podem: (1) usar o projeto OpenJDK e passar no TCK gratuitamente, (2) criar sua
própria JVM (ou usar um projeto open source) a partir da especificação e passar
no TCK (que é cobrado) e com isso ter o direito de usar as patentes de
terceiros, (3) licenciar o código da Oracle (4) ou licenciar o código de
qualquer outra empresa que tenha uma JVM (são várias!), (5) não pagar nem passar
no TCK e licenciar as patentes de cada empresa que vier bater na sua porta.
Bruno lembra que as opções 3, 4 e 5 são realidade de qualquer tecnologia que o
desenvolvedor decida incluir no seu produto).
No caso do Ginga, há ainda que se considerar outra questão.
A preocupação com a cobrança de royalties pelos módulos Java usados no Ginga
levou o Fórum SBTVD a incluir na norma ABNT -NBR 15606-6 (pág.vii, 3o parágrafo)
o seguinte trecho:
*” O proprietário deste direito de patente assegurou à ABNT que está preparado
para negociar licenças sobre termos e condições razoáveis e não discriminatórias
com os solicitantes. Sobre isto, uma declaração do proprietário desta patente
está registrada com a ABNT. Informações podem sem ser obtidas com:*
*Oracle Corporation [...].
Isso porque, em tese, todas as JSRs obrigatórias no Ginga-J são certificadas
pela Oracle, exceto a JavaDTV. Isso conferiria a uma única empresa americana o
controle do tempo de lançamento dos produtos Ginga, além do poder de influenciar
nos preços. Esse controle pode dar a essa empresa o poder de não certificar. O
que, na prática, diminui a zero a possibilidade de comercialização dos produtos
Ginga não certificados, já que os clientes da empresa implementadora estariam
sujeitos a cobrança pelo uso de propriedade intelectual, o que seria inaceitável
para fabricantes de TV com marca consolidada no mercado.
Mas isso é uma falsa verdade, segundo Bruno. A certificação JCP não é “feita”
pela Oracle. A certificação é um teste (um software) que cada empresa roda
internamente. É a empresa que diz se seu produto passa ou não na certificação.
Não a Oracle. Quando falamos do TCK, o que o desenvolvedor está “pagando” é o
direito de executar esse teste, ou seja, a licença para ter o software de
testes.
A Oracle não tem como controlar alguém de lançar o produto, até porque não
existe nada que te impeça de lançar o produto sem passar na certificação, ou
mais ainda, a Oracle não pode te impedir e lançar o produto _mesmo_que_ você não
tenha licenciado o teste”, diz Bruno.
Tem mais. A certificação dá direito à propriedade intelectual, mas não é a única
forma do desenvolvedor ter direito a essa propriedade. “Você pode fazer sua
implementação com muito cuidado, sem infringir a propriedade intelectual!), e
portanto, uma disputa disso terá que ser feita na Justiça, e necessariamente
acontecerá após o lançamento do seu produto. Licenciar o TCK é a forma mais
fácil de você ter acesso à propriedade intelectual, mas não é a única.
Uma das discussões ainda em curso, hoje, no Fórum SBTVD (e que já se estende por
mais de 12 meses) é garantir regras mais claras, que garantam mais transparência
e agilidade no processo, assegurando de fato o atendimento não discriminatório
para todas as empresas implementadoras do Ginga por parte da Oracle.
Nesse ponto, Bruno lamenta o fato do Grupo SouJava estar alijado dos debates no
âmbito do Fórum SBTV, porque poderia ser mais efetivo em pressionar em
pressionar a Oracle a fornecer respostas e remodelar seus processos, qualquer
que sejam, já que o grupo tem de fato influência direta no desenvolvimento do
padrão Java e suas políticas de licenciamento (desde a época da Sun, e agora, na
Oracle), com assento no Comitê Executivo (EC) do Java Community Process.
“Nesses últimos anos, temos pressionado a Oracle para que as pendências em
relação ao andamento da TV Digital sejam resolvidas, mesmo sem conhecer os
detalhes do que esta sendo discutido no Fórum SBTVD. Com mais informações,
ficaria mais fácil continuar pressionando para sanar esses problemas”, argumenta
Bruno.
Na opinião do grupo SouJava, continuar pressionando a Oracle e o JCP para que
essa questão seja resolvida de maneira mais satisfatória é um caminho mais
estratégico para o pais do que tornar o Java opcional na especificação padrão do
Ginga (gráfico abaixo), como discute o Fórum SBTVD.
[Ver figura na fonte]
“Acredito que ter uma tecnologia de abrangência mundial, que nos dê a
possibilidade de uma segurança jurídica adequada, com base na licença GPL do
Java, que abra para as empresas brasileiras um importante mercado mundial e que,
na minha opinião, temos todas as condições de garantir que seja de uma forma não
discriminatória, é uma oportunidade muito grande para deixarmos escapar”,
argumenta Bruno.
Ainda mais quando a alternativa, que seria mudar as regras a essa altura, só
trará descrédito para todos os envolvidos, e só contribuirá para afastar o
desenvolvedor, que á quem mais precisamos atrair nesse momento se queremos que a
TV Digital realmente aconteça.”
Porque o SouJava insiste na tecnologia Java ser mantida no padrão Brasileiro de
TV Digital? Justamente porque a tecnologia Java não é controlada por uma única
empresa.
Porque as regras de certificação, os licenciamentos, as forma de utilização do
padrão, são claras, públicas e abertas.
Porque é exigência de tudo isso que os licenciamentos sejam não
discriminatórios.
Porque Java possui, não uma, mas múltiplas implementações livres.
Porque nenhum fabricante é obrigado a comprar uma JVM da Oracle, mas qualquer
das várias implementações oficialmente certificadas no mercado, gerando
competição.
Porque o processo de certificação é também claro e publicado.
E, em especial, porque empresas brasileiras podem participar em igualdade de
condições.
“Não temos ilusões e não consideramos que o processo de licenciamento Java seja
perfeito. Também não temos ilusão de que erros nunca aconteçam ou que
incompetência e má fé não existam. Ao contrário: é por isso que queremos um
processo que seja aberto, claro e que nos permita participar e fiscalizar.
Fazemos isso com a tecnologia Java hoje”, afirma Bruno.
Em um documento endereçado à comunidade Java, o grupo SouJava explica que muito
antes de fazer parte do padrão brasileiro de interatividade para TV Digital, a
tecnologia Java faz parte de celulares e do padrão BluRay. Diversos outros
padrões de TV Digital incluem Java. A maioria (talvez todos) os fabricantes de
aparelhos de televisão e de set-top-boxes fabrica celulares ou BluRays. Todos
esses fabricantes já possuem conhecimento em relação à máquina virtual Java,
possuem times internos ou contratam fornecedores que implementam máquinas
virtuais Java.
O ecossistema Java garante que não existe apenas um fornecedor de máquina
virtual Java. Existem dezenas de implementações da JVM, muitas para o mercado
embarcado. Fabricantes de televisão podem licenciar ou comprar a tecnologia de
vários fornecedores, e não fiacarem “presos” a um único fornecedor, gerando
competição no mercado. Apenas um exemplo: no passado, a HP gerou bastante
interesse ao decidir implementar sua própria JVM para o mercado embarcado, por
achar que a implementação da Sun era muito cara. E não foi a única.
Reproduzo a seguir o trecho final deste documento que explica, detalhadamente, a
última pergunta que fiz ao Bruno: quais seriam os prejuízos para o mercado se o
Ginga-J fosse considerado opcional no padrão de interatividade?
“Algumas empresas e fabricantes de TVs já embarcam Ginga completo com Ginga-J e
o número de TVs já ultrapassou 3 milhões de unidades. Foi publicado neste ano
pelo governo federal o PPB que torna obrigatório o Ginga e Ginga-J a partir de
2013 em 75% das TVs LCDs e Plasma e em 90% a partir de 2014. A comunidade
desenvolvedores, incluindo aí grupos de usuários Java, empresas e universidades,
realizou um manifesto referente à consulta pública, manifestando apoio à
incorporação do Ginga no Processo Produtivo Básico dos televisores de LCD, com
centenas de desenvolvedores tendo enviado cartas ao Ministério do
Desenvolvimento, Industria e Comércio Exterior.
Isso é uma pequena mostra de que a comunidade de desenvolvedores, empresas,
universidades e o próprio governo tem investido desde que o padrão foi
anunciado.
Mas pior do que a perda desse investimento, é a incerteza. Se hoje abrimos mão
de uma conquista importante, que já tem dois anos, e que foi apoiada por
desenvolvedores de todo o país, em vez de resolvermos o problema e negociarmos
uma saída estaremos abrindo espaço para que outros descontentes criem mais
incerteza. Tudo isso só ajuda a reduzir a importância, a qualidade, o respeito
conquistado pelo Fórum SBTVD, e a confundir e adiar o mercado de TV Digital
brasileiro.
Essa incerteza só ajuda a desmotivar aquele a quem mais queremos conquistar, o
desenvolvedor. Com o Ginga-J sendo retirado do padrão, que garantia daremos para
o desenvolvedor que, após um novo investimento, algo que ele use no
desenvolvimento de aplicações também não deixe de ser suportado? A incerteza só
prejudica a todos.”