La Guerre de Java n’aura pas lieu ?

Armée des storm troopers

Depuis quelques mois, le monde Java est en ébullition. Le rachat de Sun par Oracle suscite inquiétude et hostilité. Un certain nombre d’observateurs ont prédit dès le rachat des changements annonçant la fin de la communauté open source autour de Java.Les événements récents comme le procès d’Oracle contre Google ou l’alliance avec IBM précipitant l’arrêt du projet Harmony, semblent conforter ce point de vue. Bref, aujourd’hui la tension dans la communauté Java est très forte et le ressenti a l’égard d’Oracle devient de plus en plus palpable. Tout est réuni pour qu’une guerre sanglante éclate au sein de l’univers Java. C’est un scénario digne d’une véritable épopée homérienne qui semble se dessiner sous nos yeux. Mais les choses sont-elles aussi simples et manichéennes qu’une majorité d’individus dans la communauté semble le penser ? Pas si sûr. Remettre les événements en perspective et prendre un peu de hauteur semble la première chose à faire pour analyser sereinement la situation.

Java l’exception logicielle

Java est une plateforme à part. Pas seulement d’un point de vue technique mais surtout par son historique qui explique aujourd’hui les antagonismes autour de celle-ci. Avant de détailler les batailles actuelles, revenons sur ces particularités.

Une plate-forme, un Langage et un environnement d’exécution

L’appellation “Java” est depuis l’origine source de confusion. En effet, Java c’est d’abord un langage de programmation, mais aussi une plate-forme (en fait 3 plate-fomes enrichissant le langage de nombreuses technologies et bibliothèques) et un environnement d’exécution (la machine virtuelle). Quand on parle de Java, il arrive fréquemment que chacun ait en tête des aspects différents lié au nom “Java” ce qui créé souvent des mal entendus lorsque l’on discute de Java.

Les 3 plate-formes Java

Lorsqu’on parle de la plate-forme Java, cela peut désigner en fait 3 plate-formes :

  • Java SE (Standard Edition), la plateforme de base ;
  • Java EE (Enterprise Edition) : plateforme permettant des développements d’entreprise en ajoutant à SE des spécifications de technologies comme Servlet, JTA ou JSP qui sont très majoritairement utilisées lors de développements Web ;
  • Java ME (Micro Edition) : plate-forme conçues pour la mobilité en allégeant certains aspects de Java SE et en ajoutant des technologies nécessaire aux appareils mobiles.

Java SE est souvent la plate-forme que l’on évoque lorsque l’on parle de plate-forme Java. Toutefois, on utilise très fréquemment une partie des spécifications issues de Java EE (JPA, JSP, JTA, Servlet). Java EE (s’appuyant sur Java SE) est donc le socle (enrichi bien souvent d’autres technologies, comme Spring ou Guice) de la grande majorité des développements aujourd’hui. Il est communément admis aujourd’hui que Java ME est en panne (pour rester politiquement correct) mais nous reviendrons la-dessus plus tard.

Le JCP : une approche collégiale, très critiquée

Peu après le lancement de Java, en 1995, Sun Microsystem comprit rapidement que le succès de celui-ci nécessitait le partage de la gouvernance de la plateforme avec d’autres éditeurs. C’est l’idée directrice qui amena Sun à créer le JCP (Java Commuity Process) en 1998. Ainsi très rapidement les orientations autour de Java furent prises de manière collégiale.

Cependant à ses débuts, le JCP n’offrait pas le même niveau d’ouverture qu’aujourd’hui et seuls de gros acteurs purent prendre part à cette collégialité. C’est probablement la principale raison des échecs du JCP : avoir privilégié le point de vue de gros éditeurs qui poussèrent des technologies plus que discutables. L’exemple le plus évident de ce dysfonctionnement est probablement les spécifications EJB 1.X (et EJB 2.X) qui boostèrent le développement de solutions parallèles dans la monde de l’Open Source comme les frameworks Spring et Hibernate (pour plus de détail lisez “Les rendez-vous manqués de Spring” qui décrit cette histoire).

Cependant, le JCP a su corriger ses erreurs en se démocratisant et en s’inspirant de solutions du monde l’Open Source qui marchent pour les nouvelles spécifications. Cette évolution, qui permit de délivrer des spécifications largement adoptées comme JPA ou EJB 3.X, ne permit pas en revanche de complètement laver l’image du JCP qui reste aujourd’hui décriée par un certain nombre d’acteurs. Parmi ceux-ci, on retrouve ceux qui ont construit leur business sur les errements du JCP (comme Spring Source) et qui n’ont franchement pas intérêt à ce qu’un JCP vertueux vienne créer des spécifications concurrentes de leur solution.

Si le JCP d’aujourd’hui est plus performant et ouvert qu’à ses débuts, il reste des choses à améliorer, notamment sur le front de la démocratie car le propriétaire de Java (Oracle) garde une place privilégiée au sein de l’organisation et reste juge et partie concernant bien des arbitrages. Il n’empêche qu’aujourd’hui le JCP est l’un des éléments qui rend Java si particulier et quoi qu’on puisse en dire participa grandement à l’adoption de la plateforme Java.

En résumé, le JCP pour Java c’est un peu comme l’ONU pour la gouvernance mondiale. Il n’est pas parfait, commet des erreurs, créé de la lenteur mais permet à la grande majorité des acteurs autour de Java de se mettre autour d’une table et de travailler en commun. Mon avis est que sans le JCP, java serait une plateforme de développement comme les autres et qu’une multitude de technologies différentes et incompatibles entre elles auraient vu le jour sans que se dégage un consensus sur les briques de base.

Java en liberté surveillée

Pour clore ce point sur les particularité de Java, il me semble important de rappeler le statut de la plate-forme en terme de licence logicielle. Aujourd’hui Java est Open Source mais le nom Java reste la propriété d’Oracle et surtout la conformité d’une implémentation de Java ou de spécification Java EE (les fameux TCK) reste payante et d’un coût très élevé. Ainsi, Java est libre, mais l’entité qui voudra livrer une version de Java compatible avec les spécifications du JCP devra payer ce droit. On est donc clairement à mi-chemin entre le libre et le propriétaire.

Les forces en présences

Mais revenons à notre “guerre” larvée et intéressons-nous aux forces en présence

Oracle

Le méchant de l’Histoire. Fondé en 1977, Oracle n’est pas ce qu’on pourrait appeler une entreprise issue des nouvelles technologies mais un dinosaure de l’informatique de gestion qui a su au fil des décennies s’adapter aux changements et prospérer grâce à son moteur de base de données.

Cette culture tranche vraiment avec celle de Sun Microsystem (plus dans la mouvance Hippie) qui fut à l’origine de Java et qu’Oracle a racheté l’année dernière. Ce clash culturel a généré beaucoup de craintes (fondées ou non) autour de l’avenir de Java. Ainsi, même sans entreprendre aucune action (au delà du rachat de Sun), Oracle mettait déjà en émoi la Javasphère.

Si l’entreprise semble préférer mettre en avant son service juridique plutôt que sa R&D, il faut quand même lui reconnaitre qu’un certain nombre de contributions dans le monde de l’Open Source comme Eclipselink (ex Toplink), Berkley DB ou Xen.

Pour résumer l’attitude d’Oracle : ils n’ont pas absorbé Sun par philanthropie et comptent bien gagner de l’argent avec Java.

Google

En moins de 15 ans d’existence, Google a su monter un empire en trustant le marché de la publicité en ligne. Société de geeks et de développeurs (pas grand chose à voir avec Oracle), elle est l’ami de tous les technophiles. Les nombreux produits gratuits qu’elle distribue ont fait sa renommée et sa puissance. Google est à même d’imposer au marché des technologies et des outils sans que cela apparaisse comme de la conquête de part de marché et de l’éviction de société concurrentes. Effrayante et fascinante Google est dans une position assez unique dans le monde.

Sur le front de Java qui nous intéresse, Google est en quelques années devenu un acteur majeur de la communauté. Outre ses contributions à travers des bibliothèques Open Source comme Guava ou des frameworks comme Guice, Google est surtout l’instigateur d’une plate-forme Java pour le Cloud (Google App Engine) et de la fameuse plate-forme mobile Android qui a déchainé les foudres d’Oracle.

Ces deux dernières contributions conséquentes ont été élaborées en contournant le JCP. GAE constitue clairement une version propriétaire de Java EE (certaines API Java sont acceptée ou non selon le bon vouloir de Google) ce que Microsoft fit à la fin des années 90 avec nettement moins de popularité et un procès perdu. Quant à Android, c’est Java ME repensé de 0, là encore sans passer par la case JCP et une concertation avec la communauté (motivation supplémentaire dans le procès d’Oracle contre Google). Cela n’ôte rien à la qualité et l’intérêt de ces technologies, mais force est de constater que Google utilise le travail du JCP pour créer un environnement propriétaire sans renvoyer l’ascenseur et se soucier des concepts de base de la plate-forme (run everywhere).

Une forme de squat en quelque sorte, mais un squat super sympa où on se permet d’inviter tous ceux qui veulent à un buffet gratuit. C’est en fait un copier coller de la stratégie de Google consistant à s’approprier un contenu (comme la numérisation de livre sans l’accord des éditeurs) et de diffuser ce contenu gratuitement. Le consommateur L’utilisateur final est ravi, et le propriétaire de contenu spolié est montré du doigt comme un grincheux en retard sur son époque.

La fondation Apache

Créée en 1994, cette fondation pour le logiciel libre s’est délibérément orientée vers la technologie Java depuis la fin des années 90. Elle édite le serveur Tomcat qui implémente un sous ensemble minimal de Java EE et sert de base à une grande partie des développements répondant à un autre standard que Java EE comme Spring notamment.

L’autre projet Apache, sous les feux des projecteurs depuis plusieurs semaines c’est Harmony, une implémentation de la plate-forme Java SE qui sera probablement une des victimes de la bagarre actuelle comme on le verra plus loin.

IBM

On a gardé le meilleur pour la fin. Si j’ai utilisé le terme “Dinosaure” pour Oracle, que dire d’IBM dont la fondation remonte à 1896 ? Cette entreprise qui a vu naître l’informatique, n’a clairement pas la culture Internet dans ses gênes, toutefois, elle a su traverser les âges et les évolutions technologiques en prospérant jusqu’à devenir le géant qu’elle est aujourd’hui.

La taille de son catalogue logiciel, matériel et de service est sans commune mesure avec un autre acteur du marché et les multiples doublons de produits et d’offres qu’il comporte amène parfois Big Blue à avoir des comportements contradictoires et difficilement compréhensible de l’extérieur.

Au dela de cet aspect un peu brouillon, IBM reste l’un des acteurs les plus actifs de l’Open Source. Que ce soit sur Linux, Eclipse ou les dizaines de projets open source pilotés, initiés ou financés par IBM, la société déploie des ressources colossales dans l’écosystème Open Source mondial.

Autant dire que quand IBM prend en main un projet, celui-ci peut prendre un essor incroyable ou être réduit en poussière en quelques années sans que l’on sache toujours pourquoi. Les aficionados d’OS/2 dans les années 90 savent de quoi je parle.

Cette image un peu flou autour d’IBM et son incapacité à communiquer clairement sur une stratégie compréhensible par le commun des mortels autour de ses produits, alimente clairement l’inquiétude de la communauté Java à l’annonce du ralliement de Big Blue à Oracle dans le support d’OpenJdk et donc l’abandon (ou du moins la mise en péril) d’Apache Harmony qu’IBM sponsorisait jusqu’ici.

Pourquoi ça bouge ?

En fait, la bonne question serait plutôt “pourquoi ça n’a pas bougé plus tôt ?”. Ces dernières années, un certain nombre de chantiers dans l’univers Java étaient au point mort à cause de la situation de faiblesse financière dans laquelle se trouvait Sun. Durant cette période où Sun était dans la plus grande difficulté pour assumer son rôle de pilote, le monde Java s’est un peu développé de manière anarchique créant des choses intéressantes (Android et GAE notamment) mais aussi pas mal de cacophonie.

La période du rachat par Oracle ralentit encore plus les évolutions des différentes plate-formes en créant beaucoup d’attentes. Enfin, le mélange détonnant de la culture Oracle dans celle de Sun créa également de grosses tensions avec son lot de démissions et de restructurations et occasionna de nouvelles pertes de temps.

Mais après cette phase de prise de contrôle, Oracle a manifestement décidé de siffler la fin de la récré et de passer à l’action en prenant comme première cible Google.

Les fronts du combat

Java ME

C’est donc sur Java Micro Edition qu’Oracle a choisi d’ouvrir les hostilités. Comme évoqué plus haut,cette Edition de java est en panne depuis plusieurs années et n’a pas vraiment bonne presse chez les développeurs.

Lorsque Google décide de lancer Android en 2007, ils écartèrent Java ME (l’histoire ne dit pas clairement s’ils envisagèrent de l’utiliser) et décidèrent de partir de zéro en créant leur propre version de Java : Dalvik qui est une sorte de fork de la JVM. Android propose dans son SDK une grande partie des API de Java SE enrichi d’OpenGL ES en provenance de ME et d’autres API ou outils assez fréquents dans les développements Java (SQL Lite, Junit ou Commons Codec entre autres). Le cocktail final est bien plus riche que ME et propose donc une plateforme cohérente qui vient concurrencer ME.

A la suite de l’annonce d’Android, Sun n’eut pas la réaction attendue par les analystes. Le CEO de Sun salua même Google dans un billet sur son Blog “Congratulations Google“.  Cette non réaction de Sun fut imputée à l’état de faiblesse de la société et à un constat de l’impasse dans laquelle était enferrée Java ME.

Mais Oracle allait revenir sur ce dossier dès l’acquisition de Sun bouclée. Je ne vais pas décrire ici les hostilités entre les deux géants, un petit coup d‘Oracle contre Google dans… Google ;-) devrait vous permettre de rattraper les épisodes si vous étiez dans une grotte depuis le mois d’août.

L’issu de ce combat est incertaine et les arguments en faveur des deux géants sont recevables, cependant je m’abstiendrai de hurler avec les loups contre Oracle et me rangerai à l’avis du Touilleur sur ce point : Il est légitime qu’Oracle défende son produit et ça ne ferait pas de mal à Google de passer par le tiroir caisse pour s’être appuyé sur une techno et une communauté qui à la base n’est pas la leur (le fameux Squat cool).

Java SE

Le front Java SE contre Apache Harmony n’a pas été ouvert par Oracle, mais par Sun qui n’a jamais fait les adaptations nécessaires à la licence du TCK pour permettre à Apache d’en bénéficier sur son implémentation de Java.

Harmony constitue donc une distribution de Java qui ne peut pas s’appeler “Java” et ne peut pas être certifiée comme telle. Toutefois le projet avait un contributeur et un allié de taille : IBM. En froid avec Sun sur bien des points et notamment la gouvernance de Java, IBM contribuait à Harmony pour participer à un concurrent du projet Open JDK lancé par Sun.

Oracle s’est contenté de retourner IBM et de vider Harmony d’une grande partie de ses développeurs. En échange Oracle aurait donné à IBM des garanties concernant le JCP dont le détail n’a, à ma connaissance, pas encore filtré.

Résultat, Harmony est en grosse difficulté et si un acteur majeur ne vient pas à son secours, a de forte chance de mettre la clé sous la porte. Tout ça au profit du projet Open JDK, lui aussi Open Source mais piloté par Oracle.

La communauté Java s’est beaucoup émue de cette passe d’arme et la fondation Apache ne l’a pas encore digérée. A tel point que l’organisation a annoncé le 9 novembre son départ du JCP (après une réélection à 95% des voix). Oracle ne cherche manifestement pas à brosser les développeurs dans le sens du poil mais à rassurer les décideurs en s’alliant avec Big Blue et en tentant de redonner de la cohérence et du pouvoir à la gouvernance autour de Java.

La question qui reste en suspend c’est : est-ce qu’un acteur conséquent viendra s’opposer à cette mise au pas en ré-injectant des ressources dans Harmony ? Certains souhaitent que Google joue ce rôle, mais je ne suis pas sûr de saisir l’intérêt qu’ils pourraient avoir à le faire.

Java EE

Pas de front de ce côté là pour le moment, mais je me permets de faire quelques conjectures (histoire d’être ridicule plus tard).

Depuis presque un an Java EE 6 propose enfin une stack cohérente pouvant entrer en concurrence directe avec les solutions de contournements développées ça et là pour palier aux manquements passés de Java EE (j’ai réussi à ne pas citer Spring). Les éditeurs qui jouent le jeu du JCP vont investir des sommes importantes pour concevoir de nouvelles versions de leur serveur d’application Java EE pour supporter cette nouvelle version. Je serais surpris qu’Oracle ne soit pas en train de chercher un axe juridique pour attaque VMware et Spring sur des histoires de noms ou de brevets autour de leurs serveur d’application par exemple. L’univers des avocats étant tortueux, il n’est pas impossible qu’il trouve quelque chose.

Autre cible toute désignée : Google et GAE. Cette plate-forme géniale reste quand même une version propriétaire de Java. Dès qu’une application est développée sur GAE elles devient prisonnière de la plate-forme (impossible de la faire tourner ailleurs) et ça c’est contraire à l’esprit de Java. Je ne serait pas surpris qu’Oracle organise une descente dans le Squat de Google pour récupérer quelques dollars au passage…

Les issues possibles

L’arrivée d’Oracle aux manettes de Java, c’est un peu se retrouver sur un grand 8  après avoir écumé tous les carrousels de la foire. Ca secoue beaucoup et dans toutes les directions. La communauté Java voit globalement d’un mauvais oeil toute cette agitation. Je ne suis pas non plus embalé par tout ce qui se passe mais j’aurais tendance à penser que c’est mieux que l’immobilisme auquel nous avait habitué Sun : ça fait avancer les choses.

Soit Java sortira renforcé, soit l’action d’Oracle précipitera la chute de la plateforme et là nous serons au moins qu’il faut passer à autre chose.

Ces dernières semaines l’idée du Fork de Java flotte dans  la communauté. Je pense que c’est vraiment de l’ordre du fantasme surtout quand on voit qu’un projet comme Harmony lancé il y a 5 ans n’est pas encore totalement achevé malgré l’implication d’un poids lourd comme IBM.

L’issue que je vois, est plus pragmatique : quand Oracle aura fini de relever les compteurs et aura un peu mis au pas la cacophonie autour de Java, la plateforme repartira sur des bases plus claires et plus rentables. Reste à savoir si nous serons en accord avec cette nouvelle politique.

TwitterFacebookGoogle+LinkedIn
  • http://twitter.com/welkaim william El Kaim

    “ça ne ferait pas de mal à Google de passer par le tiroir caisse pour s’être appuyé sur une techno et une communauté qui à la base n’est pas la leur (le fameux Squat cool).”

    C’est bien dommage de lire une analyse telle que celle ci sur le blog d’une société qui se fait le chantre du développement sur des systèmes open source.

    Si Sun ne l’a pas fait et que Google l’a fait, d’après vous cela n’est pas déjà quelque chose d’extraordinaire? D’après vous cela n’a pas couté d’argent à Google? Google n’a pas pris de risque, ni innové? Google n’a t’il pas créé ses propres communautés et rallié plus de 20 grand fabricants dans open handset alliance en partant de rien? Pourquoi d’autres ont échoué ou on du mal a le faire (Intel, Nokia, etc.)? Grace a Google n’a t’on pas aujourd’hui un OS pour équipement mobile et un ecosysteme qui concurrence Apple et Microsoft (qui ne sont pas des ardents défenseurs de java reconnaissons le) qui utilise Java (et donc le renforce) dans le mobile et les objets communicants?

    Oracle n’est pas pour l’open source, Oracle fait payer cher ses produits et rend les utilisateurs captifs, Oracle n’est pas un innovateur (il rachète les technologies des autres et les fait payer cher, ou les détruit).

    Android peut se passer de Java, et les développeurs peuvent se passer de Java aujourd’hui. C’est la communauté qui fait le produit, pas l’éditeur. En se coupant de sa communauté, Oracle fait la même erreur que Microsoft il y a quelques années. Il suffit de voir ce qui se passe pour MySQL et OpenOffice pour comprendre ce qui va se passer pour Java. Un fork et des nouveaux langages qui ne s’appelleront pas Java … et qui seront compatibles avec Dalvik …

    Et quand Oracle fera vivre ses équipes consulting (et celles d’IBM) avant les sociétés de conseil et de développement qui ont fleuri autour de Java, sans même “passer par le tiroir caisse pour s’être appuyé sur une techno et une communauté”, alors elles regretteront de ne pas s’être battues … en espérant que Google verse des millions de dollar à Oracle.

    • http://www.next-presso.fr Antoine Sabot-Durand

      Désolé que vous ayez eu une lecture aussi radicale du post. J’apprécie beaucoup Google et ses produits, mais ça ne m’empêche d’avoir un regard critique sur leurs activités. Je pense qu’il faut en finir avec le politiquement correct sur Google et je revendique le droit à pouvoir critiquer certaine orientations de Google sans être identifié comme un ennemi de Google ou de l’Open Source.Quoiqu’on en dise le succès d’Android est lié à Java (même si ce n’est pas la seule raison de ce succès) et permettez moi de penser que la plate-forme n’aurait pas connu le même engouement avec Python ou Javascript comme langage principal.Se battre pour l’éparpillement de Java ne me semble franchement pas constructif et je ne vois pas en quoi il est sacrilège de dire qu’avec ses 50 milliards et quelques de cash flow, Google peut passer au tiroir caisse.Quant à Oracle, ce n’est pas vraiment ma tasse thé contrairement à ce que vous supposez, mais j’aurais des propos moins extrémiste à leur endroit. Cette boîte créé de la valeur avec des produits qui ne sont effectivement pas grand public : de la base de données, des ERP et autres applications métiers. Il est clair qu’elle apparaît nettement moins sympa et cool que Google (même à moi) mais ça ne veut pas dire qu’elle n’a pas de valeur. J’espère que vous comprendrez que le fait que je n’adhère à votre point de vue extrêmement manichéen veut dire que je suis pro Oracle et anti Google. La vérité est beaucoup moins simple, malheureusement.

  • Henri Gomez

    Excellent article.

    Quelques précisions toutefois.

    IBM n’est pas très actif coté Harmony depuis quelques temps déjà.

    Et il faut savoir qu’en interne même, il n’y a plus qu’une seule JVM (j9), les implémentations As/400 et zSeries ont été arrêtées.

    J’ai donc quelques doutes sur de grosses contributions d’IBM sur OpenJDK.

    Probablement des aides au port sur AIX voir PASE / i5/OS, mais je doute que les technos sensibles comme le Garbage Collector ou le JIT du Lab d’Hursley, se retrouve dans OpenJDK.

    Sur le reste, il me parait normal que Google paye les licences d’usage des technos JVM et du langage Java, comme beaucoup d’autres l’ont fait avant .

    La communauté doit rester vigilante autour de Java SE et plus généralement sur la disponibilité gratuite de VMs de bonnes qualités.

    OpenJDK semble une bonne piste, pour peu que le projet ne vienne pas à mourir comme cela semble le cas pour Harmony.

  • http://twitter.com/loic_d Loic Descotte

    Intéressant! Ton point de vue sur Google change un peu de ce qu’on lit partout, il est plus nuancé et c’est appréciable (même si j’aime beaucoup ce que fait google) !

  • http://blog.hikage.be/ Gildas Cuisinier

    Je commenterai de manière plus complète ce soir, mais dans l’actualité Java, il manque une information. Certainement moins importante, mais qui fait également le buzz pour le moment et qui reste problématique pour une minorité de développeur : L’abandon de développement de Java par Apple pour Mac OS X.

    Apple ayant annoncé que la prochaine version ne viendrait plus avec Java et qu’ils ne continueraient plus le développement du JRE/JDK Home made, une question subsiste ? Est-ce qu’ils vont fournir leur code à OpenJDK (J’en doute), est-ce que Oracle va prendre en main le développement d’une JVM pour Mac OS X, sachant que c’est tout de même une extrême minorité et donc certainement pas un marché intéressant pour Oracle ?

    Il reste le port BSD de OpenJDK, qui reste assez prometteur ( http://blog.hgomez.net/?p=610 ) mais dont la partie graphique est tout simplement ‘moche’ pour l’heure en mode Swing.
    Je fournirai un screenshot de Intellij Idea ce soir pour montrer le résultat :=)

    • http://www.next-presso.fr Antoine Sabot-Durand

      Utilisateur Mac, je suis touché au premier chef par cette nouvelle qui me fera peut être basculer à terme sous Linux. Je n’ai pas évoqué cet épisode parce qu’il est hors sujet et que les motivations d’Apple dans cette annonce sont plus lié au contrôle de leur écho système et de leur futur Appstore qu’à une attaque contre Java.

  • http://www.next-presso.fr Antoine Sabot-Durand
  • Geoffray

    Merci pour cet article très clair,
    Pour commentaires je rappelle qu’Oracle est dans Java jusqu’au cou car c’est Java qui fait et fera les ERPs maisons (Oracle Application, Siebel, PeopleSoft, ATG,…). De ce fait Java est l’arme anti-SAP d’Oracle et quoi qu’on en dise l’ennemi number 1 d’Oracle reste SAP (et pas IBM qui est un gros intégrateur d’ERP avec IGS, et pas Google qui ne vient pas les chatouiller sur ce business).
    On ne le voit encore pas trop car nous sommes dans notre quotidien naturellement plus proches du middleware que des ERPs mais ca ne fera que se renforcer dés 2011 avec l’arrivée des ERPs Oracle de nouvelle génération codés en Java, qui communiquent en SOA et sont exposés dans les portails maison.
    Pas non plus trop de panique à mon avis sur l’ouverture de Java car Oracle est bien conscient d’avoir acheter via Sun la communauté et que la communauté sera elle aussi très importante pour customiser et étendre les ERPs de demain. Pour faire simpliste les ERPs Oracle sont / seront customisables en Java, ceux de Salesforce en Apex et ceux de SAP en ABAP.
    Encore un peu de patience pour clarifier tout cela. Quelques arrangements juridiques avec SAP et Google et tout se remettra dans l’ordre avec en plus un Oracle offensif.
    Évidemment c’est intellectuellement moins sexy qu’un JCP 100% communautaire mais c’est dans l’ordre des choses en particulier aux US où l’on fait du logiciel pour gagner du cash et pas pour compter le nombre de comiters.

    • http://www.next-presso.fr Antoine Sabot-Durand

      Je ne pense pas qu’Oracle souhaite fermer le JCP. Je pense qu’ils vont plutôt soigner les bons élèves (Redhat, par exemple, qui a joué un rôle important dans pas mal de spécifications clés de Java EE 6) tout en gardant le contrôle sur l’organisation avec IBM.

  • http://twitter.com/toutantic Aurélien Pelletier

    En tout cas la fondation Apache sort la hache de guerre:

    “The ASF will terminate its relationship with the JCP if our rights as implementers of Java specifications are not upheld by the JCP Executive Committee to the limits of the EC’s ability. The lack of active, strong and clear enforcement of those rights implies that the JSPA agreements are worthless, confirming that JCP specifications are nothing more than proprietary documentation.”
    https://blogs.apache.org/foundation/entry/statement_by_the_asf_board1

    Combien de JSR implémenté par l’ASF ?

    • http://www.next-presso.fr Antoine Sabot-Durand

      Prévisible malheureusement. Apache aurait du réagir depuis longtemps au lieu de rester au JCP pour voter contre tout.
      Apache implémente pas mal de JSR. A chaud comme ça, je peux citer JSF, CDI, EJB, Servlet, JSP, JPA et sûrement pas mal d’autres. En revanche ils n’ont, à ma connaissance, plus d’implémentation de référence dans leur giron.

  • Elecharny

    Bon résumé.

    Petites précisions concernant les contributions OSS d’Oracle :
    - TopLink a été développé par la société WebGain, racheté en 2002 par Oracle
    - Berkeley DB a été développé par SleepyCat, racheté par Oracle en 2006
    - Xen n’a pas été inventé par Oracle. Oracle se contente de s’appuyer dessus pour ses solutions de VM

    En pratique la participation d’Oracle à l’OSS consiste à racheter les sociétés qui l’intéresse (grosso-modo).

    Concernant Google, je ne suis pas d’accord avec ton analyse – ni avec celle de henry -, je ne vois pas pourquoi Google payerait un centime pour avoir développé complètement une VM concurrente de la JVM, faute de pouvoir utiliser celle de Java. C’est une question de philosophie. Cela n’ôte rien au fait que Google peut être analysé comme une société prédatrice, avec potentiellement tous les défauts de M$, oracle, Ibm etc…

    • http://www.next-presso.fr Antoine Sabot-Durand

      Merci pour ces précisions. Ca ne redore effectivement pas le blason d’Oracle concernant L’OSS.
      Je comprends ton point de vue concernant Google : “ils ont le droit de forker sans rendre de compte”. Toutefois, la thèse que je défends dans l’article est que Java n’est pas un projet Open source comme les autres et qu’un partie importante de l’universalité (donc de la valeur) de la plateforme vient de l’instance de pilotage : le JCP. Ca ne me paraît donc pas complètement délirant que le fait bénéficier de l’aura de Java pour attirer des développeurs sur sa plateforme implique une contre partie quand d’autres consacre des ressources conséquentes à faire évoluer la plateforme et assurer une partie de sa pérennité.

  • http://www.next-presso.fr Antoine Sabot-Durand

    Update : Apple ralie OpenJDK pour le JDK 7 de Mac OS. Oracle gagne un nouvel allié de poids ! http://tcrn.ch/d5PHI1