views:

282

answers:

2

Yes ....

Technically ... what is involved in ILMerging the DLR and Iron Ruby into a single DLL? What should I be careful about?

Legally (MS-PL) ... am I allowed to ship an open source dll that had iron ruby and the DLR embedded into it? (Looks like the answer to this question is, usually yes, what OSI licenses is ms-pl compatible with?)

+1  A: 

Rather than using ILMerge to combine the DLR and IronRuby since the source to both is available and you could just compile them into the same dll which would be a lot easier.

The thing I'd be careful about is that IronRuby is still alpha and it would be incredibly risky to run a production service using it. It's only in the last 6 months or so that the IronRuby releases have started getting packaged up prior to which it was do it yourself builds from svn. In the 18 months or so I have been using IronRuby the interfaces and even assembly names changed regularly. I would expect things to be stabilisng now.

I have an experimental server running that utilises a slightly older version of IronRuby and that version has a significant memory leak. I worked around it by automatically restarting the service every 24 hours. Things have probably improved since then.

I don't know about the legal side of things but it's probably a similar approach to Siverlight where the beta licenses explicilty forbid commerical applications and permitted only development ones. Once SL was formally release the license changed to allow commerical products to be built on top of it.

IronPython on the other hand is production ready and I have had good experiences using it on a production service for the last two years.

sipwiz
Any caveats with iron python redistribution ?
Sam Saffron
The IronPython version I use in production is 1.0 (file version 1.0.61005.1977 which was released 2006 I think). It has been rock solid for me and I've never had an issue with it. I host it in a C# SIP Proxy with a 100's of script executions per second and again never had a problem.
sipwiz
but doesn't that have a more restrictive license when it comes to redistribution?
Sam Saffron
Not too sure. MS licensing requires almost as much expertise as the actual programming! I don't redistribute IronPython, only use it. From what I have seen of MS licenses things get hairy if you want to change the source and distribute. Distributing unchanged seems to be fine.
sipwiz
A: 

Here's the license for IronPython, IronRuby, and the DLR on the OSI website: Microsoft Public License; read it yourself and assess what you can/cannot do. In general, you should only ask a lawyer what you can and cannot do.

But to summarize: redistribution, code modification, forking, etc, are all allowed under the Ms-Pl; here's an article that describes the Ms-Pl pretty well.

Jimmy Schementi