In a recent talk in Amsterdam Koichi said that Matz has very high ambitions for Ruby 3. They will focus on concurrency and it is expected that the concurrency interface might dramatically change.
With that in mind I'd say that removing the GIL is a rather useless effort. It would probably not do much for performance and most likely result in many very buggy releases of Ruby possibly tarnishing its reputation for reliability.
Imagine instead if Ruby 3 had an actor system like celluloid integrated to the core, and it would require any globally defined objects (I.e. most classes and modules) to be actors. (Perhaps by making the default class parent be ActorObject, instead of Object or something)
That would in one fell swoop deal with concurrency, while retaining the clean feel of Ruby.
While we're sharing GSoC project ideas, I'd like to highlight the list we have at lowRISC - covering a wide range of languages and just about every part of the hardware/software stack. http://www.lowrisc.org/docs/gsoc-2015-ideas/
>MRI executes Ruby via an interpreted stack-machine bytecode language known as YARV
On Wikipedia:
>Since YARV has become the official Ruby interpreter for Ruby 1.9, it is also named KRI (Koichi's Ruby Interpreter), in the same vein as the original Ruby MRI, named for Ruby's creator Yukihiro Matsumoto.
AFAIK, technically, ruby 1.9 and later are no longer MRI, but KRI. So, yeah, I would say that technically speaking, refererring to current versions of ruby as "MRI" is not terribly correct.
On the other hand, to tell the "default" ruby apart from jruby and rubinius, one might still refer to it as "MRI". Also, Robert Metcalfe once said something to the effect that "Ethernet cannot die - if something comes along to replace it, it will just be called Ethernet" or something along those lines. Maybe something similar is at work here? (Sloppiness is more likely, though.)
I am not 100% sure, but wasn't KRI a fork of MRI that at some point simply was merged? It would be a bit strange if the whole interpreter would be called KRI when most code was still written by Matz. Though Ko1 is the main developer currently Matz is still the visionary and decision maker.
With that in mind I'd say that removing the GIL is a rather useless effort. It would probably not do much for performance and most likely result in many very buggy releases of Ruby possibly tarnishing its reputation for reliability.
Imagine instead if Ruby 3 had an actor system like celluloid integrated to the core, and it would require any globally defined objects (I.e. most classes and modules) to be actors. (Perhaps by making the default class parent be ActorObject, instead of Object or something) That would in one fell swoop deal with concurrency, while retaining the clean feel of Ruby.