C’était le 12 août dernier. Oracle Corporations attaque Google pour la violation de 7 brevets autour de Java. Le souci tourne autour de Dalvik, la machine virtuelle de la plate-forme Android, qui tourne peut-être dans votre poche si vous avez un téléphone Android. Google accuse Oracle d’attaquer la communauté open-source, et se retire de la conférence Java One qui aura lieu mi-septembre. Les blogs s’enflamment, Oracle est le méchant et Google et le gentil. Merci au revoir et bonne journée.
Oracle en fait n’a pas la même approche que SUN Microsystems. A mon avis, si je me place du côté d’Oracle, je pense que c’est une bonne chose que de défendre l’esprit de Java : write once, run everywhere. Après tout, pourquoi ne pas aussi râler que la plate-forme Google App Engine ne permette pas d’utiliser toutes les classes Java ? Oui c’est vrai non ? Dalvik est une machine virtuelle qui grâce à son approche, permet d’offrir un noyau performant pour les téléphones mobiles. Cependant, ce n’est ni une implémentation de Java SE, ni de Java ME. Bref Google a fait le bon choix technique, à savoir construire un noyau à même de répondre aux problèmes de l’environnement mobile. Apple de son côté ne s’y est même pas essayé. Si vous voulez écrire une application pour iPhone, vous devez apprendre l’objective C pour l’instant.
La passe d’arme d’Oracle serait donc justifiée, dans l’idée de défendre les valeurs de la plateforme Java. L’homme est de retour, planquez-vous mes amis. Mais personnellement j’ai un peu de mal à y croire.
Je crois plus simplement à un simple et belle histoire de gros sous. Les brevets sont une source de revenu aux USA. Ils font vivre des petites entreprises, voire même des coquilles vides. Prenons un groupe « G » qui créé une structure en France et une autre aux Etats-Unis. Une entreprise Française peut être par exemple « centre de recherche et de développement« . En effectuant des dépenses justifiées, elle peut bénéficier du crédit impôt recherche, une enveloppe qui lui permet de s’aider financièrement. Ensuite, ce qu’elle développe est cédé à une entreprise Américaine (du même groupe), qui peut poser des brevets sur certains concepts et se charge de l’exploitation. La société Française ne génère que du revenu sur sa propriété intellectuelle, et l’entreprise Américaine peut alors vendre des licences logicielles. C’est un business modèle que j’ai étudié et vécu en 2000 et qui est toujours d’actualité.
Oracle ne souhaite pas je pense que Google abandonne Java pour sa plateforme mobile. Ce serait un revers terrible pour Java en général, que de se faire désavouer de cette plateforme. Regardons le marché aujourd’hui : dominé par Apple, Android est la seule alternative qui fonctionne et qui amène un moyen différent, libre et plus ouvert pour développer sur mobile. Et je vous le dis aujourd’hui : demain votre télé sera sur Android, et après-demain vous aurez un écran LCD pour twitter dans les toilettes avec iOS ou Android. Le web des objets, machin truc, bref vous savez tout cela déjà.
Si Oracle souhaitait vraiment bloquer Google, ce sera au bénéfice d’Apple je pense. Ce n’est pas forcément délirant, dans le sens où le marché du mobile, et le succès de l’iOS, risque de générer des bénéfices énormes dans les 5 ans qui viennent. Un élément de réponse se trouve dans la plainte d’Oracle. Dans l’hypothétique cas où Google ne serait pas d’accord pour céder avec un accord financier, et qu’Oracle gagne ensuite le procès, il faudrait que Google retire les parties qui enfreignent ces brevets de Dalvik. Est-ce que c’est possible ? J’ai envie de croire que non. Donc Google sera amené à payer de lourdes indemnités à Oracle.
Alors Oracle attaque Google, qui n’est pas tout blanc. La communauté Java est toujours un peu groggy après le rachat de SUN par Oracle, et se demande ce qui l’attend. Oracle est peut être plus à même de conserver l’idée de Java après tout. Les podcasteurs des JavaPosses dans l’épisode 322 se disent que Google aurait pu acheter Sun finalement, ce qui leur aurait donné moins de soucis.
Lorsque l’on regarde la liste des brevets, je me dis qu’il ne manque plus que le brevet sur le point virgule pour bien rigoler :
* Protection Domains to Provide Security in a Computer System (2000)
* Controlling Access to a Resource (2000)
* Method and Apparatus for Preprocessing and Packaging Class Files (1999)
* System and Method for Dynamic Preloading of Classes through Memory Space Cloning of a Master Runtime System Process (2008)
* Method and Apparatus for Resolving Data References in Generate Code (2003)
* Interpreting Functions Utilizing a Hybrid of Virtual and Native Machine Instructions (2005)
* Method and System for Performing Static Initialization (2000)
Encore une fois donc, une histoire d’argent plus qu’autre chose. Cette action est par contre le moyen pour Oracle d’affirmer sa présence désormais dans l’univers des brevets de la plate-forme Java. Avis aux autres fabricants de téléphone portable, ça peut chauffer pour vous aussi.
Comme je dis souvent : what else ?
Références
Episode 322 des JavaPosses
Pourquoi Oracle a eu raison d’attaquer Google (en anglais)
Oracle’s android lawsuit : pandora’s box serious evils ? (en anglais)
Je dirai même plus, « so what ? » 🙂
Le plus sage est probablement de les laisser régler leurs comptes et ne pas trop s’en préoccuper pour le moment, il y a des sujets bien plus intéressants sur lesquels passer du temps 🙂 .
A noter que ni AppEngine, ni GWT ne souffrent de ces attaques. Probablement parce que ce sont des sujets moins sensibles.
AppEngine est basé sur une JVM « normale » (1.6 de Sun il semble),
et GWT ne génère que du source JS,
donc c’est assez différent du cas Dalvik qui est une implémentation de VM.
Par contre j’imagine qu’Oracle pourrait attaquer la VM de .NET.
Salut !
je crains que tu ne te trompes sur l’analyse que tu fais sur les raisons qui poussent Oracl€ à attaquer Google. Ce n’est certainement pas pour pousser Google à utilisr la plate-forme Java (ME ou pas). C’est juste une question de brouzoufs.
A ma connaissance, Java-ME rapporte (-ait ?) beaucoup d’argent à Sun (j’ai entendu parler de 200M$ de revenu en license annuellement). Le fait que Android ne soit pas Java permet à Google de ne pas payer cette license, quelque chose que Oracl€ ne peut simplement pas accepter. Compte-tenu que la croissance de la part de marché d’android est en train d’exploser, à terme, cela risque de signifier la fin de J2ME, donc la fin des revenues liés à Java.
« du fric, du fric, du fric! »
Juste une précision; le développement de l’iPhone n’est plus limité à Objective-C, il est désormais possible d’écrire des programmes en C et C++.
Apple autorise même maintenant l’accès à certaines parties du hardware (en plus des nouvelles API de l’OS), ce qui n’est donc pas un problème étant donné le hardware presque unique sur lequel tourne iOS.
Voilà pour la précision 🙂
Merci Nicolas,
Je partage ton point de vue. Oracle est loin d’être ma tasse de thé mais, je trouve que la communauté Java manque un peu d’objectivité concernant Google et que beaucoup de gens font un peu les moutons sur le sujet.
Certes Google a fait des tas de choses intéressantes avec Java des framework comme Guice ou GWT et des bibliothèques comme Guava, mais je trouve qu’ils ont aussi des approches inquiétantes. App Engine me paraît par exemple préoccupant. Bien sûr c’est tentant d’aller sur cette plateforme cloud gratuite, mais si on creuse un peu on se rend compte que c’est une plateforme inspirée de Java EE, une sorte de fork propriétaire (une fois une appli sur GAE, on ne la déménage pas).
Je ne sais pas si Oracle va défendre correctement l’esprit de Java et du JCP, ça n’a pas l’air super clair tout de suite et on en saura plus à Java One, mais une chose est sûre Google ne joue pas vraiment le jeu et revisite Java pour son compte. bien sûr tout le monde trouve ça cool parce que c’est Open Source, mais ça n’est jamais reversé dans la techno (on fait Guice mais on ne participe pas a CDI, on fait GWT mais ignore JSF, on fait Androïd sans améliorer J2ME).
Ca me rappelle un peu le procès entre Sun et Microsoft pour la VM Windows.
Google fait du Java sur ses plateformes plus ou moins propriétaires : thune et fragmentation.
Je trouve aussi qu’on évite la question de la fragmentation appotrée par els produits Google. Des forks ‘propriétaires’ d’Androïd par les constructeurs avec ajout de fonctionnalités ‘supplémentaires’ sont possibles. Je trouve que le post de Gosling où il répond aux commentaires sur son premier post (Free Java) donne une bonne vision des forces en présence.
GAE m’inquiète car là encore on a une fragmentation de la VM, de la plate-forme serveur.
On retombe dans les travers des plateformes propriétaires, quid de l’avancée des années 90 et les JSR et JCP ?
Emmanuel
100% d’accord avec Emmanuel. Sans parler du kernel Linux pour Android retouché un peu à la hussarde par Google et dont les patchs n’ont pas tous été inclus dans le mainstream car non validés.
Si déjà on pouvait eviter un fork de VMs dans Java 7 avec OpenJDK d’un coté et Harmony de l’autre.
Pour ce qui du développement sous iOS ou OS/X, il faudra suivre de très prêt LLVM., parce que ça ouvre la porte à bien plus que les C et ses dérivés.
Je suis surpris par l’arguments des uns et des autres :
1/ Quand on veut monter une plateforme ouverte :
– on ne met pas de brevets qu’on garde jalousement
– on accepte les idées des autres
– on ouvre les process de validation
2/ Je ne vois pas en quoi plusieurs VM est génant. Toujours de mon point de vue (de loin donc), j ‘ai toujours vu plusieurs VMs (Sun, IBM…) pas franchement compatible à 100% (pour avoir bosser sur plusieurs Unix, j’en ai fait les frais), donc ce n’est pas nouveau. Avec des choix qui ne sont la que pour « embeter » son voisin ».
3/ Et si on doit faire des choses différentes, c’est peut être que ce qui existe n’est pas adapté.
Pour voir plus sérieusement ce que fait Google dans le monde Python, c’est souvent intégré mainstream (ex. le plus important : Unladen Swallow). Si on regarde GAE, y’a pas de fork et tous les projets Web le supportent maintenant (django, zope, BFG, pylons…).
Aprés, pourquoi Google est parti sur du Java-like, c’est un mystère vu le nombre de langages qui existent.
Pourquoi Google est parti sur du java ?
C’est quand même un choix très raisonnable (perf, stabilité, tooling,…), faut pas exagérer.
@sébastien
Google est parti sur du java – like pour 3 raisons à mon avis :
– premio et surtout : ne pas payer de droits à Sun.
– deuxio : éviter tout ce qui est GPL
– Troisio : être maître dans son domaine. Faire ce qu’ils veulent techniquement. Une VM à registre. Des apk plus petits que les jars (moins de redondances). Une VM qui se lance très vite et qui consomme peu de mémoire (deux points cruciaux) . Une API « java » qui intègre des trucs que Google trouve importants. Par exemple intégration de l’API HttpClient d’Apache. Et oui, quand on fait du smartphone, on a intérêt à avoir la meilleure techno pour accéder aux ressources par http. etc. Tout un tas de choix qu’ils ont pu faire eux mêmes sans rien demander à Sun.
– Quatrio : ils avaient les personnes et le temps pour créer cette VM. Une occasion technique comme ça se trouve rarement : temps, argent, opportunité et talents.
A mon avis, Android va déborder largement de la téléphonie. Peut devenir une sorte d’OS pour tout système mobile. C’est pour moi une sorte de JEE côté client
Je me demande pourquoi Google n’a pas racheté Sun, tout bêtement.