|
Distinguished Engineer et responsable des technologies logicielles chez Sun, Bob Brewin analyse pour nous les conséquences de la publication en code source libre de la technologie Java pour Sun, pour les développeurs et pour les clients
Bonjour et bonne année à tous les lecteurs de Sun Inner Circle ! Dans le précédent numéro, je vous parlais d’un sujet qui me tient particulièrement à cœur en tant que responsable des TI de Sun : la sécurité. Ce mois-ci, j’ai choisi de couvrir l’actualité la plus brûlante de Sun en évoquant l’impact phénoménal occasionné par la décision de mettre notre implémentation de la plateforme Java à la disposition de la communauté des développeurs en code source libre.
Sun a d’ores et déjà pris l’engagement irrévocable de faire passer l’intégralité de son portefeuille logiciel dans le domaine du code source libre. Durant ces dernières années, Sun a clairement signifié sa détermination en alignant une série impressionnante de projets en code source libre dont OpenSolaris OS, NetBeans software, OpenOffice, GlassFish et Project Looking Glass — pour ne nommer que les principaux. En ouvrant les sources de sa technologie Java, Sun s’affirme non seulement comme le plus grand fournisseur mondial de logiciel à code source libre, mais aussi comme le principal contributeur à la communauté du logiciel libre et à la communauté GPL.
Initiative historique parfaitement fondée sur le plan stratégique, la décision d’ouvrir le code source de Java soulève néanmoins de nombreuses questions. Pourquoi choisir ce moment pour faire passer Java en code source libre ? Quelles sont les visées qui sous-tendent ce calendrier ? Quel est l’impact de cette décision pour la communauté du code source libre ? Quel est l’avenir de la technologie Java après cette annonce ? Et quelles sont les incidences pratiques pour les directions des entreprises et les développeurs ?
Afin de tirer toutes ces questions au clair, j’ai décidé de partager la rédaction de cette lettre avec Bob Brewin, Distinguished Engineer et responsable des technologies logicielles chez Sun. Impliqué au quotidien dans tous les aspects du développement logiciel chez Sun, Bob Brewin s’occupe notamment du rôle du code source libre, des priorités et des missions de développement, ainsi que de la supervision des entités travaillant sur les technologies Java. Autant dire qu’il est l’interlocuteur idéal pour nous parler des motivations sous-jacentes à la décision de Sun, mais aussi de la teneur exacte de notre annonce et de ses implications pour les clients utilisateurs de nos logiciels, pour les développeurs et pour Sun.
Je passe donc le témoin à Bob Brewin…
Bob Worrall
Responsable des TI, Sun Microsystems
Merci à Bob Worrall pour cette occasion de m’exprimer sur la décision de Sun d’ouvrir le code source de la plateforme Java. Étape majeure dans le projet global consistant à faire basculer l’intégralité du portefeuille logiciel Sun dans le domaine du code source libre, cette initiative a d’énormes implications pour Sun et ses communautés de développeurs, de clients et de partenaires. Je vais d’abord tenter de répondre aux interrogations de Bob Worrall sur la façon dont Sun a choisi son moment pour ouvrir les principaux composants de son implémentation de Java à la communauté du code source libre.
Deux raisons nous ont poussés à agir maintenant : l’existence d’une forte demande pour les produits à code source libre chez nos clients, et le degré de maturé atteint par la technologie Java — une plateforme désormais solidement établie et parfaitement stable, adossée à une communauté dynamique déterminée à la soutenir et à poursuivre son évolution. L’intérêt actuel des clients pour le code source libre s’explique par de multiples facteurs — indépendance vis-à-vis des fournisseurs, flexibilité accrue des applications, réduction des coûts liés au développement et au centre de données, etc. —, mais le mouvement de fond en faveur de cet environnement tient avant tout au fait que le code source libre est totalement entré dans les mœurs des développeurs d’applications. Plus ces derniers sont nombreux à concevoir des logiciels exécutables sur des plateformes à code source libre, et plus les clients peuvent tirer profit de la flexibilité et de l’interopérabilité associées aux standards ouverts.
Pour Sun, ce cercle vertueux se résume en un précepte : c’est le volume d’activité qui détermine le volume d’opportunités. En rendant la technologie Java plus attrayante pour les développeurs, Java Open Source maximise le nombre d’individus susceptibles de concevoir des dispositifs et des services innovants pour la plateforme Java — une augmentation de volume qui se traduira en retour par un volume accru d’opportunités pour Sun et ses partenaires.
Java et le code source libre : deux environnements qui grandissent ensemble
Le fait est que, au moment même où le logiciel à code source libre s’est imposé comme le paradigme de référence pour le développement d’applications, la technologie Java a gagné en maturité jusqu’à devenir le langage logiciel le plus utilisé dans le domaine de l’innovation réseau. Qu’on y songe : Java est aujourd’hui exécuté sur plus d’équipements et dans plus d’applications que Windows, Linux et Solaris réunis ! Au cours des 11 dernières années, Sun et la communauté Java au sens large ont engendré un marché et une plateforme d’applications mobiles, de bureau et d’entreprise d’une popularité, d’une ampleur et d’un dynamisme exceptionnels.
Connaissant les avantages du code source libre, beaucoup se sont interrogés sur les raisons pour lesquelles Sun n’avait pas pris plus tôt la décision d’ouvrir sa plateforme Java. La question était à la fois de laisser évoluer la plateforme jusqu’à sa pleine maturité, et de disposer d’une communauté suffisamment solide pour assurer la compatibilité des implémentations de la technologie Java, jusqu’à présent garantie par Sun, conformément au principe « write once run anywhere » (une seule version exécutable sans modification sur diverses plateformes).
L’ouverture de la technologie Java entraîne certes le risque de voir apparaître des versions divergentes ou incompatibles. Mais en laissant à la plateforme Java le temps de mûrir et d’asseoir sa base installée, Sun s’est donné les moyens de fournir une implémentation ouverte dont la communauté du code source libre saura probablement préserver la compatibilité des versions à venir.
Quelle est la teneur de l’annonce de Sun ?
Lors de la conférence JavaOne 2006, Sun a pris l’engagement de faire passer à terme l’intégralité de sa plateforme Java en code source libre. Le 13 novembre dernier, Sun a introduit un premier ensemble de composants à code source libre issus des trois grandes implémentations de Java :
Chacune de ces éditions a été publiée sous licence GNU General Public License (GPLv2). Plus précisément, Sun fait passer en code source libre les composants clés de Java SE (notamment la machine virtuelle HotSpot, le compilateur javac et la documentation en ligne JavaHelp) et de Java ME (en particulier les bases Sun de code optimisé CLDC et CDL). De plus, Sun a réitéré son engagement à publier l’intégralité de Java JDK sous licence de code source libre pour le premier semestre 2007.
Le choix du modèle de licence pour les différentes implémentations est l’un des aspects les plus critiques de la décision. Java SE JDK est publié en licence GPLv2 avec exception Classpath, tandis que Java ME est disponible sous licence GPLv2 simple. En se positionnant ainsi sur le principal modèle de licence central de la communauté GNU/Linux, Sun tend la main à un certain nombre de développeurs qui, jusqu’à présent, n’auraient pas spontanément ancré leurs projets sur la plateforme Java. Le choix du modèle GPL devrait en outre valoriser l’investissement des clients déjà convertis au code source libre, en particulier au sein de la communauté Linux.
| |
Sun est désormais le principal contributeur à la communauté du logiciel libre et à la communauté GPL.
|
Il est certain qu’en ouvrant les sources de la technologie Java, Sun prend le risque de susciter des implémentations concurrentes de la plateforme Java. Mais dans le même temps, Sun injecte une valeur ajoutée irremplaçable dans le nouvel environnement Java à code source libre, tout en conservant la main sur les implémentations de référence Java SE et Java ME standard. En tant qu’architecte en chef de la technologie Java et du JDK, Sun met sur la table un ensemble complet de ressources de développement ainsi que de longues années d’expérience dans l’arbitrage des besoins complexes liés à l’écosystème Java — deux atouts qui l’aideront à conserver son rôle de guide en matière de compatibilité de la plateforme Java.
Quelles seront les nouvelles occasions engendrées par la plateforme Java à code source libre ?
Après avoir examiné la teneur et les motivations de l’initiative de Sun, voyons quelles seront ses principales implications pour les clients, pour les développeurs et pour Sun elle-même. On peut d’emblée affirmer que l’ouverture des sources de la technologie Java représente un véritable bouleversement.
Pour les clients, la publication en code source libre de la technologie Java est un événement riche de promesses. Dès lors que la première des plateformes Web est disponible en code source libre, les clients qui adoptent la technologie Java le font sans aucun risque de dépendance vis-à-vis d’une technologie ou d’une implémentation particulière. De plus, la gratuité de la technologie Java aura pour effet d’activer les forces du marché contribuant à stimuler la concurrence et à faire baisser les prix. Enfin, Sun et les communautés Java Community Process (JCP) et Java Specification Request (JSR) continueront à orienter le processus de développement, permettant ainsi de passer à moindre coût d’une implémentation de Java à une autre.
Le passage de la technologie Java en code source libre sera également un tremplin pour l’innovation. Le monde du code source libre se caractérise en effet par un haut niveau d’émulation entre les développeurs, qui rivalisent d’ingéniosité pour concevoir des applications toujours plus performantes et fonctionnelles. Résultat : des produits de meilleure qualité, des offres plus économiques et une baisse du coût total de possession. Ces améliorations seront encore plus tangibles dans le contexte du centre de données, où la priorité est de fournir des services d’une qualité optimale tout en minimisant les coûts. En choisissant une implémentation en code source libre de la technologie Java, les développeurs se donnent les moyens d’intégrer des applications d’entreprise de grande envergure pour un coût infiniment moindre.
Du point de vue des développeurs, la technologie Java en code source libre offre une plus grande flexibilité, ainsi que de nouvelles possibilités — parfois inattendues — d’utilisation de la technologie Sun. Pour se limiter à un exemple particulièrement frappant, les environnements Web 2.0 connaissent une prolifération de nouveaux langages dynamiques (du type Ruby on Rails), dont le développement s’effectue à l’extérieur de Sun et qui, pour la plupart, sont exécutés sur un interpréteur ou une machine virtuelle spécifique.
Avec la disponibilité d’une machine virtuelle Java en code source libre, jointe à la mobilisation de toute la puissance de développement de Sun et de sa communauté pour assurer le soutien de ces langages dynamiques, il est possible sinon probable que les bénéfices de la JVM s’étendent au-delà du seul langage Java. En d’autres termes, la machine virtuelle Java pourrait devenir une technologie réutilisable pour un grand nombre de langages différents. Les développeurs pourraient ainsi profiter du haut niveau de stabilité et de performance de la machine virtuelle Java tout en ayant la capacité de l’utiliser pour leurs propres applications, Java ou non.
Au bout du compte, le passage en code source libre promet d’attirer un plus grand nombre de développeurs au sein de la communauté Java, ce qui se traduira par une concurrence plus relevée, gage d’innovation et d’économies pour les clients. Au risque de nous répéter : c’est le volume d’activité qui détermine le volume d’opportunités et la valeur ajoutée.
Bob Brewin
Sun Distinguished Engineer
Responsable des technologies logicielles
Sun Microsystems, Inc.
|