« Skipping Tech Ed this year | Main | DLR Team at Tech Ed »

May 31, 2007

Microsoft and IronRuby

Ben at Childrens Museum

As many of you know, I recently moved my family to Redmond so that I can work on IronRuby. I was very happy with my life in Toronto, and wouldn't have made this move if I wasn't sure that I had excellent management support for our Ruby effort.

Scott Guthrie was the last guy in my interview loop. He also runs the .NET Developer Platform organization that my team (the DLR team) sits in. Scott is responsible for virtually all things related to the .NET platform, including the CLR, IIS, ASP.NET, WPF, Silverlight (and some others that escape me at this moment). Scott convinced me that Microsoft was serious about making a first class implementation of Ruby on the .NET platform when he sketched out the demo that we ultimately presented at MIX - 7 months later.

Our announcement of Silverlight at MIX is really quite significant. It makes it possible for us to deliver IronRuby to an enormous number of computers, and on many platforms (Windows, Mac OS, and Linux via Mono/Moonlight). This makes it possible for Ruby programmers to use their favorite language in many more scenarios than they can today.

However, since our announcements at MIX, there's been much speculation both publicly and privately about what our IronRuby plans are. Recently, Martin Fowler posted a well-written post that, among other things, questions our commitment to compatibility:

The big question for Microsoft's "Iron Ruby" is how compatible will it be? Will it be a full implementation on the CLR?

From where I sit, I know that I have excellent air cover from my management chain, that includes Jason Zander who runs the .NET Frameworks group at Microsoft. These guys are serious about building a first-class implementation of Ruby that runs on both CoreCLR in Silverlight, as well as the desktop/server flavors of CLR 2.0 that are shipping today. They're committed to making sure that we have what we need to get the job done.

We will ship IronRuby under the Ms-PL (our BSD-style license). If we fail to live up to your expectations, or if you don't like what we're doing, you can fork the code. I think that our track record with IronPython and the Python community serves as an example of what you can expect from our IronRuby effort.

Martin finishes off his post with a challenge to us to do the right thing:

So what I see for Ruby and Microsoft is an opportunity. The Ruby community seems eager to work with Microsoft. This provides an opportunity for Redmond to figure out how to deal with the problems of working with open source and for this effort to serve as an exemplar for future collaboration. A first class implementation of the full Ruby platform on .NET would be a wonderful product of this collaboration. Perhaps an even better result would be for this work to serve as an example of how Microsoft can collaborate with a community that's centered on openness and agility; an example that can be a springboard for further spreading of attitudes that can further help programmers and their customers throughout the Microsoft world.

I'm eager to work with the community to figure out how we can work together. An excellent opportunity to do so is at our Lang.net symposium that we will hold on campus sometime in September/October of this year. If you're interested in helping to figure out how we can collaborate better with the community I'd like to extend to you an invitation to come out to meet with us then.

In the end, I think that it's important to judge our effort based on the code that we ship. We're going to ship our first CodePlex release of IronRuby at OSCON this year. I'm looking forward to getting your feedback on that code (particularly on what we got wrong) when we ship it so that we can work together to deliver the right solution for everyone.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d834fc885d53ef00d835807d2669e2

Listed below are links to weblogs that reference Microsoft and IronRuby:

Comments

Can anyone come to Lang.net? I'd be interested in this.

On a related note, can you pass this up the chain to JasonZ and ScottGu?
http://weblogs.asp.net/nunitaddin/archive/2007/05/31/microsoft-vs-testdriven-net-31-may-2007.aspx

Thanks.

Meanwhile Microsoft threatens the open source community with litigation over patents that they refuse to identify. As long as that continues, who cares what MS does with Ruby?

@AN:

I will be posting a link to our registration site for Lang.net once we finish figuring out the logistics.

@Oran:

Will do.

Well, IronPython is already forked (although slightly), and I am very grateful for the license that allowed me to fork.

http://fepy.sourceforge.net/patches.html

Really looking forward to using IronRuby. However, why have Microsoft got there own version of the BSD license, instead of just using the standard BSD license?

Thanks a bunch John!

I forgot to mention that I think the work you're doing and the role you're playing are very valuable, and I can't wait to use Ruby as a first-class citizen in the .NET world.

Hey,

I'm glad you finally mentioned IronRuby running on a "regular" CLR (2.0 or newer, I don't care). All we've heard up to now was Silverlight based IronRuby etc.
Could you please elaborate a bit more on the availability of DLR/IronRuby *independently* of Silverlight? It's quite obvious running Ruby on Rails on the server side on a "regular" CLR is a killer feature for the IronRuby.

Good news all in all, John.

There is one point which is the main problem in the whole IronRuby story, though: the fact that yes, you can fork, but you can't contribute back to the code. If something doesn't get fixed by your group, there is NO way for an independent person to fix it, except forking and maintaining and redistributing his own version from that point on. There is a very good reason that forking is considered exceedingly bad for the open source community: it splinters effort instead of pooling it. That said, the possibility to fork is better than nothing at all.

Good job,dude:)!

Hey John - what do you say to the rumour which Martin Fowler started - that you are not allowed to look at the Ruby source code?

Lots of people are commenting on it, is it true?

I am very much interested in getting my hands dirty with IronRuby, when and where can I get alpha/beta?

Any more info about lang.net 2007, the site still only shows info for '06.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Photos

  • www.flickr.com
    This is a Flickr badge showing public photos from John Lam. Make your own badge here.

May 2009

Sun Mon Tue Wed Thu Fri Sat
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
Blog powered by TypePad