Engine Yard to Take Over Ruby 1.8.6 Maintenance?

| by Mirko Stocker on Feb 18, 2009. Estimated reading time: 2 minutes |

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


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Uh Oh by Shimon Amit

Everything in me screams "NO!" when I hear of a commercial body taking over an open source project, as benevolent as it might be. Engine Yard is a great company with great products, but this sounds like a precedent which could lead to the slow crumbling of the MRI team's leadership and authority on Ruby.

Granted, Engine Yard will probably do well in maintaining Ruby 1.8.6. But you see, despite that, the very fact will send shock waves throughout the community and media which will generate flashy news titles and blog posts with bustling (not to say "flaming") comments on whether this is a good idea or not.

Justice must be seen, not only done. Even if EY will do a good job babysitting Ruby 1.8.6, it doesn't ring well with the community.

Re: Uh Oh by Mirko Stocker

Well, I had similar concerns at first, but I think that it could only become (potentially) "dangerous" if 1.8.6 would stay the de-facto standard and the majority of developers wouldn't move on to 1.9. And I believe that changes for this to happen are fairly low, so, I wouldn't worry too much.

Re: Uh Oh by Shimon Amit

Agreed, though I'm not too concerned about Engine Yard's technical aptitude or ownership longevity.

There is a flock of alternative Ruby implementations competing to become Ruby's second best (awesome! keep at it!) but we have to agree the only way we and they will succeed is if the leader succeeds. Otherwise we might find ourselves in a splintered, anemic state of stagnation.

The MRI team need to stay ahead of the game and play leader. Giving up one of your children for adoption because he's older and untamable is not leadership.

Re: Uh Oh by Mirko Stocker

As you said, they need to stay ahead, but I guess they can do that more effective if they don't have to spend resources (and I'm not sure how much they actually have) maintaining older versions.

Re: Uh Oh by Daniel Berger

Bad news Shimon, Matz already works for a company that pays him to work on Ruby. So, in that sense, Ruby has been "owned" by a commercial company since day one. Do not confuse maintenance with ownership.

Re: Uh Oh by Roger Pack

Judging from the fact that it's either "almost nobody" maintaining 1.8.6 or EY, I'm going to have to choose EY.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

6 Discuss