The way in which .NET's cross-platform nature is achieved is different from the approach taken by Sun Microsystems with the handling of the Java programming platform. Unlike Java, Microsoft itself does not provide installers of .NET for Mac, Linux, etc. Rather, Microsoft has released a set of formalized specifications that other entities can use as a road map for building .NET distributions of their platform(s) of choice. Collectively, these specifications are termed the CLI.
--Andrew Troelsen "Pro C# 2008 and the .NET 3.5 Platform"
La CLI è in molti modi, più distribuibile di JAVA. Microsoft non ha alcun diritto su questo, a differenza di Oracle e Sun Micro-systems su JAVA. Hanno semplicemente definito una specifica, come una RFC, e gli sviluppatori mono lo hanno incontrato. Potrebbe essere necessario fare i conti con GPL e assicurarti di non infrangere nessuna delle loro regole però.
E sì, l'ho usato in un'applicazione mac basata su Gstreamer per registrare e caricare conferenze.