JavaScript change de licence : un alignement sur le W3C

JavaScript ECMAScript licence

Fraîchement adoptée, la spécification ECMAScript 2022 adopte une licence plus permissive qui l’aligne sur celle des standards W3C.

ECMAScript, désormais mieux aligné sur les autres standards du web ? Mozilla veut y croire, maintenant que la spécification est sur une licence plus permissive.

Cette licence s’inspire de celle qui fait référence chez le W3C depuis 2015. Elle en reprend les principales dispositions. Et lève ainsi des barrières que posait la licence précédente – applicable à ECMAScript depuis 2009 – en matière de création de dérivés.

Dans la pratique, ces barrières n’ont pas créé de problèmes, affirme Mozilla. Mais « cela ne reflète pas notre vision de l’open source, surtout pour une brique fondamentale comme JavaScript [nom usuel d’ECMAScript, ndlr] ».

À l’invitation – entre autres – de la fondation, Ecma International avait validé cette licence alternative en mars dernier. Elle a donc commencé par l’appliquer à JavaScript (spécification ECMA-262, dont elle a adopté la version 13 à l’occasion de son assemblée générale annuelle, organisée les 22 et 23 juin). Ainsi qu’à son API d’internationalisation (ECMA-402, passée en v9).

Parmi les évolutions fonctionnelles apportées en parallèle à la spécification JavaScript :

– Opérateur await utilisable au plus haut niveau
– #x in obj pour vérifier la présence de champs privés dans des objets
– Méthode at pour l’indexation relative des chaînes, des tableaux et des tableaux typés
–  Object.hasOwn comme alternative à Object.prototype.hasOwnProperty pour indiquer si un objet possède une propriété

La spécification de l’API d’internationalisation fournit notamment des fonctions de comparaison de chaînes, de formatage de nombres/dates/listes, de pluralisation et de segmentation de texte.

Photo d’illustration © Dmitry Baranovskiy – CC BY 2.0