Én nem látom át teljesen a dolgokat, de ahhoz, hogy a Mono és a hozzá hasonló projektek létrejöhessenek nincs szükség a Microsoft beleegyezésére és támogatására? Főleg mivel vendor-lock-in-t emlegettél. A Microsoft elvileg nem tehetné meg, hogy nem engedélyezi a Mono-t és a hasonló projekteket?
Mondjuk én teljesen kezdő vagyok, így nem látom át (én csak konzolos alkalmazásokat írok C# nyelven), de ugye a Mono és .NET kompatibilitisek egymással (persze ha grafikus felületre akarsz fejleszteni programot mondjuk VB, vagy C# nyelven, akkor eltérő kódot kell használnod, attól függően, hogy Windows GUI-ra, vagy mondjuk platformfüggetlen GTK-ra (C# esetén GTK#) fejlesztesz, és persze ha GNOME ablakkezelőre fejlesztesz, akkor nem csak GTK#-t használsz, hanem a GNOME libeket is).
Szóval számomra még kicsit zavaros, hogy ha Linux-ra fejlesztesz grafikus felülettel ellátott alkalmazásokat, akkor tulajdonképpen mire is fejlesztesz. Tehát ezek ismerete: C# + Mono + GTK# pl. működő programhoz vezethet?