If you monitor the free software blogosphere, you will have noticed some debate going on over the inclusion of Mono in some major distributions, and other major distributions specifically barring its use. Here’s my spin on it.
Let’s not debate exactly how good the language is. Let’s not debate how fast, how maintainable, or how efficient Mono may or may not be. That would devolve into some sort of “Ruby v. Python” argument that leads nowhere. I’ve enumerated the possible outcomes I can think of in this flowchart:
There are coders out there who “just like” Mono. Open source is all about having fun with what you’re doing, and to a lot of people out there, they have fun with Mono in a way that makes it rewarding for them to continue working with it. We don’t want to lose them. On the other side, Mono (and C#) does indeed have patent ties to Microsoft. While these patent ties might not amount to anything, they are somewhat of a “legal toehold” into the Linux ecosystem.
My personal final verdict? Mono should be treated by distribution makers as something that is “legally sticky” and should be included much in the sense that audio and video codecs, or flash are “included” in the distribution. For example, the mp3 codec is not distributed in large by most distributions, because its a legally sticky inclusion. Corporations own the rights to the mp3 codec, and distros make it easy to install the codecs, but don’t distribute it. This saves the distros from potential legal snafus. Just because “Mono” designates an ecosystem of programs doesn’t mean it has to treated any differently than “patent-sticky” codecs or plugins. Mono could be something that is easily installed (like flash nowadays, or A/V codecs), and even easily suggested by a GUI for the non-technical users who don’t understand what goes on under the hood. Caution like this won’t hurt the Mono community very much, and insulates Linux distros against potentially devastating patent claims. Seems like a win-win to me.