php-pecl-jsonc-1.3.1
En raison d'un problème de licence (php bug #63520) sur l'extension standard json, intégrée à PHP, j'ai écrit une nouvelle extension pour la remplacer.
Cette nouvelle extension, temporairement nommée jsonc est une alternative libre publiée sous licence PHP.
Il s'agit d'un renommage du paquet php-pecl-json, disponible précédemment.
La licence de l'extension actuelle n'est pas libre car elle contient une restriction d'utilisation (Ce logiciel doit être utiliser pour faire le bien, pas le mal).
Son alternative est donc libre car je préfère citer Albert Einstein :
Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire.
Les sources sont sur le projet github : pecl-json-c
Pour l'installer, avec PHP 5.4 :
yum --enablerepo=remi install php-pecl-jsonc
Il est nécessaire de désactiver l'extension json.so (dans /etc/php.d/json.ini) avant d'activer jsonc.so (dans /etc/php.d/jsonc.ini).
Avec PHP 5.5, son installation est automatique car l'extension json non libre a été supprimée. C'est aussi le cas dans plusieurs distributions Linux :
- Debian (unstable) voir Bye bye non-free PHP JSON extension
- Fedora 19
- Mageia (chauldron)
La fonction json_encode est la même qu'en php 5.5.
La fonction json_decode utilise la bibliothèque json-c.
Nouveauté : la classe JsonIncrementalParser permet d'analyser des données de manière incrémentale, sans devoir charger la totalité en mémoire.
Je prévoie de proposer une RFC PHP pour basculer sur cette implémentation libre dans PHP next.
Je compte sur vos retours.