Roping in the email we have for the owner of the json gem. Yeah,
it seems like having a separate gem would not be ideal (like
json_java a la json_pure). I'm definitely not going to preempt
ownership on a gem that has 200k+ downloads and it should
definitely be up to the author here.
(I'm also surprised there isn't a mailing list or something at
this point, especially since the gem has been used in nearly every
app I've worked on!)
If there's anything I can do here to help let me know.
I received this reply from the author of the json-jruby gem:
"I must say I've tried to contact Flori several times since the
first releases of json-jruby back in 2008, but never got a
As it exists presently, installing "json" on JRuby is completely
broken, since it tries to build a native extension. That said, I
don't see what harm releasing a -java platform "json" gem could do,
unless someone were to mistakenly overwrite the standard gem.
This is particularly troublesome when dealing with gems that
explicitly require "json", because even if I include json-jruby in
my bundler configuration (which works as a drop-in replacement) it
still tries to pull in "json" and completely breaks.
I've linked the author of the json-jruby gem to this thread.
Perhaps he can opine directly. My opinion is these are two projects
which implement the same functionality for different platforms. It
would be nice if both were allowed to commit under the name
Since its inception, on JRUBY-1767,
json-jruby had the intent of being the java release of json, but as
Tony quoted, I never got a reply from Florian.
The only issues I see with the merging are that my release
process needs some improvement (though I do have some plans to make
use of Ant/Rake integration on JRuby 1.5) and keeping the two on
track (i.e. should flori wait until I port any changes before
releasing a new C version, or can we keep the Java version a few
As for the course of action, I'm not sure. I don't think taking
ownership of the json gem would be a good idea.
7 Posted by James A. Rosen on 25 Jun, 2010 12:15 AM
I know this isn't exactly a solution to the problem at hand,
since you would have to go in and much with all your dependencies'
dependencies on JSON, but using things like multi_json do help with
One idea would be to change multi_json so it
"swallows" calls to require 'json' if it has already
loaded an engine. That would let you do the following:
# very early in your application load:
MultiJson.engine = :json_pure # or a custom Java engine
require 'something_that_requires_json' # but MultiJson eats the require!
9 Posted by James A. Rosen on 25 Jun, 2010 12:46 AM
I'm sorry - I didn't get that it was a
dependency-resolution-time (Rubygems) rather than a runtime require
issue. Perhaps you could install a dummy 'json' gem? That way, so
long can get something load load that calls itself 'JSON'
before you load 'resque', everything should resolve.
It's a hack, to be sure. All I'm saying is that it's a temporary
fix that should work.
Still no response from Florian. Several people have emailed him
over the course of the past two years. I've emailed him on github
and created that issue on the tracker. Headius asked ruby-talk if
anyone knew how to get ahold of him with no answer.
I think we've done our due diligence at this point trying to get
ahold of him. He just isn't responsive.
We've given Charlie (headius) ownership to push java specific
versions. Florian, if you ever read this, please let someone else
maintain the project if you're not up for it anymore...the
community needs it! Thanks, folks.
Small additional blame note for the future: Nick Quaranto, John
Barnette, and Eric Hodel made the decision to open the JSON gem to
Charlie, after consulting with other members of the RubyGems and
Before making this decision, we spent several months trying to
get ahold of the current maintainer. This ticket only captures the
final month of the process.