jump to navigation

What is all this FOSS about Mono? July 7, 2009

Posted by rm42 in Computers, Linux, Uncategorized.
6 comments

I wrote a blog entry recently in which I expressed my displeasure with the situation around the use of Mono for FOSS development. Since then an interesting and unexpected development has occurred. Microsoft has promised, irrevocably, to not sue anyone using or creating a fully compliant implementation of C# as defined through ECMA.

http://port25.technet.com/archive/2009/07/06/the-ecma-c-and-cli-standards.aspx

I am glad to see that some of the questions about Mono have been settled. What other questions remain? Well, it will be interesting to see what happens in the future, when newer versions of C# come out of Microsoft. How will those be licensed? Will they be standardized as well? Under what terms? Will it matter for Mono developers? Will Microsoft become litigant against the other, non ECMA derived, parts of Mono? And, more immediately, what is meant by “only if the implementation conforms fully to required portions of the specification”? Those are some of the questions that I still have.

What about GPL compatibility? It seems that a lot of it has been settled. I don’t see a conflict any more. Of course, if a developer chooses to deviate from the ECMA specification he is free to do so, as per the Mono license, and he would have to fend for himself against Microsoft, or any other patent holder in the world. But, that is the same thing that could happen if I chose to write a program in C++ that infringed someone’s patent. It just so happens that any deviation from the standard immediately makes you liable. But at least a legally safe implementation is possible. And who knows, maybe the patent landscape will improve in the future allowing for non ECMA compliant implementations without the risk of a lawsuit.

Will this be enough to make me want to develop in Mono? No, not me, not yet. I prefer to use languages that have no questions surrounding them. I also still think that Mono should not be used for important infrastructure parts of FOSS projects like KDE or GNOME because of the long term questions that remain. But, I can see that some may want to avail themselves of Mono’s C# for writing some applications. I now feel that, as long as they are well informed of what the possible gotchas are, I can respect their choice. And I don’t mind if a Linux distribution chooses to include them as part of their default release. It is their free choice.

Congratulations Mono developers!