On Jan 10, 2011, at 23:59, Zeno Davatz wrote:

> I believe that we do need a 1.8.8 Release. The simple reason for that is: Otherwise the Road to 1.9.2 will be to bumpy for many who want to do the switch from Ruby 1.8.6 to Ruby 1.9.2. We want to do that switch. But we do not want to break our Neck doing so.

In my experience the transition is not difficult.

> A good example is the Oniguruma Patch. We need it in all our legacy applications. As Michael Fellinger points out here:http://url.ba/00z0 the Oniguruma Functions where not copied 100% into Ruby 1.9.2. Anybody who used the Oniguruma-Patch will expect the same functions in Ruby 1.9.2 - well and then they get burned as Michael Fellinger did. Implicitly this tells the user to jump over a huge crevasse. Releasing Ruby 1.8.8 will smoothen the jump to Ruby 1.9.2 for many loyal Ruby Users.

I don't need the Oniguruma patch in any of my 1.8 installs.

I don't see how you could reasonably expect features from a patch that applies to ruby 1.8 would be present in ruby 1.9.

> We are doing Ruby since over 10 years. Yui Naruse pointed out that Ruby 1.8.6 has become to stable. If that is so you could also say that the transition to Ruby 1.9.2 is still to impractical for many people. People are actually afraid to switch. The goal for Ruby should be to make it more practical for users to switch to Ruby 1.9.2. At the moment it seems like you are pushing people into to the Crevasse, watching as they drop. I think that is a reason why Lucas Nussbaum quit http://url.ba/vets

If you haven't moved from 1.8.6 to 1.8.7 why would you move from 1.8.6 to 1.8.8?

> It is simply not possible for us to just "jump" to Ruby 1.9.2. Our codebase is to large. We have to switch slowly.

I have several libraries that I have run on Ruby 1.9.0, 1.9.1, 1.9.2 and 1.9.3dev.  Moving from 1.8 to 1.9 was not difficult as I ran my tests and changed my code to adapt.  The changes were small.

Supporting 1.8.6, 1.8.7 and >= 1.9.1 has some minor complications involving special-case code.  There were fewer complications when I switched to supporting 1.8.7 and >= 1.9.1 as 1.8.7 has backported many standard library additions from 1.9.  (The major issue I have seen when trying to run code on 1.9 is the String#each removal.)  (1.9.0 is ignored as it was a developer release and had no patchlevel releases.)

If you are writing an application you don't need to support multiple versions and having to add special-case code will not be a problem.

> By releasing 1.8.8 everybody will have an easier transition period and users will feel more compelled to switch to Ruby 1.9.2.


I feel the opposite.  By announcing end-of-life for 1.8 users will know that no further bug fixes or added features will be made.

> At the same time Ruby 1.9.2 can catch up with 1.8.8 in the sense that it will at least support the same feature _and_ more, not less. Take Oniguruma as an example.

I don't understand how adding features to a new 1.8 release will encourage users to switch to 1.9.2.  Furthermore new features in a new release will require patchlevel releases and tie up developer resources maintaining 1.8 for many additional months.

> I strongly believe that the Oniguruma Patch should be applied to Ruby 1.8.8 because of the above reasons. I do not understand why that patch was never applied to Ruby 1.8.6 in the first place. Oniguruma still provides many more functions then Ruby 1.9.2 does. Ruby 1.9.2 should build on the functions Oniguruma achieved because many people are already using Oniguruma in the very stable 1.8.6. Why breaks stuff that is working great?
> 
> Enterprises and normal users care about one thing: Consistency.

No Ruby 1.8 version has ever shipped with Oniguruma.  Consistency states that Oniguruma should not be applied to any official 1.8.

> For further understanding I also wrote a blog post about this: http://just.do/2011/01/10/a-vote-for-ruby-1-8-8/
> 
> Matz says that consistency is not necessarily his goal. I think the clear decision should be when to be inconsistent. I believe the inconsistency should happen between Ruby 1.9 and 2.0. Not between Ruby 1.8.x and 1.9. The reason: Because being inconsistency should be communicated in advance.

The inconsistencies between 1.8 and 1.9 were clear to me well in advance and I believe were adequately communicated.

> If you look at the kernel release cycle then I think that is a good example. Linus releases a new Kernel version every few weeks. I boot into every new rc-release (that I pull from git) and in 98% of the cases my machine comes up. Linus explicitly says that he only accepts big changes and new features in rc1 releases and then distills those down up to rc8 and then he pushes out the new stable release. So people know: Be adventurous in rc1 but work towards being stable with rc8 because a stable release should be a stable release.
> 
> Think about the normal user. The average joe-normal-user. Do not make his life miserable. Help him upgrade to the great 1.9.2! Slowly.

Nobody is forcing you to move to 1.9.2.  You can take as long as you like.  I have not found major difficulty in moving to 1.9.2.  Most libraries I have just work on 1.9.2.  Those that do not have only required minor changes.