Hi,
On 5/17/07, M Harris
I am noticing that a significant amount of open source software is emerging from the C# development platform. Is the runtime 'open' (free 'as in freedom' software)?
If you're talking about Mono, it is all free software: * The compilers (C#, VB.NET, etc.) are licensed under the GPL. * The runtime (the JIT and supporting infrastructure) are licensed under the LGPL. * The class libraries (essentially the libc of .Net) are licensed under the MIT X11 license. Given the ridiculous nature of software patents these days, there's no reason to believe that Mono is any more or less encumbered than any other piece of software: GNOME/KDE, OpenOffice, Samba, Apache, etc. And given that many corporate backers of Linux have substantial patent portfolios themselves (not to mention patent-holding organizations like OIN who are essentially defensive patent trolls on our side), Microsoft has probably more to lose from litigating on patents than we do.
The other thing I would like to know (all fud symantics and bias aside) from someone devoted to using C# for the last five years, do you think that the perceived performance problems of C#.NET programming is due to the experience/quality of the products themselves, or is it inherent in the (CLR) runtime?
These performance problems are almost completely in the applications themselves, not the runtime. However, until recently application developers did not have good memory profiling tools, and because the CLR is a garbage collecting runtime, it's really tough for us to see *why* our apps are using all that memory. That's changed now, and you can see huge wins in this area in apps like Beagle. Speaking of Beagle, the CPU issues were mostly bugs in our code, although occasionally they would be problems in underlying libraries (in C!) that would choke on certain files. We've fixed a lot of our own problems, as well as put limits on how much the underlying libs can use in terms of system resources. For ZMD, a daemon model is the wrong way to go for end user systems... it makes a lot more sense for centralized management in enterprises. Its memory usage problems are like how Beagle used to be: they haven't been profiled and eliminated. And its CPU usage problems aren't actually ZMD at all, they're largely in ZYPP, which is written in C++ (and getting fixed now as we speak). C# and the CLR makes app development a *lot* faster and frankly, more fun. But it also gives you a bigger gun with which to shoot yourself in the foot. Now that there is more experience out there with it and better tools, I think you'll be noticing less and less which apps are written in C/C++ and ones which are written in C#. After all, you probably don't notice today which are written in C/C++ and which are written in Python. Joe -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org