Off-Topic: Google - não é rico à toa!

2007 November 13, 21:54 h - tags: android obsolete

Não sei dizer se esta fonte é confiável, mas se for eu adorei :-)

Olhem só: uma licença open source como a GPLv2 não é algo simples, do tipo “ah, basta tornar open source”, como alguns ingenuamente acreditam e mais ingenuamente defendem.

A Sun levou anos para liberar o Java numa licença open source e finalmente fez isso. O processo ainda não terminou. Mesmo assim há exceções. Por exemplo, você que é desenvolvedor e faz aplicações comerciais em Java, não precisará liberar seu código por rodar sobre a plataforma.

Porém, a plataforma móvel J2ME não tem esta exceção. Todo fabricante de celular que empacota J2ME nele é obrigado a pagar uma taxa à Sun por isso ou então é obrigada a liberar seu próprio código que roda sobre a J2ME como GPLv2. Como nenhum fabricante quer liberar seu próprio código, ela paga sua taxa à Sun e todos ficam felizes.

Agora, todos viram por toda a internet matérias e mais matérias sobre a nova plataforma Android do Google para aparelhos móveis. Mais ainda, que ela roda Java e que foi lançada sob a Apache License v2.

Portanto, como? Como ela conseguiu fazer a Sun licenciar uma plataforma que representaria um tiro no próprio pé? A resposta não poderia ser melhor: ela não precisou!

Em vez disso o Google nunca disse que é uma plataforma “compatível com Java”. O produto da controvérsia, Dalvik, é uma virtual machine e um conjunto de core libraries assim como uma JVM ou CLR, mas diferente delas. Mas sua principal característica é que ela consegue pegar bytecode Java e converter para seu próprio bytecode DX. Desta forma, você pode desenvolver usando a mesma linguagem, a mesma IDE (como Eclipse, que vem no SDK do Android) e quando compilar ela será convertida e rodará sobre Dalvik. Para as standard libraries do Java, o Google está usando o Apache Harmony, que é uma implementação open source compatível.

Ou seja, tecnicamente não é Java. “Por acaso” ela converte bytecode Java em bytecode Dalvik.

Isso foi genial. Graças a isso o Google será capaz de desviar completamente da direção do Java 7 e do Jave ME, não precisará brigar na JCP para conseguir as melhorias que precisa e nem tolerar a Sun. Por causa disso ela será capaz de atrair uma legião de programadores acostumados ao ambiente Java e que queiram desenvolver para o Android e ao mesmo tempo poderá oferecer uma experiência de usuário que a Sun jamais foi capaz. Um dia ela talvez consiga uma experiência próxima ao atual ‘padrão inatingível de qualidade’ que é o iPhone.

É claro, a Sun não deve ficar quieta. Ela ainda detém Propriedade Intelectual sobre muita coisa no Java. O problema é que ninguém sabe no que, uma vez que não existe uma lista pública. Agora vamos ver se Richard Stallman estava certo ao condenar o Java uma década atrás avisando: “a Sun pode bancar a boazinha por enquanto, mas um dia ela poderá processá-lo por usar sua plataforma de maneiras que ela não quer”, ou seja, ele queria dizer que o Java era “grátis”, mas nunca foi “livre”. Se fosse, o Google não precisaria estar lançando uma plataforma completamente nova, poderia ter simplemente feito um fork se fosse esse o caso.

A Sun não gostaria de ter um fork do Java, mas forks só acontecem realmente se for necessário, como foi o caso do X.org. Ninguém faz forks ficarem mais importantes que o original à toa, à menos que o original esteja patinando.

Segundo o Google o Dalvik é mais performático e com mais integração à nova geração de hardware, como placas gráficas 3D, USB, bluetooth, etc. Isso deve ajudar a criar aplicações que seriam impossíveis apenas como o Java ME atual. E tentar brigar na JCP para melhorar isso é impossível. É como tentar empurrar um elefante com uma mão só.

Ainda é cedo para dizer o que pode acontecer. Nem mesmo um protótipo comercial existe ainda, só protótipo de laboratório. Enquanto não houver uma demonstração pública do nível da Macworld de janeiro, eu não vou segurar minha respiração. Pelos vídeos disponíveis agora realmente parece algo interessante, mas ainda assim não é tão empolgante quanto um iPhone.

Uma das coisas que eles querem é colocar coisas que o iPhone não tem hoje, como 3G. As pessoas se esquecem que quando o primeiro aparelho Android finalmente chegar às lojas, a Apple provavelmente já estará lançando o iPhone 2.0. Todos tem mania de projetar no futuro o que as empresas são hoje em vez de pensar que ninguém é um alvo parado.

Pelo visto, Dana da ZDNet detestou essa nova plataforma pseudo-Java. Ela está sendo um zealot. Odeio zealots. A realidade é um pouco diferente do que os zealots pregam.

Vejam: o medo de todo javeiro é o Java sofrer um fork e acabarmos com duas implementações, a “oficial” e a “alternativa”. Eis o problema: se a alternativa for melhor do que a oficial, para que precisamos da oficial? É isso que o Google pretende fazer: ela será o novo Java oficial. Se a Sun quiser, que brinque de acordo com as novas regras, caso contrário, seja esmagado.

A repórter Dana critica o Google de criar versões novas de Linux, Java, etc. “Por que não simplesmente usar o que a comunidade open source já fez?” Essa pergunta foi ingênua e a resposta é óbvia: porque o que existe hoje não serve. E não, o OpenMoko não é uma resposta adequada. Ninguém disse que não é possível fazer uma plataforma móvel 100% aberta, porém será sempre indiscutivelmente inferior em termos de experiência de usuário.

Experiência de usuário não é algo que se desenvolve por comitê. Existem certas coisas que não podem ser simplesmente votadas. Alguém precisa colocar uma visão e uma direção. É o que Steve faz pela Apple, é o que o Google quer fazer pelo Linux/Java para dispositivos móveis.

E existe uma explicação para isso: um produto excepcional é necessariamente um que desperta emoções radicais nas pessoas. Vejam o iPhone, você encontrará pessoas que amam esse aparelho como se fosse algo de outro mundo. Outros odeiam do fundo de sua alma como se fosse um dispositivo do satanás. E é exatamente por isso que a Apple é sensacional e o iPhone é um sucesso histórico.

Agora, compare isso com um sistema desenvolvido por votação num comitê. Veja o que você consegue fazer com um Java ME hoje. Parece algo 10 anos atrasado, e é mesmo. A Apple direcionou seu Objective C para ser multi-plataforma, altamente performático, com um toolkit gráfico sem paralelos. A experiência de usuário é inegavalmente única.

Aliás, como paralelo, o Google também escolheu o WebKit como engine Web em vez do Gekko, do Firefox. Excelente escolha. Também acho que o WebKit é a engine da vez. No mundo móvel ela já era famosa, não é coincidência, o Google está escolhendo apenas os melhores componentes, não “tudo”. “Tudo” nunca é bom. Como diria a Jason Fried, “Less is More”.

É exatamente o problema do Linux no Desktop. Apesar de ter uma infraestrutura excepcional para servidores, ela é péssima para desktop. E não tomem isso como ofensa. Veja um detalhe: você tem um menu no topo da tela como nos Macs e tem menus em cada janela de aplicativo como no Windows. Isso é horrível e não importa se eu posso customizar, eu não quero customizar. Como DHH diria: a flexibilidade é super-estimada. O que o desktop realmente precisa é de limites claros, a definição de “visão”. Copiar os dois lados é a pior coisa que se pode fazer, você fica com um híbrido que não é nem um nem outro. Não importa ser “mais ou menos”. Quando você faz compras você não quer o mais ou menos, você quer o melhor. É assim que funciona o mercado de consumo. É a isso que damos o nome de qualidade e excelência. O Linux no Desktop precisa de um ditador benevolente. Não há um ditador do desktop, infelizmente.

Se o Google quisesse ter chance nessa nova categoria de dispositivos, ela não poderia ser atrasada pelo elefante na sala: ele removeu o elefante e tomou as rédeas. Agora as coisas vão andar na velocidade que eles querem, e isso quer dizer muito rápido.

Agora o sistema está interessante: é preciso dois para se fazer uma guerra. Google e Apple são dois novos competidores no agressivo mercado de dispositivos móveis e a Apple saiu adiantado e com uma grande liderança. Porém o Google tem o capital e as pessoas para avançar tão rápido quanto. Um obrigará o outro a andar mais depressa. Esperem um iPhone 2.0 para logo! Essa é a Evolução pela Concorrência.

Uma coisa é certa, a Apple não se tornou a empresa de hardware mais valiosa do mercado à toda. E o Google não vale 200 bilhões à toa também. Qualquer opinião que nós, meros mortais, possamos ter eles provavelmente já pensaram. Eu particularmente acredito que ambas serão muito importante no futuro e, para mim, só interessa produtos de alta qualidade saindo no fim do túnel.

Comments

comentários deste blog disponibilizados por Disqus