One big problem I have with Mono is that it seems terminally buggy. A Mono application I was thinking of getting involved with had untraceable memory leaks to it that seemed to doom an otherwise excellent app to second-rate-ness.
Further, the whole '.NET' architecture seems to be structurally so elaborate that any open source implementation would have to be buggy and incomplete since no one person would have the time to really finish or even understand all of it.
So I think that even without the thread of patents, .NET is a bad thing for open source because it gives folks a continual impetus to go to the working, closed-source MS implementation.
So, then here is a question: If .NET is so big, the spec is unmanageable and so on, why even attempt this ?
There was a time when DEC shops were turning out projects between two and five times the speed of a comparable IBM shop. The advantage was that the defaults were sane and you could actually know the system. It was stable and a breeze to develop for.
By bringing 'mono' or something like it into the open source community we are attempting to match microsoft at its own game, which is imho completely stupid.
If open source is to succeed it should not attempt to copy the kind of architecture that you can only build and maintain with an army of programmers that will slog away at it simply because they get paid to do so.
Further, the whole '.NET' architecture seems to be structurally so elaborate that any open source implementation would have to be buggy and incomplete since no one person would have the time to really finish or even understand all of it.
So I think that even without the thread of patents, .NET is a bad thing for open source because it gives folks a continual impetus to go to the working, closed-source MS implementation.