He seems to be ignoring the problems of trying to keep up with MS's changes to .NET....
But aren't there large chunks of .NET you can only do on Windows. like authorization?.?
"Oh that is a very interesting question! The I/O model is based on the Win32 model - we have to emulate the behaviour - and it turns out that behaviour is extremely nice. We went and implemented that.
"They have a beautiful security system and we're emulating the whole security infrastructure. It's actually easier to use than the Windows counterpart. We're basically wrapping the Unix functionality inside the Windows functionality.
"What's important to keep in mind is that you do not actually use the Windows API in .NET - you use the .NET API - the clasese they have defined.
There's final area, he added, with Mono emulting the Windows forms, which will be based on Gtk for .NET.
Now about keeping pace. Only a small portion of .NET classes have been submitted to ECMA.
"Tiny, tiny yes. But we can do APIs too - if people like the APIs we do, we'll submit them to ECMA." Miguel cited Lloyd Dupont's OpenGL classes as an example.
So would he go as far as recommend .NET as a way to write web services?
"My main focus is the client. In the web services area there is not a big-buy-in to the Windows platform, because this is the first time they have brought it to Windows.
"Well in the Windows world they use SOAP... they do not talk about proprietary protocols.
"We're doing Mono because we care about upgrading the development platform, we care about language independence; and it's very nice two work on.
[...]
Security through obscurity
We were surprised to hear that Microsoft had a great security model, could he explain?
"OK there are two security modeks in place - one is the Windows NTN security model; which is actually a pretty [pauses] ? You've seen security holes in Microsoft products - buffer overflows - they're not problems in the security architecture - that happens with Unix too. They happen to be really bad at managing their bugs, and not providing fixes on time, but that's another issue. That's the NT security system.
"But .NET has another security system on top. It's designed to have same sort of security as Java. Instead of the application being the unit of security - you trust the whole app or you don't trust any of it - each portion of the program can be running on a separate trust domain.
"So you can have Gnumeric running and you import a file from 1-2-3. Gnumeric asks the network or service do you have a plug-in for 123 - but the problem is you cannot trust this code, right? So you give it limited permissions. You're not going to let them write to the file, just read, populate the spreadsheet. If they try anything else the plug-in is killed, it throws an exception.
It's a sandbox?
"Exactly - it's a sandbox at any point, and you can define what, which I find really interesting.
The bottom line
"It's critical to upgrade our development platform to a lower cost, with Mono we can develop in a quarter of time. Microsoft is not advertising that - they're talking about web services;
How so, what parts make for faster development?
"The libraries, the GUI tools, the compiler system - serialization, database access, directory services and management."
Quite a bit then.
"Yes, you shouldn't lock yourself out of .NET.
Mono has already slayed one of the holy cows of the Gnome project - the insistence that all code be released under the GPL. The decision to change to an MIT X11 license for some libraries passed off without too much protest this week, and Miguel said it was to avoid fragmentation, as it allowed the project to use Intel's optimizing run time:-
"We were able to take everything they developed and incorporate it in Mono, but they were not able to take anythng in Mono and integrate it into their platform. It's still open source - but other people can use it."
So a very enthusiastic endorsement of .NET, which will gladden the hearts of its authors, no doubt. Microsoft has made much of .NET's language independence and Miguel affirmed it as strongly as anyone could.
Is Miguel making sense here? I'd say he's giving MS an invitation to subvert Gnome.
Aren't there simpler, more open, ways to achieve language independence and the advantages he wants for Gnome by other means? Is this another instance of Miguel hopping on a buzzword bandwagon (e.g. basing Gnome on CORBA rather than something simpler) instead of trying to finish the existing framework?
Does he risk forking Gnome and/or making KDE the defacto open source desktop application framework?
It this emulating and translating and sandboxing for Mono going to even further decrease Gnome's performance (in some areas) compared to KDE (not that I've made detailed comparisons, you understand).
I've known that Mono was meant to be based on .NET and Miguel liked it for a long time, but this embrace of it seems extreme to me.
Thoughts?
Cheers,
Scott.