I’ve used a free software desktop since 1998 (except for a six-month flirtation with Mac OS X). It’s much easier to avoid proprietary software in 2007 than it was in 1998, and it gets easier every year.
If that’s true on the desktop, it’s more so on the server. My employer in 1998 (one of the top five computer vendors) had a Linux strategy best described by a division manager with unwitting irony as “Of course we were proactive about Linux! We were the first company to decide to wait and see what everyone else was doing!” Now that company not only has a Linux strategy, but it will happily sell and support you Linux servers.
If Microsoft’s stranglehold has loosened, is supporting Windows as important as it once was? Is it important at all? A recent discussion on the O’Reilly editors list may provoke some arguments.
Given that Paul Graham thinks Microsoft is dead, would people be surprised to read how many leading programmers have moved to Microsoft over recent years?
Some, like Ward Cunningham, have gone to and left MS…. Sun got some of the core Ruby people; Microsoft got John Lam, who’s a great guy, but not necessarily at the center of the Ruby community.
On another note, there’s a great podcast on HanselMinutes today in which Scott Hanselman, Martin Fowler and David Hansen hold forth on whether MS is losing the alpha geeks and whether the Company can become a valued player in the Ruby and Rails community (Answer: MS needs to prove itself through deeds, not words).
David Hansen claims that 40% of ThoughtWorks new business is pure Rails, which has shown the most growth for them over the past year. He also claims that Java business is holding steady, but not increasing, while he has actually seen a slight decline in new .NET business. One company, one evangelist. It’s very hard to find .NET developers right now and demand for them seems to be high. Hard to sort out the cross currents.
The Microsoft Linux saber-rattling lawsuit stuff has certainly pissed everyone off, but, as others have commented, Ray Ozzie and his crew were probably as surprised as anyone by the press release.
Rails can doom itself to long-term irrelevance if it keeps this attitde up.
Did you mean to say “Microsoft”, not “Rails”, or are there surprising numbers of people deploying Rails applications to the Microsoft stack?
Michael Loukides:
No, Rails.
The Rails community doesn’t realize at all just how small it is in the larger scheme of things. And it doesn’t realize how large the Microsoft community is.
But the fact is, Rails on Windows just plain sucks. (You can run Linux inside of Xen and get performance back to tolerable levels.) A lot of the tooling (capistrano, mongrel_cluster, for example) just doesn’t work.
For all Rails success, and for all Microsoft’s stupidity, I don’t think Rails can afford to ignore the Microsoft space. And that’s what they’re doing. Heads are really in the sand over this. And I do believe that if Rails continues to ignore the Microsoft space, they will end up being irrelevant. And the fact that it will be Microsoft’s fault–well, that’s irrelevant, too. That’s how Microsoft wins.
I totally agree with Mike that the Rails mafia will lose big time if they ignore the Microsoft space. Can you think for one moment that Java would have been as big if it was just for Linux/Unix and Mac OS X?
chromatic:
The same concerns about Windows behavior goes for Ruby, and has done so for several years. There were a lot of questions about Ruby 1.8 when it was new, because almost none of the developers even tested it on Windows.
However, does being able to deploy Rails to a Microsoft stack matter? I’m not sure the Microsoft web stack really matters, at least to the type of people who are likely to use any F/OSS language, framework, or platform.
As much as I hate to say it, I can see what Paul Graham meant when he said “Microsoft is Dead”. (Don’t think that I’ll give up Vim for some cheesy Ajax-in-a-textbox widget anytime soon though!)
Maybe I’m overlooking internal development, but with half of the people at RailsConf working for startups, I can understand why there’s no rush to plug Rails into SQL Server or IIS.
Michael Loukides:
The other piece of this story is the number of people at RailsConf who will tell you how much they’d like to use Rails at work, but they aren’t allowed to–the company has “standardized” on something else, or they “aren’t allowed to use open source software”. Even Curt Hibbs is in that boat.
The blocking factor is occasionally Java, but only occasionally. More often the blocking factor is a corporate committment to the Microsoft stack, or a general “no open source” rule. In practice, the two are the same, because you’re not going to do Java without major open source components.
To some extent that’s probably driven the explosion in Rails consulting shops, but I think the number of people who are willing to quit and go out on their own is relatively small. Even in a good economy, that’s a very difficult decision to make if you have a mortgage, if you have kids (who are prone to run up large medical bills), if you’re old enough to worry about running up your own medical bills, etc.
I agree, the performance issues are largely Ruby issues rather than Rails issues, but at some level, who cares? If you can only handle a few dozen requests per second, all you can do is a good demo. The tooling issues are Rails issues (though perhaps not Rails core issues).


If they aren't seriously targeting Windows, I don't see a big future for Ruby or Rails.
It's true that good Windows support seemed to help PHP. But I suspect it's mostly people who develop on PHP and then move their stuff to a Linux-based ISP or in-house server. Same with Java -- lots of people using Windows to develop and then deploying to a unix box.
I'll paraphrase Robert - If they aren't seriously targeting Windows, I don't see a big future for Ruby or Rails - on windows. I can't see any reason why it's future on Linux/Unix should suffer for that one whit.
@Simon,
>> I can't see any reason why it's future on Linux/Unix should suffer for that one whit. <<
It won't -- on Linux/Unix. The question, however, is whether or not RoR will be made irrelevant by something that comes along that is *REALLY* good on Windows, and in particular fully integrated with the .NET platform.
If/When that happens the .NETwork effect suddenly kicks into to high gear, and with all of the clamoring taking place in regards to just how wonderful Ruby and RoR truly are, if a more flexible platform were to stroll onto the scene and that same mentioned platform had -- for example -- direct bindings to Silverlight (which, of course, IronRuby will have), and that same mentioned platform had -- for another example -- an OSS implementation with an active and vibrant community, then at what point do those same managers who *WOULD NOT* allow an OSS or RoR (or both) based solution suddenly state "Oh, we can do that?! Okay, let's do..." and then do just that?
@MDP - I really should have expanded that last post a bit. I do think a first class Ruby/Rails implementation on windows would be a good thing. I learned Perl on Unix, but almost all my Python programming has been on Windows and when I learn Ruby I would like to be able to run it on Windows, but the Ruby community doesn't owe me anything.
If RealyNeatFramework.NET turns out to be a better solution then it'll be better whether there is a Ruby/Rails implementation on Windows or whether there isn't. Likewise RNF.NET wouldn't make Ruby/Rails on Linux any intrinsically worse.
Basically if not having a Windows version isn't killing Ruby/Rails now I don't see why it should later.
Microsoft adapts and assimilates. It has also historically placed a high value on its (paying) developers. My thinking is that it will keep itself relevant. (Innovative, maybe not.)
Remember it's also true that Microsoft/.Net-based open source projects exist (and some of Microsoft's own tech, like the DLR, is open). Of course, given that the cardinal sin to FLOSS is vendor lock-in, depending on closed-source components at any level in the stack requires some compromise...open-source projects that run on Flash or AIR would seem to be in a similar bind.
@Simon: The point is that someone will come up with Wuby on Wales, which walks like Rails, but works on Windows. A lot of small places run their apps off the local Windows box, so they'll hire Wales developers instead of Rails ones. Given that both have the same features, more developers will choose the one more likely to help them make a living.
This is just a business argument. From my experience, porting a Unix program to Windows is a soul-sucking nightmare that permanently damages the code, so the technical argument goes the other way. But what can you do?
@Simon,
>> Basically if not having a Windows version isn't killing Ruby/Rails now I don't see why it should later. <<
Fair enough.
One thing I should point out: Take a look at http://dev.aol.com/blog/mdavidpeterson/2007/02/20/ror-and-the-dotnet-platform_let-go-to-embrace where you will find a link to the following,
You many not have been hearing about it in the the more .NET-centric blogs, but that should be for obvious reasons as this isn't a .NET-centric effort. None-the-less, there is most definitely a concerted effort to get RoR running and running well via IIS.
I think there is a chance that if the Rails community does not take Windows seriously then someone in the Java or .Net world will create a "close enough" approximation. It probably won't be quite as nice as RoR, but if it's a little more legacy friendly and can draw on the power of the JVM/CLR then it will be something to contend with. Otherwise RoR might become the Apple of the webapp world (you know, the tool everyone wishes they could use but can't because it won't work with the sucky system they use at work... even though it as an insanely effective/annoying marketing machine behind it).