Mono – Discussion With a Developer
Earlier I posted Mono in Ubuntu, Yes or No? It was a post where I learned a bit about the issues surrounding Ubuntu’s default inclusion of Mono. During that post, I arrived at the position that it should not be included by default (and that I’d prefer to remove it from my system). A developer that uses Mono, provided a lengthy, well thought out comment post. It was a comment that I think all users, both pro and con should consider. I strongly believe the heightened emotions and zealotry (is there such a word?) needs to take a back seat, as it has no place – We really need to hear other people out. It seems this is a hot topic, so readers… tread carefully… here be dragons… Here is what he had to say:
“Hey UbuntuLinuxHelp,
I really liked your article, if nothing else it does help me see where some people, especially outsiders, are coming from on this issue. First I should mention that I am a core developer of GNOME Do and as such I obviously hold a positive view of Mono. I’d like to share my view on this whole thing, and I will take it piece by piece. Please keep in mind that as you read it, I intend it all with a very even, and calm tone. I hope it comes across well.
anti-Mono camp:
Most of them are fairly level headed and will have a decent talk with you actually. Some however have spammed our bug tracker and mailing list in the past and left defamatory comments about my personal work. It is upsetting that someone would do that to something I do in my free time. I do not push it on anyone after all. I’d really like to see a lot of the emotions put aside so we can have a real nice talk about the serious issues.
pro-Mono camp:
We have made mistakes and been a bit too strong sometimes. I have gotten too upset when my bugtracker gets spammed or someone tells me I am trying to kill Linux. We need to be clearer, and calmer.
Microsoft (patents ignored):
I don’t think it matters that Microsoft comes up with the spec (I will cover the patent thing, please wait). Microsoft is a company like any other and the fact that they invented C# makes it no worse than if AT&T had invented it or if Sun had or Apple. However Microsoft does get a bigger knee jerk reaction.
Microsoft Patents:
I am not a lawyer, but here is my view. There are parts of mono that are covered by patents here and there, but they are the System.Data namespace and the System.Windows.Forms namespace. Neither of these seem to be used by open source apps such as Banshee/Tomboy/F-Spot/GNOME Do. This nicely sidesteps most of the patent issues to start with, after all, we use GTK# and SQlite. If there are other potential violations someone calmly pointing them out so they too can be avoided would be nice. Nobody seems interesting in actually resolving this, they just want to use it as a way to throw out the baby with the bath water.
The rest of the language is available as an EMCA spec and is therefore not covered by any patents (as goes my understanding). Additionally there is supposed to be royalty free license available, however it has been shown to be difficult (maybe impossible?) to obtain. Someone should exhaustively explore this. I read about someone that did try, but they seemed way too content to say its not easy and didn’t really push to hard for it. No lawyers got involved, which they probably should have.
Mono is for Developers:
So are libraries, like libc, but we ship them because applications use them. The reason mono gets shipped is not because you use it, but because an application you use uses it. Additionally Ubuntu only ships the parts of mono that applications are actually using (you dont have to install the whole thing). The parts clearly covered by patents are not shipped by default at all. Again, I am not a lawyer (and neither is the other side) so we need to really get one involved to find out for sure how this all should be handled.
Risk to the User:
The user is not at risk. Who is MS going to sue? You the user, or me the software developer? If I get sued I wont be dropping the project, worse comes to worse I’ll port it but the chances of it going that far are slim to none. Not to mention there is quite a bit of a patent portfolio on both sides. Something of a patent cold war, they sue us, we sue them, everyone loses. Still, no risk to the end user, even if things go nuclear.
Why Ubuntu Ships It:
Ubuntu ships it because the applications that are the best of the best use Mono (some of them). Tomboy is still better than GNote as it has a more vibrant developer community around it and more plugins. F-Spot is better than gThumb as gThumb is not actually a photo manager, its file system based, not tag based. Banshee is probably going to be replacing Rhythmbox for those who paid attention to the Ubuntu Developers Summit. This will mean that the default music player on Ubuntu will also by mono based. In all fairness, banshee is much more actively developed than Rhythmbox (which is hardly maintained these days). As a distro, Ubuntu makes a good choice to ship software that is developed actively over software that is hardly maintained, regardless of language.
HDD Space:
Its a weird argument. Mono in full uses less than a pennies worth of hard drive space. Yeah its 50MB, but so are 10-15 mp3’s. It’s not that much really. I can see the argument made for it making space on the install CD however. That makes sense until they try to push GNote which requires gtkmm which will take up sizable space to get all the C++ bindings for gnome in there. That and somebody would have to write a reasonable replacement for f-spot.
Memory Requirements:
This is a completely bunk argument. I’ve fixed maybe 100 memory leaks in GNOME Do since I started hacking it. 90% of those leaks were from the C libraries we were binding. The truth is, its easier to leak memory in C where you have to do your own memory management. We have sent 3 or 4 patches upstream to fix big ones and they have fixed the rest or provided us a way to get around the leaks. The runtime itself has maybe a 10MB penalty on memory, but that does not grow with time, and is shared between all mono apps running at the time. In fact the more mono apps you run, the more memory they will share which can often result in a net gain of free memory. To be honest however, we are not nearly there yet, thats just a “imagine if” kind of thing.
Anyhow, thats how I feel. I am not a lawyer, just a coder and developer. I would love to hear what other people think, so long as they can express it rationally and simply without getting emotional over the issue. Also if anyone actually is a lawyer, please let us know =)
DBO”
Thanks “DBO”, as I’m sure all readers, appreciate input from developers such as yourself. I think it helps to at least garner a better understanding of the issues at hand. I didn’t know that GNOME Do was in Mono (for example).
I appreciate also your experiences with the anti-Mono (and pro-Mono) camp. Personally I don’t like mud slinging, derogatory attacks, etc. regardless which side participates in such activities. When that type of discourse happens, it’s just plain wrong, rude and ignorant – And I’ve seen both sides participate in such activities. In my opinion, people who behave this way (regardless if they are pro or con Mono) should be ashamed of themselves. Maybe I’m somewhat naive, but I think this world has enough problems without people fostering new ones using bad behavior.
If you’re not aware, I used to be a Windows only user. You can read more background in Why I Quit Windows and Switched to Linux.
I actually do agree with you that it does not matter who came up with an idea – It really doesn’t. I find it very vexing when a developer works hard to produce something and then get personally attacked because his services were rendered to a body that many have an issue with. Don’t get me wrong, I don’t agree with some of the things these companies do, but I understand that developers et al, need to put food on the table. I guess my concerns are not with the developers (in this case of Mono), but rather with Canonical/Ubuntu – Canonical is calling the shots, they have the final say, right? I just cannot understand why Ubuntu is not stating their position. I can’t find any statements from Ubuntu (or Canonical) about this issue anywhere – Someone please correct me if I’m wrong.
I’m not a developer (this much is obvious), I’m concerned with the issue because, it appears, there may be a risk to us as Ubuntu Linux users. This concern was raised by a post I saw at the Free Software Foundation site: Gnome goes Mono and jumps into the Patent Trap, where it says:
“…since Novell has closed a patent deal with Microsoft… which undoubtedly also covers the .NET patents. However, all conventional Linux and Open Source vendors would not be able to distribute Gnome as it would be covered by the .NET patents Microsoft owns.
This amounts to an easy way for Novell to effectively lock in Gnome users to their own products. Gnome would no longer be a real Free Software project, even though the code remains freely available…”
As an end user, I found this very alarming. I stopped using Windows as my primary platform for just this reason! I don’t want to be subjected to forced brand loyalty, less than high quality software (because of a monopoly), etc.
What also concerns me is that developers who work hard to produce applications might find that they are subject to the whims of Mono’s status?
In retrospect, I think the whole crux of the issue, unless I am mistaken, is that nobody ever said Mono should be discarded! What was actually proposed is to have it moved to the repositories (off the CD). Unless I am not aware of something, I don’t see this as an issue. I remember having to use the repositories to install quite a few things that I wanted. So again, I say to both the pro and con groups, I don’t think anybody proposed removing Mono, rather moving it to the repositories instead. So… What’s the big problem with taking it off the CD?
I didn’t realize that Mono is included by default because some applications used it; until I found out that Tomboy uses it. I assumed that the complete Mono package was installed, I did not know that only the parts some applications needed were included. So… you’re telling us that the “parts” under the patents issues (and other concerns) are NOT used by default? Is that right? Wow! Is this correct? If that’s the case, does this issue not become a bit more mute? To me, the understanding is akin to Adobe Flash, I don’t want to install Flash on Ubuntu (via Wine or otherwise), but I have no problem with the Flash Player. Is this the same type of issue?
I’m not too sure I agree that there is no risk to the user. I don’t think the Ubuntu user community is concerned about legal actions from Microsoft? Instead, I think they are concerned with “anti-trust” type activities, as alluded to in the Free Software Foundation quote above. Additionally, another reader of this blog posted a link Why Mono is Currently An Unacceptable Risk, wherein similar concerns are raised.
I understand now why Mono is shipped with Ubuntu, and it raises the question, just how many of the applications use it? I like RythumBox (and KDE based Amarok). I’ll be honest, when I read that Banshee might be the new default Mono based player, I truly did think “Oh my God, were the people right in their concern that Mono will take over?” It begged the question, just how many of our applications in Ubuntu are Mono based? This aside, I can’t offer an opinion on which applications are better or otherwise, as I’ve not actively used all of them (I have opinions about them, but that’s about it <smiling>).
With regards to the memory issue, do I understand correctly? The memory issues are with the applications, not Mono? As a side note, I’m not sure what to call “Mono”, I understand there is the “Mono” used to develop the applications and then the Mono “stuff” those applications need to run (where we don’t have to install the “developing” Mono).
So why can’t Mono just be moved to the repositories? Why is Ubuntu remaining silent on this issue? How come other Linux distributions don’t have to use Mono?









This site is intended for users, looking for solutions, fixes, tweaks to get things working just they way they should. User experiences are all here along with other helpful information for the new and experienced Linux (Ubuntu) user.
This is the very first time that I read something understandable for a non developer about Mono, that was unbiased, factual, complete and in the end quite reassuring.
I must thank DBO for his input
Alain
Biased as far as I see. He’s a Gnome-DO developer.
Miguel de Icaza: “Yay something is using Mono. No, it doesn’t work on Linux, but I don’t care – I just want to implement .NET”
… sometime later: “We’re implementing .NET in a cross-platform fashion!”
… sometime later, when defending mono: “We’re implementing .NET for Unix!”
… sometime later: “We’re implementing .NET with -innovation- by using a different way to implement it!”
… sometime later: “Had dinner with Redmond folks! They’re awesome!” (obviously with the programmers and not the strategy team).
As I’ve mentioned several times, I’m not a developer, therefore I’m glad that developers are sharing their perspectives.
One thing I must say as an end-user, when I was primarily Windows based, I resisted installing .net on my system (I never did). So, it was a bit of a surprise for me to find out that I had Mono on my Linux system (and I never new it). Granted, part of the fault may be mine, for not informing myself, but it would have been nice if I had known.
As an end user, trust is important to me as I’m no Linux or Linux application guru – and therefore rely on the good trust I give to the Linux developer community.
In some way, it feels like a bit of an end run here as I would most likely not have installed a .net implementation had I known. Do I blame the application developers who use Mono? No, I don’t think so, rather more the Ubuntu developers/maintainers or their bosses.
I’m still somewhat perplexed and new to this whole Mono debacle, so I hope more people will chime in and be heard.
I understand (I hope I’m wrong) that Gnome is mono based, is that true? Should I have used KDE instead?
@UbuntuLinuxHelp
GNOME is not mono based in any way. There are mono based apps in gnome, but they are all considered optional and as such can be removed with the snap of a finger. Getting a mono app in as a required app of GNOME would be near impossible just because of the politics and the fact that depending on a VM is kinda weird.
If you are looking for a statement from Canonical the best you are going to get is this: http://boycottnovell.com/2008/02/22/mark-shuttleworth-on-patents/
In case you are interested, that is actually a very strongly anti-mono website, so there shouldn’t be much complaint from either side about that one. However I do warn there is a lot of emotion there and anything read there should be taken with a grain of salt.
@Vadim P
Yeah, I owned up to my bias at the start. You are very clearly in the anti-mono camp. It’s just as fair to say you are biased too, but bias isn’t anything more than what we believe to be true given imperfect evidence (or at least thats a fun way to define it). Also I would appreciate if you don’t compare my statements to Miguels, he is very different than I am. It’s not a fair comparison dude :)
@All
I would like to also like to note my real name is Jason Smith (so that people can google freely) and that I do not in any way get paid to work on GNOME Do. So there is no employer or higher up in this project at all. None of my fellow contributors are paid to work on it either, though some are under the employ of open source shops for different reasons.
@DBO: Naa didn’t meant to compare you with Miguel. And I do have Gnome-DO installed, so hey, thanks for making it better. But F-Spot is a joke and Tomboy has been replaced with Gnote – so I’m really not into the “Mono breeds better software” that the mono camp is claiming.
@UbuntuLinuxHelp -
Part of your disconnect on this is that you think “I’m a user, I don’t need any of this developer stuff”. No, as a user, you do not, but as a user of an application written in Mono you do. Mono is not much different in this regard from glibc, glibc++, etc..
As for the disk space requirements, those arguing about “saving” disk space advocate installing something else that has just as many dependancy requirements. They might argue that those dependancies are used by other apps but the same is true of Mono. And there will be more mono apps coming down the pipe.
Then there’s the argument “What’s so wrong about just moving it off the default? It’s still available in the main repos”, while true, it ignores the fact that if you remove it, you are also removing the apps that depend on it. A lot of people have worked very hard on those apps, and they think they’re better than the others of that class. Basically, you’re saying “We should reduce our functionality and go with worse programs because we don’t like Mono”. Maybe you don’t like F-spot or Tomboy, and because you don’t use them you think everyone else should use what you do. Not a good line of reasoning.
As for the patent issues. Frankly, there are FAR more worriesome patent issues to deal with. YOu do know that MP3′s are patented, right? Yet you don’t see the same people decrying Mono yelling to remove all MP3 support. You don’t see them yelling to remove dvdcss support. You don’t see them yelling to OpenGL (Microsoft claims to have patents on that too).
Why is it that only Mono patents are worth yelling about? Ximian has gone to great lengths to reduce any patent liability in Mono, making any questionable namespaces optional and not installed by default, and easily removed. Open source mono developers have gone to great lengths to create libraries like GTK# to avoid using the patented portions of Mono in Linux apps. The anti-Mono people always ignore this when you ask them why.
The fact of the matter is, there is a very vocal minority lead by sites like BoycottNovell and Groklaw that deliberately stir the pot, and cause discontent among Linux users. You get an echo chamber where everyone echos each others arguments until people hear it enough that unsupported opinions become “fact”.
Take, for instance, the claim that Mono apps use more memory than other apps. While this can certainly be true, you can’t do an easy comparison. Much of the “memory” complaints come from having to load the Mono libraries. These are shared libraries though, which means for every Mono app you have, that cost is amortized over all of them. The same is true of gnome and kde libraries. One can argue that bringing in a single kde app carries all the weight of KDE as well.
Last, but not least, 50 MB? seriously? Are you really concerned about 50MB on a 300GB disk drive that costs $50? I download PDF’s that are bigger than that.
@Nobody Real
This does clarify some of the issues at had on the other side of the coin. Personally, I had not considered how this issue may make some developers feel. It’s good to get the perspectives of developers. I’ll have to sit and digest what you’ve said. (For that matter DBO, Vadim P. and commentors on a couple other posts as well). For instance, I use Evolution on Ubuntu and didn’t know there were Mono driven facets to it either (given your Ximian mention, I assume that extended to Evolution as well?).
In many respects I wish I was able to code applications, I think that would give me, an end user, a better grasp and perspective. Granted having been an MCSE, N+ and the likes (with 20+ years of networking experience) has given me a leg up over less experienced users, I still find I need to stand back and let all this info percolate.
In any event, I’m always grateful for the commentors on this blog, experience and new – I’ve learned much more with them than without.
@Vadim P
I do agree F-Spot needs work, but in all actuality its the best open source photo manager out there for GNOME. This is largely because its the only one (gThumb does not meet most of the needs to large photo collections). Thankfully the f-spot developers are kicking back into gear and it should begin moving forward gracefully again.
Tomboy has not been replaced fully by GNote yet either and its kind of misleading to say so. To replace GNote it has to be accepted by GNOME as well as replace the missing plugins too. Also the new online service with tomboy is really awesome, I suggest trying it out! GNote has potential, but it needs more work than its currently getting. Looking at its revision history shows that its actual development is radically slowing (despite growing release numbers). For the last couple weeks there have been few changes to actual code, instead only seeing changes mostly dealing with translations and readme files. Not that these changes are not important but it casts doubt on GNote finishing up its port of Tomboy (as it is not done yet). As a simple point of comparison, GNOME Do has in the 24 hours seen over 10 commits to introduce a series of new features and bug fixes as well as architectural improvements. 3 external branches were merged and a new one has been making preparations for major updates to the entire system to make new interactions possible. This is the kind of activity you hope to see in a vibrant and growing project.
To be honest, Tomboy v GNote makes little difference to me so long as it has the features I want and the developer community to keep moving forward. Currently I have to still give the title to Tomboy but GNote might turn it around, we’ll see.
@Nobody Real
Keep it calmer dude. The calmer you are, the crazier the really crazy people look. Remember that this is not a game, this is real software with real people and invested time and money. Emotions don’t help here and only serve to muddy a difficult situation. The quicker and easier it is to spot over the top zealots by making them stand out more, the better. If I simply read your post with too much emotion, I appologize, sometimes text is a difficult format for conversation.
Jason “DBO” Smith
@UbuntuLinuxHelp
I am sorry I have not yet addressed all your concerns in the post, I do have a day job too. I just wanted to let you know I intend to hit each one of the points in an ad-hoc manner as I find time.
I’ll get a couple simple ones now.
Mono apps in Ubuntu:
The big ones are GNOME Do, Banshee, Tomboy, F-Spot and MonoDevelop. By default only Tomboy and F-Spot are shipped. There are other mono apps of course, you can find a small list here: http://www.osnews.com/story/9780
Oddly gnome do is not listed…
Mono apps taking over GNOME:
Just because Ubuntu ships something does not make it part of GNOME. In fact Ubuntu is a bit notorious for not pushing stuff back up into GNOME. Additionally, Canonical is a big Python shop and as far as I know none of their in house applications are mono based.
Why cant mono be moved to repositories:
Well its a touchy issue. First lets get the nomenclature down. Mono is in layman terms a set of libraries that work together to make what we call a framework. Applications are then built on top of these libraries (think stored procedure here), and thus require them to be present on the system to run. To move all this out of the main install, you also have to move the applications out of the main install. This means replacing Tomboy and F-Spot. Thus far people have only provided a semi-reliable means of replacing Tomboy with GNote (which I have addressed before).
Additionally using Banshee in Ubuntu saves disk space because we no longer have to ship RB and most of the banshee stuff is already shipped due to tomboy and f-spot. Little extra has to be shipped in terms of libraries where as some stuff from RB can be saved. This however has little to do with their decision and a lot more to do with Banshee having superior support for things like iPods and other mp3 players as well a better plugin library and overall professional feel.
In short, yes you can move it to the repos, but you have to A) replace Tomboy B) replace F-Spot and C) keep Rhythmbox (which is not actively developed anymore, but rather in maintenance mode). Remember, Ubuntu already is not shipping most of mono, only the parts applications are actively using (just libraries). The rest is in repo’s.
More on Patent Issues:
I am not a lawyer, give me a couple days to try to find one =) There are some very complex issues and I think we need to reserve judgement. However the big guys at Canonical do have lawyers and I am sure they are not just ignoring them. To me this means we need to get some real legal minds involved here, until then we are guessing. This does not mean we should go nuclear and remove it however, as this situation happens a lot more than one might think.
Memory Issues:
You are correct, the memory issues are the fault of the application, not the framework itself. In general mono apps use a small amount more memory than native applications (native here does not imply that mono apps dont compile down to native code but rather they run in a JIT like Java or Python), however they tend to be more stable in the long run as leaking memory is a fair bit harder to do.
Being at the whim of mono’s status:
Nothing will make me at the whim of mono’s status. If tomorrow I am told I can no longer use mono a java port would take but a couple weeks. A C++ port a couple more… nothing killer to my project, just to my future productivity. Man would I miss LINQ…
More to come later as I have time. Thank you for the chance to respond!
@DBO
Holy crap! This is good info! Makes things so much more clear. I can appreciate therefore the reasoning why Mono is still “in” (so to speak), it would be a big job to move Mono and the associated applications, in a graceful manner.
I’ll be rereading your comment(s) later (as I do have a fair bit to get done today).
The problem with the claim that Mono infringes Microsoft patents argument is that Microsoft claims that Linux infringes patents from the get go.
Every piece of software infringes patents today due to the broken nature of the system.
Singling out Mono because it has a Microsoft heritage is a double standard because the same claim can be made about any other piece of software that ships with Ubuntu, down to the kernel.
This CNN article goes through the list of components that infringe:
http://money.cnn.com/magazines/fortune/fortune_archive/2007/05/28/100033867/
Given this, maybe user interfaces should be removed (Gnome, Kde and Xfce), Openoffice/KOffice removed and chop anything that requires chopping on Linux at the same time that Mono is removed from the default installs.
@UbuntuLinuxHelp
Evolution has no mono dependancies, but there are optional bindings (mono interop) for it so mono apps can work with it. You can remove mono without remove evolution.
Vadim,
And the statements from Miguel are a problem exactly… why?
@lspci, thanks for the link!
EMCA Does not mean patent free. On patents EMCA says patents must be under no decrimatory terms. Ie you must charge everyone the same for patent usage.
EMCA rules also have some problems. If a EMCA standard is covered by patents the creator of standard knows about creator does not have to tell anyone until they spring it on the users. Even the ISO standard MP3 has patents with the same conditions as EMCA.
Locating the so called patent statement from MS and others over .net would be help. Then doing audit on what is and what is not covered. So suspect sections of .net can be moved to branch just like other codecs where legal status is in question.
Personally I don’t like mono on technical grounds. Mono internal design really does not suit interfacing with gobject so requires fairly large wrappers. Vala + a bytecode engine could be the true correct path to get what .net people promise without the major overheads.
Memory management feature alone is not enough to justify mono. Vala also provides a memory management along with many other solutions.
10 megs of extra used memory is 10 megs of extra used memory. Linux kernel if you do get to a OOMKiller point does not care what caused the 1 block too many.
Major difference is type of memory. JIT in mono uses memory for executable code that must go into swap. Compared to native program executable code where the executable code can be freed and reloaded at a latter point. You want the least amount possible that is JIT due to how kernel memory management works.
Besides C# programs can leak memory in different forms to C. Its not a magical cure all. Its call chained objects. So even that a object really never be used again it stays allocated because it linked to a object somewhere that is still in use.
Common defense they use is redirect. See over here leaks more memory so we don’t have to worry. Sorry you are selling your language as better than C or C++. It god darn better be by good amount.
oiaohm,
Thats why I said I am not a lawyer =) Are you? However I think you are right, the best approach to these patent issues is to really find out whats going on and not just panic and guess.
I would like to stop here and note that everything I address from this point forward is *not* a reason to remove mono from the Ubuntu CD. Applications are developed in it and they work well. We don’t remove them because we don’t have a preference for the technology they are built on.
Vala:
As for the technical end of things, I feel more qualified to talk on this a bit. Vala is not a compelling thing to talk about right now, in many regards its still 2 or 3 years out from being ready, its API is constantly changing and source written for Vala 0.6 will not work with 0.7. This makes it unusable for large scale development or at least a major hassle. Mono is here and ready now for use.
Vala is also missing the following features:
- LINQ
- True closures (it has slightly leaky ones)
- A solid, well thought out framework underneath it (yes I know there is GObject, but it doesn’t compare to .NET)
- A large development community (currently its fairly small)
Vala is currently not very compelling, but in the future this may change. Also the fact that it compiles down to C and then to machine code will always make it a little awkward don’t you think?
10 MB of Memory (VM Memory):
As for the 10 megs of extra use. 10 megs of extra use for all running mono apps. I am not going to even pretend this is a big deal, it’s a complete non-event. This is not being targeted at a kernel module. Mono is by and large used by desktop applications, 10MB is a small price to pay.
JIT Memory:
I will look more into the JIT executable code going into swap, you may have a valid point here. I never said mono was perfect, but from a technical standpoint I can tell you it works well for me and my team. Thats all it really has to come down to. If you don’t like it, nobody is making you use it =)
Memory Leaks:
Of course they can leak, anonymous delegates are the biggest offender of all here. Garbage collection is not a cure all and a novice programmer can leak a storm of memory. However the advanced guys are well aware of these cases and the best part is, there are really only a couple of cases. For the most part it all comes back down to unhooking your event handlers, 90% of leaks in mono I have seen come from this one error. Train a programmer to do that and you fix most of their leaks.
Is C# Better?:
I did not mean to say it’s a better language over all, I don’t think I did. I do believe its a better language for building desktop applications due to its rapid development time. Observe, Banshee, GNOME Do, and Tomboy are relative newcomers to the game, yet are often considered the best app for the area.
Is C# really better though? Who cares… thats not at all the point. The point is some fine apps are written in it, it would be really nice to get those apps out to users. I don’t care if they are written in Chef (fun language) so long as they work well, do their job, and present the best user experience possible.
oiaohm,
One last thing I forgot to say. I did mention before that its *harder* to leak memory in C#, not impossible… I don’t know why you think I said it was a cure all. I certainly did not sell it as such, however I will bet dollars to donuts a 101 C programmer leaks more memory than a 101 C# programmer. (maybe 201′s are needed to really get out of the stack?)
And to clear up something before, this does not on its own make C# a better language by any stretch of the imagination. I think the programmers and the community largely will determine the success of a language and the actual merits tend to take a second place.
The adoption of C# really means that the OSS community is lacking and C# along with .NET is superior.
The fact that it was implemented in way B from Microsofts A really doesn’t mean much as the design is there. What is to gather here?
MySpace was evaluating Mono w/ Linux for a year and a half. You know what happened to that effort? It was dropped as soon as MS dropped their prices. Just like that.
To be honest, a year and a half ago I would not have bothered with mono either, ewwww it was much more nasty then. I’m not sure I am understanding the rest of your post however, could you maybe reword it to make it clearer?
I am not sure what point you are really trying to make however. None of that seems to have any relevance to shipping Mono in Ubuntu, which was the original discussion.
Hi Peoples…
I know this is off topic, but check this out, looks like Linux is the first to support USB 3.0? I caught this tweeted URL in my twitter stream: http://www.linuxdevices.com/news/NS5811535015.html
Yeah, I saw a talk several months ago by an Intel lady who was working on USB 3.0 drivers for Linux. So not surprising.
I’m a software engineering student and I use Ubuntu Only. One of the most important languages on the market right now is c# and without MONO it was impossible for me to learn it without using Windows again. So, I only want to say thank you for bringing MONO to Linux.
It all comes down to a few simple questions (and answers)
1) Are ECMA standards allowed to be patent encumbered? Yes.
2) Are there patents covering the C# standard? Yes.
3) Can you get a license to cover those patents? Several people have tried and been unable to.
4) Can you safely use the standard without a patent license? Not in my opinion, but check with your lawyer.
5) Is C# really superior? No. It’s just another programming language.
So why all the excitement about Mono? It’s a poor man’s imitation (limited functionality), of a failed programming system (better uptake than Quick Pascal, but that’s not saying much), designed by a failed software company (read their SEC filings before you reply).
And that’s what has me suspicious of Mono. It doesn’t seem to offer any compelling features, so why are people pushing it so hard? The only answer I’ve been able to come up with is that there are ulterior motives behind the push for Mono, and I don’t trust ulterior motives. Unless they are mine.
I think Microsoft clarified the issue. What do you think?
Microsoft issues patent promise, dispels Mono legal concerns
Microsoft has announced that it will apply the Community Promise to ECMA standards 334 and 335, the specifications that describe the C# programming language and .NET Common Language Infrastructure. This means that Microsoft is providing a legally binding guarantee that it will not enforce its patents against Mono and other third-party implementations of the standards.
from http://arstechnica.com/microsoft/news/2009/07/microsoft-issues-patent-promise-dispels-mono-concerns.ars
If you think that Microsoft clarified the issue, you haven’t read the Community Promise.
Hi and thanks everybody for the enlightening debate. Actually, I’m no developer, nor a long time Linux user (been using Ubuntu for 1 year). I will therefore try to add my humble voice as a simple user.
A couple of months ago, when I heard rumours about a possible replacement for Rhythmbox, I decided to give Banshee a try. I must admit that at first I liked it, the way it was thought, its features, its polished GUI, the development promises behind it, etc. It had anything I actually wanted, and didn’t crash at all. But so did RB, anyway. However, in the meantime I also had the time to try other applications, like F-Spot, Tomboy. After more than one month I had become accustomed to it all. Then I bumped into a couple of exchanges which introduced me to this “MONO/anti-MONO war”. Nostalgically, today I decided to play some music in my good old RB: as soon as I hit the play button, the song started at once. Isn’t it silly that such a trivial fact surprised me at all? This brought me back to last year, and to the reason why I decided to ditch Windows: Linux did exactly what I told it to do, while Windows was whimsical and had me wait for it to complete whatever it was secretly doing in the background. Now, when I found extraordinary the fact that I told RB to play music and it did it instantaneously, I realised that Banshee took all the time it wanted to do the same – sometimes up to 6-7 seconds. And the same was when scrolling albums, opening menus, searching for songs (especially – while RB takes less than 1 sec!), and everything else – starting and quitting included. RB is as fast as light, which is really what I expect from my music player – and my OS as a whole. I don’t want my OS that tells me to wait, and makes me do what it wants: those were Window$ times. Now I uninstalled Banshee, F-Spot and Tomboy, and got back to use RB and Gnote (I didn’t really use a photo manager before, I only wanted to try one out, so I won’t miss it). And now I have my Ubuntu back: light apps, quick response, extraordinary performance. Here is the point, from a simple user: I must have a computer that does what I want, when it begins to be the other way around either something is wrong, or there must be Bill somewhere around (or both – watch out =)!). And I can swear that if Ubuntu is going to give me that distorted low-performance experience I will ditch it the very same day. No doubts about it!
In a distribution which is trying to reach the 10-secs boot-time goal I don’t think such delays are exactly what Canonical is expecting, and what its end-users would find acceptable. This is why, in my humble view, MONO will not find ample space in Ubuntu in the future. Conversely, it will not find me around anymore =), but that’s not as important… or is it?
Nice comments…and all are right.
I did some programming in C# too. It’s not too bad but now I am back on Python and C++. So, I’m not against Mono at all.
But: the Mono software currently promoted (i.e. F-Spot and Banshee) is bad compared to existing software. Don’t forget this! F-Spot is crashing and Banshee is unbearable slow with a real world music archive. Gnome-Do is quite good (but the Avant window navigator is too).
What I what to say is: don’t let the alternatives die and Distro should watch for the performance of their shipped default software. Not everybody gots a DualCore 3+ GHz machine and not everybody wants to!
@Lorenz
I think you’ve made a good point! I found those apps (the ones you mentioned, and some others, rather slow), but more importantly, your suggestion that “alternatives” shouldn’t die; more variety almost always produces more innovative, usable and efficient applications (in my opinion).
Slow? on what your P2? Linux people need to get with the “now” and not continue to cry about their 15 year old computers running modern apps slow. I use all those mono apps. They work fine and sometimes better then the out dated stuff that’s hanging around. What makes any software better then another? Compatibility! Stop whining and start working together. If you don’t like something, make something better. Shhesh
15 year old computers? That would be Pentium the original timeframe.
Almost everyone who I know who runs Linux of any type, runs it on new hardware, for example I’m running it on a Core 2 Duo. And yes, Mono does run slower than software which uses C and C++. That happens when you are running a JIT compiler. It’s the nature of the beast.
The big issue as far as I’m concerned is that I migrated away from Windows so that I wouldn’t have to put up with Microsoft’s incompetence anymore, and now I find that some goof is trying to migrate a Microsoft programming language to Linux! Pardon me, but this doesn’t seem to be a good idea to me.