That question is important, and I want to share my thoughts about it with you.
Update: This has been posted 2.5 years ago. There are still things that sucks, but we made incredible progress. Please see newer posts like this one Thank you.
h4. A bit of background
Since I started with Ruby back in 2002 (on Linux at that time), fell in love with the language, the syntax and the simplicity. For several reasons, Python was more mature in the Windows arena, where I needed to be.
Years passed and I was still a Ruby lover, writing scripts to handle simple and not so simple tasks at the office until Rake came out… then I migrated everything to it.
Moving forward now, before Rails came on the scene, I switched back to using Ruby on Windows (it was a bit more mature, but not bullet proof).
I started to use Rails for internal projects and others back in 2005, and found Ruby still required some attention to the “cross-platform details”, but not as much as before (so that was good).
In 2006 I decided to contact Zed Shaw, since I thought Mongrel will change the Ruby and Rails scene, and decided to invest my effort on having a better Windows support for it.
Then several projects that were used or related to the average use of Mongrel and Rails showed up, some of these platform issues could be solved, opening the door to Windows developers to know, enjoy and love Ruby and Rails methodology.
Back to the present
Since then, I’ve sent several patches to lots projects, some of them collected dust on the rubyforge trackers and other get merged quickly. This simplified a lot of lives (at least, for the poor souls running Windows).
Good things happened, and Curt Hibbs allowed me contribute to One-Click Installer, the best solution for using Ruby on Windows to date (you can say it ships with batteries included for you to play).
Ok, big deal, what is the problem?
Since I want to improve my quality of life using Ruby, I started what I called Get your hands dirty: Help bootstrap Ruby on Windows with the idea of get rid of Visual C 6 (used to build Ruby) and move to a faster and stabler toolset like MinGW (Minimalist GNU for Windows).
In the beginning there was bit of feedback, some discussion, then a helpful patch. But it stopped there.
I started to work on a problem in Ruby that is related to how interface with Readline. I tried to track it down, and posted my comments on Ruby-Core. Like most of my comments on that list, got ignored or just told to “try ruby-talk”. Wait… isn’t ruby-core supposed to be the interface between ruby-dev (japanese mailing list) and the outside world? Was I asking something outside the knowledge of ruby maintainers, creators or developers?. No, but I still couldn’t get an answer from them.
But that left me with a bad taste in my mouth: is Windows a supported platform for Ruby? I guess not.
Time vs. Life
So it’s time for me to consider whether it’s worth invest my life in something when no one cares if it works, it is stable, if it’s faster, or even if it’s usable. Don’t get me wrong, I’m not quitting Ruby, just questioning if it’s worth keeping up working with current implementation.
From my point of view, Ruby on Windows is important. It opens the door to developers that cannot or do not want to switch to Linux or any other OS, but still want to enjoy using Ruby.
MRI 1.8/1.9 vs IronRuby vs Rubinius
For me, dotNET is not an option, even if I’m tied Windows, that doesn’t mean I must use Microsoft tools for everything. Other folks will disagree, but if you want One-Click for IronRuby, take a look at Ruby in Steel (for IronRuby).
Rubinius looks quite interesting, mostly because the community created around it is more open to changes and is willing to hack Windows support into it (just take a look at the work from Oleg Dashevskii).
Is there anyone willing to join me on the MinGW initiative? If not, should I should drop it, keeping the slow VC6 version and alienating other Developers to switch to Linux?
Or maybe it’s time to be wise and bet for Rubinius on Windows?
1 This is not a rant (at least not like Zed’s ones) but a valid point from someone willing to help, but that cannot perform magic when there is no cooperation from the other side).