PHP JSON removed in PHP 5.5
iteration99.comI don't think the title is correct: JSON being pulled is not mentioned in http://php.net/manual/en/migration55.changes.php
It is probably the case that in common Linux distributions, the build of PHP has the relevant functionality removed, as the license does obviously conflict.
It's a shame that only IBM gets dispensation to do evil :(
Here is a better summary of the situation: http://liorkaplan.wordpress.com/2013/06/01/bye-bye-non-free-...
Thanks, that cleared things up quite a bit. It seems that it is isolated to Debian unstable. Even that problem should be resolved soon through an alternative JSON extension.
This all boils down to Crockford being intentionally annoying about the licensing.
Video here: https://www.youtube.com/watch?v=-hCimLnIsDA
It would probably take at most a few hours to rewrite a JSON encoder and decoder. It's hardly a complex piece of code is it.
Not to mention the hundreds of third party json PHP classes.
I call B.S. No way they are removing json_encode/json_decode from php. That would essentially be removing an extremely high-volume method from the php stack.
I second your call. That would be a completely insane move!
Not removing it but are needing to replace it with an open-source + free-software version of the code so repo maintainers won't reject the software.
I'm seriously torn about this. On one hand, of course, Debian is kind of right in their assessment and strictly speaking, the JSON extension and with that the PHP package is not entirely free software.
On the other hand, the risk of anything bad coming out of shipping code with this license (evil people will have no qualms violating the license :-) ) is very close to zero. However, the risk of people being seriously pissed off at the next version of Debian (or Ubuntu) breaking all their web applications is really high.
Yes, an alternate extension is starting to exist, but it might either work subtly differently from the built-in one (you know, bugs exist and people might depend upon them), or worse, might have security flaws remaining undiscovered due to fewer eyes reviewing the much smaller in scope extension.
This is not just bad for users, but also for developers of libraries who now have to take extra care to support the other extension.
It's ridiculous to having to go through all this trouble for some evil people to be able to use Debian :-)
Thank god I moved to packaging and deploying our own PHP for our application. Having to deal with a non-standard JSON extension for no reason but politics and lack of pragmatism would piss me off endlessly.
That all said and after having vented my frustration: I still see where Debian is coming from and I can also kind of understand their decision. Of course it still pisses me off, but I can understand it.
Maybe Debian (and by extension Ubuntu) just isn't the right distro for me. Though seeing that the replacement extension is made by a Fedora developer, I seem to be running out of options :-)
> Debian is kind of right in their assessment
There really isn't a 'kind of right' here, it is either Free (which Debian clearly defines) or it is not. It is not, so it has got to go.
Debian doesn't care about 'people being pissed off' because they are a non-commercial distro that is committed to staying 'Free'. Principles are what the whole project is about.
This is the type of thing that happens when you try to be cute with something that has a legal meaning.
Short summary, JSON is not removed from PHP. Some distros of Linux (specifically mentioned were Mandriva/Fedora/Debian) have replaced the version written by Crockford with another alternative: jsonc
404 link is quite the coincidence.
It actually timed a little while ago.
Apparently the reason for this is the "Software shall be used for good" clause in the license, but I believe IBM obtained a special exemption that it may be used for evil as well.
Surely, the PHP folks can acquire a similar variation?
Nope: Crockford has been asked and declined, per https://bugs.php.net/bug.php?id=63520#1352964601.
Debian would not accept such an exemption unless it applied to everyone, and Crockford has refused to remove that clause in the past.
Reading the comments to the PHP bug, I find it funny that "The Software shall be used for Good, not Evil." license clause was not approved by Google :) :) :)
The link is 404 so In layman terms, unless some other extension comes up with exact same function names, my json_encode/json_decode will stop working in 5.5? fuck.
Only with the version included in the Debian repositories.
404 link :/