Java, Linux et Microsoft

Il ne t’aura pas échapper, cher et précieux lecteur, que les relations entre certains grands groupes informatiques et la communauté Open source, sur laquelle les développements de Java s’appuient depuis l’origine, n’ont pas toujours été au beau fixe, ce qui est un doux euphémisme.

La dernière couleuvre en date qu’il nous a fallu avaler a sans aucun doute le rachat de Sun par Oracle. Sun, qui a toujours soutenu l’Open source, qui aida en son temps les premiers développements de Linux, en donnant son window manager Open win et nombre d’autres éléments, qui aida également le projet Blackdown, premier portage de la JVM sur Linux, avant que Sun ne décide d’assurer ce support lui-même. Oracle lors du rachat était vue comme une société étrangère à l’Open source, on se souvient des départs de figures emblématiques du JCP, je pense à Doug Lea notamment.

Une fois la couleuvre avalée il faut bien la digérer, et force est de constater que Java est aujourd’hui dans une forme olympique. Comme Neal Gafter nous l’avait dit à la What’s next, Oracle a appris à dialoguer et à travailler avec le monde de l’Open source, le JCP fonctionne bien, les JEP ont été créées, nous avons eu remarquable version 8 de Java, et la version 9 qui se prépare sera également une bonne version.

Parmi les groupes hostiles, Microsoft a sans aucun doute occupé une place de choix pendant une bonne quinzaine d’années au moins. On se rappelle de la glorieuse sortie de Steve Ballmer (alors CEO) « Linux est un cancer« , dont le goût plus que douteux et choquant le dispute à l’aveuglement.

On se rappelle aussi le procès entre Sun et Microsoft, qui permit à J++ d’exister puis de disparaître, et à Java de devenir ce qu’il est aujourd’hui. D’une façon indirecte, cela a aussi permis à C# de naître, comme quoi à toute chose malheur est bon.

Microsoft loves Linux
Microsoft loves Linux

Alors que signifie ce nouvel élan d’amour envers l’Open source, envers Linux, et envers Java ? Quelle mouche a-t-elle bien pu piquer Satya Nadella, nouveau CEO de Microsoft, pour qu’il nous fasse une telle annonce ?

On peut douter du caractère purement philanthropique de ce nouvel amour. Il a en fait un double sens. Le premier est historique, le second est stratégique.

De point de vue historique, c’est un fait, Microsoft utilise Linux, et gagne de l’argent avec. Linux est aujourd’hui utilisé pour 20% des applications sur le cloud Azure. Oracle et Microsoft on un accord, qui apporte entre autres un support commercial à des VM Linux embarquant des produits Oracle. Parmi ces produits se trouvent des JVM Oracle, se trouve aussi Weblogic. Déployer des applications Java dans le cloud Azure est donc possible, y compris avec un support commercial de premier choix.

D’ailleurs les choses ne s’arrêtent pas la, puisque dans l’offre commerciale Azure (par ailleurs extrêmement riche), se trouvent également des JVM Azul, du Tomcat en mode PaaS, un mode hybride entre IaaS et PaaS, dans lequel on peut déployer son propre serveur Java EE, etc… Sans parler du support de Docker qui de toute façon rend ces choses plus ou moins inutiles. Force est de constater que Microsoft a donc une offre Java sur Azure très complète et supportée commercialement.

Du point de vue stratégique, il est évident que l’hébergement cloud représente le nouvel el dorado pour les grands grouges. Amazon a ouvert la voie avec EC2 il y a près de 10 ans, Google n’a pas tardé à suivre, Oracle et Microsoft s’allient pour se positionner.

Mais alors, pourquoi ce revirement ? Le business est-il la seule raison à cela ? Peut-être. Patrick Chanezon nous apporte un autre éclairage dans une interview des Cast codeurs, par ailleurs passionnante.

Microsoft est une société de plateformes et de productivité
– Patrick Chanezon

Derrière les purs aspects business, Microsoft souhaite se recentrer sur ce qui a fait son succès : proposer des plateformes pour les applications d’entreprise efficaces et simples à utiliser. Il semble que cela passe aussi par un discours différent envers les groupes Open source notamment.

Durant des années les groupes C# / .NET d’un côté, et Java / Java EE se sont au mieux ignorées, au pire regardées en chien de faïence. Les choses ne vont pas changer en un jour, et les experts Java ne vont pas se métamorphoser en experts C#, non plus que l’inverse. Mais il est clair que les applications vont cohabiter sur les mêmes infrastructures, les mêmes plateformes cloud et dans les mêmes systèmes. Ces applications dialoguent, s’échangent des données. Au sein d’une même application ou d’un même système d’applications, différents modules, écrits dans différentes technologies, cohabitent déjà.

Les temps changent, celui de la concurrence des langage est en train de passer. Il fait place à celui de la concurrence des plateformes.