Username or EmailPassword
The Mono debate is an example: I believe RMS's opinion was the following: Mono itself is a great open source tool to work with C#, but the language is controlled by Microsoft. So why use Mono for your FOSS-project?
The answer is very very simple: it's a matter of taste. Some people just happen to like coding in C# and they should be allowed to do that.
Fine. Use C#. But don't use Mono or .Net. It's one thing to use a language because you like it. It's another to become dependent on runtime libraries that Microsoft may claim control over at a later date.
There were similar problems with Java. The runtime wasn't free. That made "Free Software" written in Java kindof ambiguous (or just plain wrong, depending on who you ask).
As soon as Sun released Java as Free Software, this took away their potential to sue you for use of their technology in a way they didn't like. So then it became okay (and meaningful) to write Free Software in Java.
We don't have that with .Net. Microsoft WILL screw you at some point, when it is to their greatest advantage. They can't claim copyright over Mono, but they damn sure will try to abuse patent rights.
For those who REALLY want to use C#, we should have a GCC front-end for it. You could use the language (the basic syntax), but you'd have to use a different, incompatbile set of system libraries. So be it.