Veredito parcial no caso Oracle vs. Google a respeito do Java x Android

[quote=Longino][quote=andre_salvati]

Não tenha dúvida. A estratégia ambiciosa da Oracle tá ferrando o Java e todo mundo que trabalha com Java.[/quote]

Não vejo como versões quebradas do Java ajudam alguém. Não quero ter que desenvolver uma aplicação para Java da Oracle e outra para Java do Google.

Daqui a pouco estaremos assim como o C# e o Mono. Você precisa desenvolver especificamente ou para Windows, utilizando as APIs da Microsoft, ou para Linux usando o Mono e GTK#.[/quote]

Não. Se você usar as apis do dotnet em si é completamente portável. Inclusive winforms2. A parte proprietária da microsoft que são algumas bibliotecas dela não.

Júri decide: Google copiou código proprietário para usar no Android, mas só um pouquinho

o titulo dessa noticia me fez pensar em um advogado do google falando: “Foi sem querer querendo…”

[quote=maior_abandonado]Júri decide: Google copiou código proprietário para usar no Android, mas só um pouquinho

o titulo dessa noticia me fez pensar em um advogado do google falando: “Foi sem querer querendo…”[/quote]

Me parece que o que foi decidido parcialmente foi que o método rangecheck(com super 9 linhas) havia sido copiado, em seu testemunho Josh Block(que foi quem criou o metodo, na epoca da SUN), disse que ele é bem simples e qualquer recém formado tem capacidade de faze-lo, disse tambem que após constatado ele foi removido, e ja não consta nas novas versões do android(não sei a partir de qual versão)

[quote=fredferrao][quote=maior_abandonado]Júri decide: Google copiou código proprietário para usar no Android, mas só um pouquinho

o titulo dessa noticia me fez pensar em um advogado do google falando: “Foi sem querer querendo…”[/quote]

Me parece que o que foi decidido parcialmente foi que o método rangecheck(com super 9 linhas) havia sido copiado, em seu testemunho Josh Block(que foi quem criou o metodo, na epoca da SUN), disse que ele é bem simples e qualquer recém formado tem capacidade de faze-lo, disse tambem que após constatado ele foi removido, e ja não consta nas novas versões do android(não sei a partir de qual versão)[/quote]

Isso que me leva a pensar que com os testemunhos do Josh Block, Jonathan Schwartz e essa turma toda da falecida SUN testemunhando contra o processo a coisa fica bem melhor pro lado do Google.

[quote=fredferrao][quote=maior_abandonado]Júri decide: Google copiou código proprietário para usar no Android, mas só um pouquinho

o titulo dessa noticia me fez pensar em um advogado do google falando: “Foi sem querer querendo…”[/quote]

Me parece que o que foi decidido parcialmente foi que o método rangecheck(com super 9 linhas) havia sido copiado, em seu testemunho Josh Block(que foi quem criou o metodo, na epoca da SUN), disse que ele é bem simples e qualquer recém formado tem capacidade de faze-lo, disse tambem que após constatado ele foi removido, e ja não consta nas novas versões do android(não sei a partir de qual versão)[/quote]

Sim o próprio confessou até mesmo antes de ir pro juri. Mas essa questão das 9 linhas me parece que foi descartada. O x da questão é a linguagem e a api. E me parece que a google pediu “fair use”.

[quote=juliocbq][quote=fredferrao][quote=maior_abandonado]Júri decide: Google copiou código proprietário para usar no Android, mas só um pouquinho

o titulo dessa noticia me fez pensar em um advogado do google falando: “Foi sem querer querendo…”[/quote]

Me parece que o que foi decidido parcialmente foi que o método rangecheck(com super 9 linhas) havia sido copiado, em seu testemunho Josh Block(que foi quem criou o metodo, na epoca da SUN), disse que ele é bem simples e qualquer recém formado tem capacidade de faze-lo, disse tambem que após constatado ele foi removido, e ja não consta nas novas versões do android(não sei a partir de qual versão)[/quote]

Sim o próprio confessou até mesmo antes de ir pro juri. Mas essa questão das 9 linhas me parece que foi descartada. O x da questão é a linguagem e a api. E me parece que a google pediu “fair use”.[/quote]

Claro, e você continua sendo imparcial.

[quote=Jaba][quote=juliocbq][quote=fredferrao][quote=maior_abandonado]Júri decide: Google copiou código proprietário para usar no Android, mas só um pouquinho

o titulo dessa noticia me fez pensar em um advogado do google falando: “Foi sem querer querendo…”[/quote]

Me parece que o que foi decidido parcialmente foi que o método rangecheck(com super 9 linhas) havia sido copiado, em seu testemunho Josh Block(que foi quem criou o metodo, na epoca da SUN), disse que ele é bem simples e qualquer recém formado tem capacidade de faze-lo, disse tambem que após constatado ele foi removido, e ja não consta nas novas versões do android(não sei a partir de qual versão)[/quote]

Sim o próprio confessou até mesmo antes de ir pro juri. Mas essa questão das 9 linhas me parece que foi descartada. O x da questão é a linguagem e a api. E me parece que a google pediu “fair use”.[/quote]

Claro, e você continua sendo imparcial.[/quote]

Uai, mas se o juiz descartou quem somos nós para julgar? No meio de 15 milhões de linhas você possuir 9 semelhantes está dentro da estatística. Se você comparar o Torá e a Bíblia vai encontrar uma porcentagem semelhante também. O juiz julgou essa alegação de quebra de patentes ridícula( e é mesmo).

[quote=juliocbq]

  1. Se você escrever um programa para oracle vm em java, ele é totalmente portável para dalvik. Se você excluir alguns toolkits como swing e swt(que usa widgets nativos). Frameworks e apis não fazem parte da sintaxe de uma linguagem.[/quote]

Fazem parte da plataforma Java. Sem elas não há como escrever aplicações portáveis.

Por isso que C e C++ são uma piada. As suas bibliotecas são tão anêmicas que você invariavelmente precisará lidar com chamadas específicas do SO. E lá vai criar estruturas de classes ou ifdefs ad nauseam para driblar as incompatibilidades.

Em Java a API é a mesma, o que significa que uma aplicação pode rodar sem nenhum “código especial” para lidar com diferenças entre plataformas.

O Android não apenas exclui um bocado do Java SE, como também acrescentou métodos que não existem para as classes que usa. Não lembro exatamente, mas acho que ou no BigInteger ou BigDecimal por exemplo existem diversos métodos diferentes. E assim é por toda a biblioteca. Ou seja, eles nem se dignaram a usar um pacote diferente para isolar as diferenças, foram alterando o que já existia.

[quote=Tchello]
Errado.
Algo que jamais acontecerá é você desenvolver alguma aplicação com o “Java do Google” (como você chamou, o que já é por definição inválido).

O que acontece é que usa-se a linguagem java pra desenvolver no Android, fato, mas com as particularidades do Android, assim como se faz quando você desenvolve com Hibernate, JSF ou qualquer outro framework.[/quote]

Nunca precisei me preocupar com a plataforma (Windows, Linux, etc) para a qual estava desenvolvendo ao utilizar esses frameworks.

Além do mais, nada impede o Google de criar uma plataforma própria para tirar proveito de suas “particularidades”. O problema é usar o nome “Java” quando obviamente não é.

Java não é só a lingugagem, é a plataforma inteira, incluindo as APIs. Sem isso seria a mesma porcaria incompatível que é o C++, com compiladores implementando a linguagem do jeito que bem entendem e bibliotecas insuficientes para portabilidade.

O que o Google fez foi mais ou menos o que esses produtos piratas do Paraguai fazem. É tipo um mp3 chamado “Soni” ao invés de Sony para enganar bobo.

Eles criaram algo e vendem como se fosse “Java”. Imagina se toda lanchonete começasse a vender “Big Mac”, seria correto?

Ou é Java, implementando a especificação, ou não é. Não tem meio termo.

[quote=Longino][quote=juliocbq]

  1. Se você escrever um programa para oracle vm em java, ele é totalmente portável para dalvik. Se você excluir alguns toolkits como swing e swt(que usa widgets nativos). Frameworks e apis não fazem parte da sintaxe de uma linguagem.[/quote]

Fazem parte da plataforma Java. Sem elas não há como escrever aplicações portáveis.

Por isso que C e C++ são uma piada. As suas bibliotecas são tão anêmicas que você invariavelmente precisará lidar com chamadas específicas do SO. E lá vai criar estruturas de classes ou ifdefs ad nauseam para driblar as incompatibilidades.

Em Java a API é a mesma, o que significa que uma aplicação pode rodar sem nenhum “código especial” para lidar com diferenças entre plataformas.

O Android não apenas exclui um bocado do Java SE, como também acrescentou métodos que não existem para as classes que usa. Não lembro exatamente, mas acho que ou no BigInteger ou BigDecimal por exemplo existem diversos métodos diferentes. E assim é por toda a biblioteca. Ou seja, eles nem se dignaram a usar um pacote diferente para isolar as diferenças, foram alterando o que já existia.
[/quote]

  1. Também não fazem parte da plataforma. A única coisa que faz parte da plataforma é um instruction set enorme para executar bytecode. Apis são apenas sintax sugar e servem para manter a compatibilidade entre duas plataformas. Você não precisa de nenhum framework para escrever um programa.

2 )Não se precisa alterar uma linha de código usando c++ poque existe um padrão rigirosamente respeitado pelas empresas que desenvolvem compiladores. Um byte em c++ sempre será um inteiro não sinalizado de 8 bits. Se você usar a standard lib sempre estará seguro.

3 )A j2me respeita a jse? Se ela não respeita porque o android deve respeitar se ele não é java?

##edit - vou me corrigir ali no 1 porque apis não fazem parte da linguagem. Então usei o termo errado sintax sugar. Apis saõ apenas interfaces para manter compatibilidade entre plataformas.

Não existe essa… É a mesma coisa que você falar que 15 tiros na cabeça de alguém “mataria mais” do que um só.

Não existe essa… É a mesma coisa que você falar que 15 tiros na cabeça de alguém “mataria mais” do que um só.[/quote]

Certo, mas ninguem morreu, e como a questão é cópia de propriedade intelectual acho que entre copiar 15 milhoes ou 9 linhas ha uma boa diferença. Copiou? Sim, Vai pagar 1 bilhão por isto? Provavelmente não. Se tivesse copiado tudo iria pagar mais? Provavelmente.

E aqui esta o que de fato o juri falou:

[quote]
The jury says it has a partial verdict. Can’t resolve one issue. So we’ll be hearing it read shortly. Caleb Garling tweets:

A. Has Oracle proven that Google has infringed the overall structure, sequence and organization of copyrighted works? YES…
As to the documentation for the 37 Java API packages in question taken as a group: A. Has Oracle proven that Google has infringed? NO.

The rangeCheck method in TimSort.java and ComparableTimSort.Java YES, infringing…

Source code in seven ?Impl.java? files and the one ?ACL? file? NO, not infringing….

The English-language comments in CodeSourceTest.java and CollectionCertStoreParameters Test.java? NO, not infringing[/quote]

[quote=Tchello]
Errado.
Algo que jamais acontecerá é você desenvolver alguma aplicação com o “Java do Google” (como você chamou, o que já é por definição inválido).

O que acontece é que usa-se a linguagem java pra desenvolver no Android, fato, mas com as particularidades do Android, assim como se faz quando você desenvolve com Hibernate, JSF ou qualquer outro framework.[/quote]

só que Java não é só uma linguagem. Java tb é conhecido pela plataforma e APIs.

Sua analogia com frameworks não faz muito sentido. Diferente do Hibernate ou JSF, seu aplicativo Android não roda no “Java da Oracle”, e sim na plataforma incompatível do Google.

Que foi exatamente o que a MS tentou fazer em outros tempos, e levou uma borduada da justiça… Mas quando é o google que abusa, todos correm pra procurar uma desculpinha. rs

É isso mesmo. E essa é a grande vantagem do Java e o que o torna mais atrativo do que outras plataformas.

Em outras linguagens, notoriamente o C, as APIs são ínfimas. É impossível sequer desenvolver um simples aplicativo de linha de comando de forma portável (e por isso existe a biblioteca curses).

[quote=fredferrao]…

[quote]

The English-language comments in CodeSourceTest.java and CollectionCertStoreParameters Test.java? NO, not infringing[/quote][/quote]
Nossa! Reclamaram até dos comentários! Para mim esta é nova. :shock:

[quote=Hermanoz][quote=Tchello]
Errado.
Algo que jamais acontecerá é você desenvolver alguma aplicação com o “Java do Google” (como você chamou, o que já é por definição inválido).

O que acontece é que usa-se a linguagem java pra desenvolver no Android, fato, mas com as particularidades do Android, assim como se faz quando você desenvolve com Hibernate, JSF ou qualquer outro framework.[/quote]

só que Java não é só uma linguagem. Java tb é conhecido pela plataforma e APIs.

Sua analogia com frameworks não faz muito sentido. Diferente do Hibernate ou JSF, seu aplicativo Android não roda no “Java da Oracle”, e sim na plataforma incompatível do Google.

Que foi exatamente o que a MS tentou fazer em outros tempos, e levou uma borduada da justiça… Mas quando é o google que abusa, todos correm pra procurar uma desculpinha. rs
[/quote]

Sim Hermanoz, no android java é só linguagem e apis para manter compatibilidade do seu código jse. Oracle Jvm é uma coisa e Dalvik(android é outra). Por isso o Android não é Google JVM ou algo do gênero como a microsoft fez com MSJVM. Você possui as mesmas ferramentas de construção mas o núcelo dos dois processadores são coisas completamente distintas.

Como citado acima apenas 9 das 15.000.000 linhas são iguais e isso porque o engenheiro já havia confessado antes do julgamento.

Eu venho acompanhando essa bagunça desde o ano passado e vejo da seguinte maneira:

A fundação apache possuía(possui) uma vm chamada Harmony, e ela queria fazer o teste de compatibilidade para que harmony fosse chamada também de JVM. A oracle enviou uma licença com sérias restrições a apache de rodar sua vm em dispositivos móveis. A apache saiu do jcp por isso, e numa boa, ela foi a empresa que mais contribui com projetos para o crescimento do java mundialmente.

Google usou harmony que não é java por culpa da própria Oracle.
Logo dalvik não é java, é harmony.

A google vai pagar as 9 linhas de infração da jvm, ou não dependendo do que o juiz decida sobre fair use.

[quote=Longino][quote=Hermanoz]
só que Java não é só uma linguagem. Java tb é conhecido pela plataforma e APIs.

Sua analogia com frameworks não faz muito sentido. Diferente do Hibernate ou JSF, seu aplicativo Android não roda no “Java da Oracle”, e sim na plataforma incompatível do Google.

Que foi exatamente o que a MS tentou fazer em outros tempos, e levou uma borduada da justiça… Mas quando é o google que abusa, todos correm pra procurar uma desculpinha. rs
[/quote]

É isso mesmo. E essa é a grande vantagem do Java e o que o torna mais atrativo do que outras plataformas.

Em outras linguagens, notoriamente o C, as APIs são ínfimas. É impossível sequer desenvolver um simples aplicativo de linha de comando de forma portável (e por isso existe a biblioteca curses).[/quote]

C não precisa de api, Longino ela possui uma biblioteca standard. Primeiro porque é uma linguagem de médio nível e uma linguagem de sistema. O software escrito por ela precisa ser obrigatóriamente isento de maiores dependências.

O padrão ansi iso está aí para desmentir isso.


http://www.ansi.org/

[quote=Adelar][quote=fredferrao]…

[quote]

The English-language comments in CodeSourceTest.java and CollectionCertStoreParameters Test.java? NO, not infringing[/quote][/quote]
Nossa! Reclamaram até dos comentários! Para mim esta é nova. :shock: [/quote]

Eu não sabia também não.

[quote=juliocbq]
C não precisa de api, Longino ela possui uma biblioteca standard. Primeiro porque é uma linguagem de médio nível e uma linguagem de sistema. O software escrito por ela precisa ser obrigatóriamente isento de maiores dependências.

O padrão ansi iso está aí para desmentir isso.


http://www.ansi.org/[/quote]

Querido Juliocbq,

Eu nem respondi o seu comentário anterior para evitar conflitos visto que praticamente tudo nele estava incorreto. Mas você quer de todas as formas criar confusão, não é? Você está errado novamente.

O padrão C não define funções para posicionar cursor na tela, fazer query do teclado, entre outras. Normalmente desenvolvedores usam bibliotecas não padrão, assim como conio.h ou curses, para providenciar esse tipo de controle.

Qualquer aplicativo texto mais complexo do que um Hello World precisará lidar com o SO.