Personellement, je ne m'inquiète pas trop et ça a plutôt l'air de la tempête dans un verre d'eau. Entre l'effet panique de cette annonce et ce qu'il y a réellement dans leur document reprenant les composants la partie commerciale de leur produit, il y a grand marge.
D'abord si on reprend la grille de ce document en page 5, vous constaterez qu'aucune des features mentionnées n'est présente dans l'open JDK. Donc si votre appli est capable de tourner sur open JDK, aucun soucis.
Ensuite, dans la grille on retrouve:
Les produits JRockit qui ne sont de toutes façons disponibles que sous forme d'archive et ayant leur propre license.
MSI Jre Installer: ceci fait l'objet d'un download à part avec il me semble ses termes de license et nécessite un compte oracle.
Java Flight Recorder, usage tracking et Mission control: pour activer ces fonctionnalités, il faut explicitement passer à la JVM le paramètre "-XX:+UnlockCommercialFeatures". Difficile de prétendre avoir activé ça par erreur et ne pas savoir que c'est payant...
Je regarde en arrière depuis que je fais du java. Je ne connaissais pas cette liste de features commerciales. Je ne savais ni qu'elles étaient commerciales ni qu'elles existaient. Mais j'ai du mal à comprendre comment on pourrait connaitre ces features sans savoir qu'elles sont commerciales et les utiliser "par hasard". Ce sont quand même des choses qui nécessitent une volonté explicite de les activer, de lire leur documentation et de comprendre que c'est payant :weird:Citation:
The Java SE 7 Update 4 release introduces a new flag, -XX:+UnlockCommercialFeatures. This flag enables Oracle Java SE users to control when licensed features are allowed to run. All commercial features started or controlled via the command line or dynamically during execution will be gated by this flag. By default, commercial features are not allowed to execute, and any usage requires an active unlocking either on the command line or dynamically during runtime, to help remove any accidental usage.
Alors ceux qui on voulu jouer au malin, ne pas payer et baser leur business model sur ce genre de feature, c'est bien dommage pour eux, mais s'assurer qu'on respecte les licences de tout ce qu'on utilise, ça fait partie aussi du boulot du programmeur. La jvm n'est qu'un point de check, il y a aussi les chiées de librairies java, les librairies natives, les bouts de code récupérés sur les forums, avec tous des licences différentes qu'il faut pouvoir gérer en fonction de la finalité de l'application que vous développez.
Personne n"irait télécharger la base de données oracle, l'installer et s'étonner que ce soit payant à l'arrivée. Pourquoi en serait-il différent pour des features documentées comme "commerciales" ?
La très grandes majorité des produits basés sur java n'utilisent aucune feature commerciale à ma connaissance. Et si vous les avez activées pour vous faciliter la vie en maintenance. Ben coupez les ;). Ca ne va pas tuer votre app.