I’ve been a little out of touch lately – crazy accounting project for school – but was able to carve out a little time to chat with the guys at Engine Yard who are doing some cool things with Ruby.Engine Yard employs Evan Phoenix, the founder of the Rubinius project. The project aims to deliver a virtual machine for Ruby and will be previewing Rails running on Rubinius at RailsConf 2008 later today.
According to Evan, Rubinius is an implementation of a Ruby platform, just like the standard Ruby interpreter, IronRuby, MacRuby, JRuby, or countless other implementations. What’s interesting is that since Ruby doesn’t really have a specification, it’s difficult to say that platform xyz is not a compatible implementation of a Ruby runtime. In response, Rubinius decided to create a test suite that could help standardize Ruby as a language across the growing number of VM implementations for Ruby. The test suite is available at RubSpec.org. According to Evan, many of the other implementations are using the test suite. I can see this leading to a formal standards body (a la the JCP, but without one vendor with overwhelming control) to guide the Ruby language. A standardization process would be good news for enterprise customers that want to reduce vendor lock-in.
As an aside, an interesting thing about the Rubinius project is that anyone can get commit access after submitting one patch. While the project is sponsored by Engine Yard, they don’t appear to be controlling commit access (ah, this would make Josh happy ;-). As a result, there are over 150 committers to Rubinius, some of whom are very active and others who have submitted only a few patches.
It’ll be interesting to watch the Ruby community mature and see if Rubinius’ truly open governance model will catch on with other early OSS projects (or rather, with the companies that back these projects).