From: Akinori MUSHA Date: 2009-02-12T17:57:41+09:00 Subject: [ruby-core:22031] Re: New hash : syntax for the 1.8 series? On Wed, Feb 11, 2009 at 6:03 AM, Charles Oliver Nutter wrote: > I hope there's some consideration for alternative implementations as well. > If you were us, what would you do? Support only 1.9.1 features? Move to > 1.8.7? Support 1.8.6, 1.8.7, and 1.9.1? And then add 1.8.8 on top of that? > > It's to be expected alternative impls will always be chasing the "current" > Ruby, but releases like 1.8.7 make even harder to find a slow-moving target > to build toward. We do not want to abandon 1.8.6 users, but with an even > smaller dev team than core Ruby, we can't afford to maintain N branches for > N production versions of Ruby. So for the moment, we only have resources to > do 1.8.6 and 1.9.1, with a huge emphasis on 1.8.6. Maybe it was my understanding that was wrong, but what I thought was as follows: =begin Following 1.8.7 is sort of part of following 1.9.1 for alternative implementations. Sooner or later they will start supporting 1.9 anyway, and 1.8.7 is just on the way. Most of them are written in a high level language with advanced designs, and merging changes for 1.9 into 1.8 is mostly as easy as semi-automatically applying patches, while in MRI you can't even merge a single patch because of the K&R vs. ANSI style change and the internal (private/static) API changes in 1.9. If I, a part-time hacker, can do all these backports in 1.8.7 MRI, there is no reason to think they can't. =end From what you said there are probably not a few wrong assumptions here, but I really thought so at the time. > And then this also affects adoption of the other releases. We've heard from > many people that have not moved to 1.8.7 or 1.9.1 because the alternative > impls have only been 1.8.6 compatible. We've heard from others that they > might consider moving to 1.9.1 once JRuby has support. And at the same time > we hear from users who see our continuing work on making JRuby's 1.8.6 mode > more and more solid and want us to stay there forever. It's a balancing act > complicated by having many drastically different production branches of the > C impl. I don't really understand that. If you are a developer and your product targets all versions ruby including JRuby or the users strongly want that, you support them including 1.8.6 and older anyway because that's that the market demands. If you are the user and want a product to support 1.8.6, then ask the vendor or the author. If they think if that's reasonable/affordable/profitable, they will do that. Why ruby 1.8.7 should be the one to be blamed? Ruby 1.8.7 is targeted at existing <=1.8.6 users and the users who simply want to use the new features or move to 1.9 but want to leave some room for 1.8 users to use their products, and I'm pretty sure there are a plenty of those kinds of users, although nagative opinions always tend to sound loud. > A lot of this would also be helped by getting the implementer meetings going > again. We could talk through these concerns. I'm convinced most of the > confusion around 1.8.7 could have been avoided with more communication. Yes, I stand corrected about my lack of understanding, and am absolutely willing to join. Those kind words at the end healed me a bit on this thorny dock.. -- Akinori MUSHA / http://akinori.org/