Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Engine Yard to Take Over Ruby 1.8.6 Maintenance?

Engine Yard to Take Over Ruby 1.8.6 Maintenance?

This item in japanese

Ruby is in the interesting (or unpleasant) situation today as there are different implementations/branches with varying features - for a change it's not about the competitors JRuby, Rubinius, MagLev or IronRuby, but Ruby versions 1.8.6, 1.8.7 and 1.9.1.

Ruby 1.9.1 has seen its first stable release a few weeks ago, finally leaving its experimental state behind and starting to lure away developers from the 1.8 line. 1.8.7 – released in May 2008 – was an attempt to ease the transition from 1.8 to 1.9 by backporting features and API changes. Unfortunately, libraries and frameworks didn't always just work with this new minor release, which caused a lot of people to stay away from 1.8.7. The adoption in other Ruby implementations was also rather slow and eventually culminated in JRuby skipping 1.8.7 completely.

This is why there are currently three slightly incompatible versions of Matz's Ruby in use and maintained by the core Ruby developers. The ongoing discussion about the current situation resulted in the suggestion to the Ruby core team to pass over maintainership of 1.8.6 to someone else, which its current maintainer Shyouhei seems to be willing to do. Ezra Zygmuntowicz from Engineyard (which runs around 6000 virtual machines on Ruby 1.8.6 and has not planned to upgrade) "would be honored to take over as maintainers of Ruby 1.8.6", which was welcomed by Shyouhei: "Unless anyone else has an intention, it is OK for me to pass you my control over Ruby 1.8.6".

Some aspects are still under discussion, eg. whether to move it to GitHub or which patches to backport.  Very promising are Brent Roman's "MBARI" patches, which fix a few long standing memory leaks and issues with the Ruby GC (InfoQ already reported about the MBARI patches and what they do). From Ezra's mailing list post:

We are sponsoring Brent to port these patches to 1.8.6 currently and would really like to see these become part of mainline ruby 1.8.6, 1.8.7, 1.8.*. These patches do not break any apis or backwards compat but drastically improve the memory pressure of all the ruby apps we've tested it on. We've seen ruby apps spend up to 45% of their cpu wall time in the GC, with these patches that percentage is vastly reduced.


While this doesn't help developers to decide which version of Ruby to use, Ruby 1.8.6 will now certainly live on and get maintained. Are you still using 1.8.6, and if so, what has prevented the upgrade?

Rate this Article