Open-source Java: Who gives a shit?
A revisão dos termos de licenciamento do Java, para facilitar a sua inclusão nas distribuições de Linux, despertou novamente o debate sobre se este deve, ou não, ser tornado verdadeiramente open-source.
A anterior versão da licença não permitia distribuir o JRE/JDK juntamente com outras implementações, nem na ausência de uma aplicação Java de "maior valor" (monetário, parece). A nova versão elimina a segunda restrição e transforma a primeira na proibição de combinar a implementação da Sun com outras implementações concorrentes.
Parece-me perfeitamente razoável... Mas alguns consideram estas alterações insuficientes, e o Java Community Process (JCP) como sendo demasiado fechado para se fazer passar por um modelo de desenvolvimento open-source.
Mas, na verdade, quem é que quer um Java open-source? Isso é assim tão importante? Traz algum benefício tangível para os utilizadores e developers?
Quem tiver interesse em contribuir para o desenvolvimento do Java encontra facilmente o código-fonte disponível, e pode participar no JCP. No entanto, não pode distribuir versões modificadas...
Mas o Java é Compile Once, Run Anywhere, e a proliferação de versões ligeiramente modificadas seria um brutal pontapé no escroto desta importantíssima característica.
É verdade que o desenvolvimento de implementações alternativas sempre foi possível, e que se poderia evitar a fragmentação usando a mesma táctica que hoje é usada: definindo o que é o verdadeiro Java, e o que é apenas um sucedâneo.
Para evitar a confusão, qualquer versão modificada da implementação da Sun poderia simplesmente ser proibida de usar o nome "Java" e toda e qualquer imagética a ele associada.
No final, estariamos na mesma situação em que estamos hoje, onde apenas o verdadeiro Java interessa e todas as implementações livres são consideradas irrelevantes. Portanto, what's the point?
Entretanto, os zelotas podem continuar a tentar convencer as pessoas de que o GCJ/Classpath é que é bom, porque é livre e tal... como se isso fosse argumento suficiente*.
* Há alguém - no seu perfeito estado mental - a usar o GCJ para alguma coisa a sério?
A anterior versão da licença não permitia distribuir o JRE/JDK juntamente com outras implementações, nem na ausência de uma aplicação Java de "maior valor" (monetário, parece). A nova versão elimina a segunda restrição e transforma a primeira na proibição de combinar a implementação da Sun com outras implementações concorrentes.
Parece-me perfeitamente razoável... Mas alguns consideram estas alterações insuficientes, e o Java Community Process (JCP) como sendo demasiado fechado para se fazer passar por um modelo de desenvolvimento open-source.
Mas, na verdade, quem é que quer um Java open-source? Isso é assim tão importante? Traz algum benefício tangível para os utilizadores e developers?
Quem tiver interesse em contribuir para o desenvolvimento do Java encontra facilmente o código-fonte disponível, e pode participar no JCP. No entanto, não pode distribuir versões modificadas...
Mas o Java é Compile Once, Run Anywhere, e a proliferação de versões ligeiramente modificadas seria um brutal pontapé no escroto desta importantíssima característica.
É verdade que o desenvolvimento de implementações alternativas sempre foi possível, e que se poderia evitar a fragmentação usando a mesma táctica que hoje é usada: definindo o que é o verdadeiro Java, e o que é apenas um sucedâneo.
Para evitar a confusão, qualquer versão modificada da implementação da Sun poderia simplesmente ser proibida de usar o nome "Java" e toda e qualquer imagética a ele associada.
No final, estariamos na mesma situação em que estamos hoje, onde apenas o verdadeiro Java interessa e todas as implementações livres são consideradas irrelevantes. Portanto, what's the point?
Entretanto, os zelotas podem continuar a tentar convencer as pessoas de que o GCJ/Classpath é que é bom, porque é livre e tal... como se isso fosse argumento suficiente*.
* Há alguém - no seu perfeito estado mental - a usar o GCJ para alguma coisa a sério?
Deixa-me fazer a mesma pergunta que tu fizeste mas de forma mais directa, mas porque raio de carga de água é que o Java tem de ser Open-Source?
As condições da Sun apenas prejudicavam a própria Sun, porque as distribuições viam-se "proibidas" de incluir software feito em java, por causa da não puderem incluir a VM.
Por
Marco, em 20 Maio, 2006 20:10
Exacto, e daí as alterações. A Sun tem todo o interesse em ver o Java disseminar-se o mais possível (especialmente agora que compete em força com o .NET), ao mesmo tempo que nao tem qualquer interesse em ver o Java fragmentar-se (não só por si, mas porque os utilizadores/developers também não querem ver isso a acontecer).
Por
Carlos Rodrigues, em 20 Maio, 2006 20:30
Qual é realmente o problema da re-implementação do standard da Sun? O facto de haverem implementações alternativas do mesmo standard é extremamente benéfico, no meu ponto de vista.
Quanto ao Java ser Open-Source (não será mais a questão de ser GPL?...), sinceramente também terá a ganhar algo! Nem que sejam pessoas de borla no desenvolvimento. Mas há pessoas que discordam do modelo do JCP...
Falavas dos forks, mas eu não me lembro assim de muitos projectos grandes (licenciados com a GPL) a terem forks... Quer dizer... Talvez o SambaTNG... Onde é que isso pára realmente? Por isso o perigo dos forks é assim uma fábula um pouco triste. A Sun quer é manter todo o controlo sobre a plataforma, e isso é justo porque foram eles que a criaram!
Por
Ricardo Ramalho, em 21 Maio, 2006 20:51
As reimplementações do Java não têm qualquer problema, desde que sejam totalmente compatíveis. Até aqui nenhuma atingiu a paridade com a implementação da Sun, e por isso são ignoradas.
Quanto aos forks, não é preciso que existam forks para haver fragmentação, basta as distribuições de Linux começarem a fornecer versões com mais este ou aquele patch que ainda não foi aplicado upstream, tal como fazem com praticamente todos os outros pacotes que distribuem.
Por
Carlos Rodrigues, em 21 Maio, 2006 21:18
A mim começa-me solenemente a irritar o facto de que quem mais reclama é quem nunca usou Java para nada. Este tipo de gentinha não percebe puto da plataforma nem as vantagens que oferece e muito menos o grande perigo que o Carlos menciona que é a aplicação de patches nas distros que ainda não foram aceites no upstream.
Basicamente, passava a haver o Java da RedHat que é incompatível com o de toda a gente (veja-se a história do GCC/glibc na RH), o Java da Novell, etc etc etc.
Agora alguém me diga, isto benificia quem mesmo? Nem developers e muito menos os utilizadores. E o grande forte do Java não são os utilizadores caseiros, são as empresas e se lhes tiram o tapete do chão, com picuinhisses, então podem começar a tocar a marcha fúnebre.
Por
CPinto, em 22 Maio, 2006 13:22
No final, estariamos na mesma situação em que estamos hoje, onde apenas o verdadeiro Java interessa e todas as implementações livres são consideradas irrelevantes. Portanto, what's the point?
Heh... desta não estava à espera. Essa pergunta é comparável a "What's the point in Free Software?".
Eu acho que a Sun chegou ao ponto em que tinha que decidir entre morrer ou fazer algo de radical. Apanhar o combóio do Free Software pode não ser uma coisa assim tão disparatada quanto isso. Especialmente tendo em atenção o Mono e o .Net. O que eles fizeram para já foi tentar ter um pé dentro do combóio e outro no chão seguro onde detém o controlo. Será o suficiente para terem sucesso? Não sei, nunca experimentei acrobacias desse género. A minha opinião é que convem esclarecer bem se quero ficar em terra ou dentro do combóio quando este estiver em andamento. Ficar a meio pode ter consequências indesejadas :-P
Por
Anónimo, em 25 Maio, 2006 13:56
"Especialmente tendo em atenção o Mono e o .Net."
Batendo mais uma vez na tecla do "Compile Once, Run Anywhere", o Mono é tão irrelevante nesta batalha "Java vs .NET" quanto o GCJ.
O Mono tem o Tomboy, o Beagle e mais umas quantas aplicações inconsequentes, e não tem maturidade nem garantia de compatibilidade suficiente para as empresas olharem para a plataforma .NET como a escolha acertada no caso em que a plataforma de deployment poderá não ser Windows. Neste caso escolhem o Java, exactamente porque o controlo da Sun lhes dá essa garantia.
"What's the point in Free Software?"
É uma boa pergunta, e uma ideia para um post top-level. :)
Por
Carlos Rodrigues, em 25 Maio, 2006 15:16
Não sou ninguém de especial para dar conselhos seja a quem for... Trabalho em Sistemas SIG totalmente em .NET 1.1... Decidi por brincadeira "portar" as coisas para o Mono. E... funcionaram na perfeição!
E é uma aplicação GRANDE acredita! Portanto, e digo-o com conhecimento de causa, o Mono é para ter em conta, e não é nada de inconsequente nos dias que correm. Não menosprezes o trabalho do Icaza porque já faz bem mais do que a maioria das pessoas pensam...
Por
Ricardo Ramalho, em 26 Maio, 2006 21:00