It's not integrated in GNOME, just some easily replaceable apps. And distros are free to ship without Mono. AFAIK Fedora doesn't ship with Mono installed by default anymore. Ubuntu has Mono for Tomboy and some silly game. A sudo apt-get purge mono-runtime takes care of that.
a) it's not generational, which means it cannot separate short-lived objects from long-lived objects (which causes the issue you mention)
b) it's conservative, whereas the CLR is designed with exact/intrusive GC in mind (it is actually possible to collect an object while it is executing code!)
In the end, Boehm could not be made to track dead objects reliably and quickly and a replacement had to be created. The performance pitfalls in Mono are well-documented and with shops/servers increasingly moving from Windows to Linux something had to be done. Unfortunately, this is not some weekend project, the implementation details are insanely complicated - and fascinating if you are into that short of thing: how to find safe points to suspend thread execution, how to scan the object graph, how/when to collect and compact the memory - but this is man-years worth of work.
Historically, both Mono and Portable.NET started out with Boehm, so there must have been some contributing factor to this decision.
Well, it's not as if we are actually hurting for replacements: Rhythmbox, Exaile, Amarok, Pogo, XNoise, Shotwell, RawTherapee, ...Still, with the number of people using Banshee and F-Spot and the like, it would suck really hard for them if those things got killed or went proprietary.
If you have your entire music and photo collection tied to those apps, then it might be a bit of a pain in the behind.
But yeah, this is why having options is healthy.
the point of free software is choice. So, by preventing users from using applications the way they want to or what software they want to is thereby making it non-free. It might be open but it's not free. That's why I dislike the GPL, although I do like what it's intentions were.
Basically, what I'm trying to say, is that by restricting users from certain applications or advising against it is hypocritical. By calling all software that's closed evil is hypocritical. The whole point is to get back contributions from the community. I DARE you to offer a contribution. You will promptly be flamed. It's not worth your time.
I gave up on the FOSS community because it's largely populated by egotistical people who refuse to accept any innovation (i.e. FatELF for one) and flame anybody who tried to contribute. Now, the most successful projects are led by people who aren't part of the majority (Keith Packard), and people like Linus are excusable because of the nonsense they've dealt with.
The FOSS community needs a massive attitude adjustment, and high horses need to be gotten rid of if anything were to happen. Unfortunately I don't see that happening so yeah.
1) as a MS developer (at work), i'm glad to use my C# skills in linux (at home) since I simply LOVE linux. i'm very happy to have this opportunity
2) afaik, some sue someone when someone has money. who MS should sue? "linux"? who is "linux"?
3) mono has quite good performance:
- mono vs python, up to 236 times faster: http://shootout.alioth.debian.org/u3...&lang2=python3
- mono vs java, from 2 to 16 times faster http://shootout.alioth.debian.org/u3...lang2=javaxint
- mono vs c++, from 2 to 10 times slower: http://shootout.alioth.debian.org/u3...lang2=javaxint
i think that for a young implementation of "someone else" tecnology, performance are really good.
- mono vs java, from a tiny bit faster to 5 times slower
- mono vs c++, from 2 to 10 times slower: