Stallman warns about C# and Mono dependence
Since its inception, Mono has always been controversial, largely because
Microsoft—creator of the .NET framework that Mono implements—is
not trusted by a large segment of the free software community. The concern
is that, at some point, Microsoft will start asserting patent claims
against Mono or applications that use it.
Richard Stallman recently stirred the pot with a brief warning
that reliance on Mono, or applications that are written in C#, is a
"serious danger
". That, in turn, has led to a number of
discussions about how real that danger actually is, and what, if anything,
distributions should do about it.
Certainly, the patent non-assertion agreement that Microsoft and Novell signed in 2006 gives the appearance that Mono users—those who are not Novell customers anyway—could be subject to patent harassment—or worse—from Microsoft. So far, nothing like that has materialized, but it is difficult for anyone with even the tiniest bit of cynicism (along with a historical perspective) to be completely unconcerned about the problem As is typical, Stallman is particularly blunt, or alarmist, depending on one's perspective:
It would seem that Debian's recent addition of the Mono-based Tomboy note-taking application to one of its GNOME meta-packages—though only for the Squeeze (testing) release so far—is what prompted Stallman's warning. Some are advocating shipping the Gnote re-implementation of Tomboy in C++, instead of Tomboy, which might be a solution for note-taking. As Debian developer Josselin Mouette points out, though, there are no replacements for other Mono-based applications, such as F-Spot and GNOME Do, so Mono may well be required by other default applications down the road.
Some distributions, such as Fedora for the upcoming Fedora 12, have removed Tomboy in favor of Gnote for default installations. This effectively removes Mono from the default, though the reasons are not necessarily related to any potential patent issues—Gnote has a much smaller footprint. But, there is the recent patent suit against TomTom—and efforts to work around the patent—to remind folks that the patent threat is real, and that Microsoft, which had largely stayed away from pressing patent claims, can and will pursue free software implementations of its patented technologies.
Any patent action against Mono may subject the plaintiff to a countersuit from the Open Invention Network (OIN), which is a patent pool to defend free software. By adding Mono to its list of protected applications, OIN allowed various distributions, Fedora for example, to become comfortable enough to start shipping Mono at all. There are still risks, of course, not least from patent trolls who don't implement anything that could be subject to a countersuit, but the OIN coverage provides enough of a threat to potential patent attackers that Mono is available for nearly all distributions.
Unlike many earlier complaints about Mono and C#, Stallman is not arguing against the existence of Mono, his view is more nuanced than that:
The problem is not in the C# implementations, but rather in Tomboy and other applications written in C#. If we lose the use of C#, we will lose them too. That doesn't make them unethical, but it means that writing them and using them is taking a gratuitous risk.
The mention of DotGNU Portable.NET is confusing to some: how can Stallman be warning against C# in the same message where he touts a GNU implementation of the language? But Stallman evidently doesn't see it that way; providing the tool is not the same as encouraging its use. His solution is to discourage new development in C#, find alternative applications written without Mono, and to not include Mono in the default installations of Linux distributions. As more C# applications come along, particularly those without a "Mono-free" alternative, that could pose some serious difficulties.
The most in-depth defense of Mono, in general, as well as arguments for its inclusion in Debian, Ubuntu, and other distributions comes from Jo Shields. In a lengthy blog post, which was a response to a challenge on Linux Today, he also notes that it is the applications that are driving the adoption of Mono, not the technology in and of itself. He has a well-thought-out list of reasons that users should not be worried about the patent threat. He is clearly exasperated—or worse—with the shrill "anti-Mono" contingent:
This issue has been simmering for a long time, but it has really flared
up over the last two or three weeks, prompting the Ubuntu Technical Board
to issue a position statement saying that
it "sees no reason to exclude Mono or applications based upon it from
the archive, or from the default installation set
". While some
distributions may remove Mono from their default installs and Live
CDs—for space reasons if nothing else—there are few, if any,
mainstream distributions that will completely remove Mono from their
repositories, as there are clearly useful applications that depend on
it. An interesting exception to that, however, is Red Hat
Enterprise Linux
(RHEL), which doesn't package Mono at all.
C# is an international standard, as both Ecma International and ISO have adopted C# specifications. Those bodies require patents that are held by their members, and that cover an adopted standard, be licensed under "reasonable and non-discriminatory" (RAND) terms. Depending on what those terms actually are, they may not be "non-discriminatory" towards free software implementations, particularly if they require royalties. But, it may well be that patent enforcement actions by Microsoft against Mono (or DotGNU for that matter) are unlikely. Microsoft might also be leery of the various regulatory bodies that tend to keep an eye on its anti-competitive behavior. All of those things may make the probability of a patent suit vanishingly small, but it doesn't reduce it zero—and that is what Stallman and others are worried about.
Of course, Microsoft could make its intentions clear, and remove the doubt. That it chooses not to, and lets the free software community twist in the wind, speaks volumes about its tactics—whether it truly thinks it might ever use the patent weapon or not. Rather than any active enforcement, a more likely scenario is that Microsoft hopes it can shake down more companies in deals like it made with Novell. From that standpoint, the internal free software community bickering about Mono serves its purposes as well as any "fear, uncertainty, and doubt" campaign it might be able to conjure up.
There are perfectly legitimate reasons to be concerned about Mono: it is resource-hungry, is always playing catch-up with whatever new features Microsoft chooses to add, and could increase the danger from patent suits. At the moment, though, those kinds of arguments are being drowned out by a loud group that doesn't want to see Mono exist at all.
This rabid anti-Microsoft segment of the free software community has not done the rest of the community any favors with its behavior regarding this issue. There are certainly reasons to be wary of Microsoft, but there is no reason to believe that the Mono developers and proponents are interested in anything other than the technology itself. The C# language and .NET libraries have benefits that they see, and wish to use. Disagreeing with that, on a technical—or political—level is all well and good, but calling for people to be fired or somehow expelled from the community for their opinions, as Shields describes, is absurd. Freedom cuts both ways.
The root problem is, of course, software patents, and the uncertainty they bring. This is clearly a growing problem within our community, and one that is not going to go away soon. While a patent attack from Microsoft over Mono may be unlikely, there are certainly other patent trolls out there trying to figure out how to leverage their "valuable intellectual property" against Linux and free software. Where the next attack comes from is unclear, but we can be sure that it's coming.
Posted Jul 2, 2009 2:23 UTC (Thu)
by sitaram (guest, #5959)
[Link] (10 responses)
For what it is worth, my stand has always been anti-MS. Even rabidly so, some may say. So be it.
I have now stopped using Ubuntu itself due to this. I no longer recommend Ubuntu to new users (and there are many that I support, friends and relations mostly). I carry around a Mandriva one KDE edition live USB and install from there.
I'm obviously not interested in the extreme type of stuff described in the last few paras in the article, but -- to the extent that "vote with your wallet" makes sense in Linux -- this is how I vote.
Sitaram "humility personified" Chamarty :-)
Posted Jul 2, 2009 2:47 UTC (Thu)
by tetromino (guest, #33846)
[Link] (6 responses)
But if you are, as you describe yourself, just a lowly user, why are you so emotional about Mono patents? Do you seriously expect there is any chance at all that you personally will receive a letter from Mr. Ballmer's laywer, shaking you down for your use of Tomboy to keep track of your favorite recipes?
Posted Jul 2, 2009 3:25 UTC (Thu)
by jmorris42 (guest, #2203)
[Link]
> Do you seriously expect there is any chance at all that you personally
Yes. I admin a network and I have to worry about being legal. That means our lab PCs have DVD burners but can't play a mainstream DVD. It also means they don't have mono. If enough really useful software starts depending on it I might have to install it and pray but I'd rather not have to.
Bottom line, mono is asking for trouble. If we content ourselves to using mono to enable 'foreign' apps to run, much like wine, the odds are there will never be a patent suit to worry about as the potential for sowing chaos into the Free Software camp will be minimal and the loss of goodwill will be huge. Make it a irreplacable cornerstone of the Free Desktop and it will create a target Microsoft will find very hard to resist.
The developers who want to repeat the KDE/Qt fiasco by pretending development can exist apart from practical and political issues are making an error. Yes we are just users, but software without users isn't very useful. And if you know a non-trivial set of users will refuse to use a program based on it's programming language that really has to factor into the decision of which language is most apt for the task.
Because that fact is real and no amount of handwaving can make it go away. It means distributions have to take it into account, do they put your new program in if it means writing off a portion of the userbase? How much of a factor that is depends on what the program does. If it is a non-replaceable (or worse non-removable) part of the desktop it is a big problem, if it just an ordinary application it isn't much of a problem.
Posted Jul 2, 2009 3:57 UTC (Thu)
by russell (guest, #10458)
[Link] (3 responses)
"However, the vast majority of the anti-Mono crowd are not developers or packagers they are back-seat drivers. They make proclamations about how other developers (who are surrendering their time to developer Free Software) should instead use the framework of THEIR choice, not the developer's."
This comment is so typical. If your not a developer your a nobody! A nobody who can be sued, but still that's not enough to have an opinion. Developers can develop in what ever they like, fine. Just don't complain when people lobby their distros not to package it. We don't want your code, get over it.
Posted Jul 2, 2009 6:28 UTC (Thu)
by sitaram (guest, #5959)
[Link] (2 responses)
Jo Shields really got my goat with that patronising comment. My "lowly user won't use Mono" thing is largely directed at Ubuntu and such, but at least partly at him and any others who talk/think like that.
Of course they're free to say anything they please, because they *are* putting in a lot of time and effort, no question about it.
But freedom does cut both ways, as Jake said in the article. Which means I go my way, they go theirs :-)
Posted Jul 2, 2009 11:20 UTC (Thu)
by regala (guest, #15745)
[Link] (1 responses)
Posted Jul 2, 2009 16:38 UTC (Thu)
by sitaram (guest, #5959)
[Link]
And yes, I agree we have BCN to thank for that.
And *of course* Jo is focusing on BCN -- this lets him conveniently ignore the much more silent, but much larger, group of people that just don't want mono, period, but will not say or do any of these extreme things, and will simply walk away.
Posted Jul 2, 2009 6:19 UTC (Thu)
by sitaram (guest, #5959)
[Link]
Of course, being a lowly user is what gives me that luxury.
But if, as http://lwn.net/Articles/339521/ below said, I were to find I needed (*really* needed) a function that was only available in a mono-app, I'll probably do what he says he would: use it and pray. But for now, there's nothing I or the people for whom I'm an unofficial PC repair guy have any needs like that.
Posted Jul 2, 2009 11:17 UTC (Thu)
by regala (guest, #15745)
[Link]
This rabid anti-Microsoft segment of the free software community has not done the rest of the community any favors with its behavior regarding this issue."
I think you should reread your comment and what this quote says.
Posted Jul 20, 2009 22:17 UTC (Mon)
by drdream (guest, #59674)
[Link] (1 responses)
http://www.ditii.com/2009/07/07/ecma-c-and-cli-standards-...
Posted Jan 13, 2010 18:49 UTC (Wed)
by Kraftman (guest, #62833)
[Link]
http://www.itwire.com/content/view/25799/1231/1/0/
Btw. there are many people who lobby against mono:
http://mono-nono.com/2009/07/15/novell-promotes-mono-in-g...
"The main reason I use GNOME is because of Banshee, F-Spot, Tomboy, Beagle, and other apps that are IMHO better than what you get on any other OS, including Win7 or OS X."
This fanboy has to be kidding.
Posted Jul 2, 2009 3:18 UTC (Thu)
by pabs (subscriber, #43278)
[Link] (4 responses)
https://savannah.nongnu.org/projects/solang/
So far it seems to be available in Ubuntu (but not Debian or anywhere else) according to whohas.
Posted Jul 2, 2009 8:14 UTC (Thu)
by tajyrink (subscriber, #2750)
[Link] (2 responses)
Posted Jul 2, 2009 14:57 UTC (Thu)
by droundy (subscriber, #4559)
[Link] (1 responses)
Posted Jul 9, 2009 16:27 UTC (Thu)
by SEMW (guest, #52697)
[Link]
I don't think F-spot's slowness is a fundamental limitation with C# or mono. I'm a fan of Gnome-Do, which uses mono, and use it with a large set of plugins, several of which run every search through large indexed databases as you type -- and have never experienced it as anything other than instantaneous.
I think app slowness is rarely a fundamental problem with the language the app is written in. Several of the apps I run regularly are written in python and are perfectly fast; openoffice is written in C++ (with some periphery in java) and is dog slow. I suspect fast and slow apps can be written in any language.
Posted Jul 2, 2009 16:12 UTC (Thu)
by cry_regarder (subscriber, #50545)
[Link]
It is has a fast and simple interface with plenty of customization ability underneath. Also it can launch the gimp with a key press.
Cry
Posted Jul 2, 2009 4:59 UTC (Thu)
by Banis (guest, #59011)
[Link] (4 responses)
Posted Jul 2, 2009 6:18 UTC (Thu)
by rahulsundaram (subscriber, #21946)
[Link]
Posted Jul 2, 2009 17:10 UTC (Thu)
by sbergman27 (guest, #10767)
[Link] (2 responses)
Posted Jul 2, 2009 17:55 UTC (Thu)
by rahulsundaram (subscriber, #21946)
[Link] (1 responses)
http://lwn.net/Articles/179597/ (referenced within the article)
http://blog.internetnews.com/skerner/2009/06/fedora-is-co...
Posted Jul 3, 2009 19:31 UTC (Fri)
by sbergman27 (guest, #10767)
[Link]
"...Mono is not part of Red Hat Enterprise Linux and hasn't been since 2006."
Which is a bit misleading. It implies that Mono was in RHEL previous to 2006. To my knowledge, Mono has *never* been in a RHEL product.
Posted Jul 2, 2009 5:11 UTC (Thu)
by ncm (guest, #165)
[Link] (21 responses)
The controversy over adding dependencies on Mono and Java is colored by how aggressively stupid both languages are, in both design and implementation. Their design is cribbed from 1991 C++ and then crippled, and their typical implementation is driven by the assumption that you don't have source code. Neither serves Free Software. It's bad enough that they exist at all, never mind that they provoke fights.
I have Perl on my systems, and Python, and Ruby, and various Schemes, and Lua, and various compilers, and they all mind their own business. It's hard to tell which a program is written in. Why is one always obliged to know if a program is Java or Mono, and if you don't know, you soon find out? As it happens, I don't have any installed, or the infrastructure to run them, and have never missed them even a little bit. If they're so easy to get along without, they might better be done without.
Posted Jul 2, 2009 8:01 UTC (Thu)
by jamesh (guest, #1159)
[Link] (3 responses)
It mainly seems to be the attack sites that seem to be pointing out the implementation language/VM to users.
Posted Jul 2, 2009 10:00 UTC (Thu)
by cortana (subscriber, #24596)
[Link] (2 responses)
Posted Jul 2, 2009 12:24 UTC (Thu)
by nye (subscriber, #51576)
[Link] (1 responses)
Posted Jul 2, 2009 13:56 UTC (Thu)
by jengelh (guest, #33263)
[Link]
1. time for (i=0; i < 10E7; ++i){/* add something to make sure it is not optimized away */}
2. try to implement and time $_ =~ s/[\x20-\x7e]/sprintf "\\%03o", $1/eg;
Posted Jul 2, 2009 8:08 UTC (Thu)
by MisterIO (guest, #36192)
[Link] (16 responses)
Posted Jul 2, 2009 11:43 UTC (Thu)
by MathFox (guest, #6104)
[Link] (15 responses)
For me it is not a programming language issue, but a runtime resource usage issue.
Posted Jul 2, 2009 15:50 UTC (Thu)
by alankila (guest, #47141)
[Link] (14 responses)
This is important because every application has a distinct heap of memory that it uses for whatever purpose, but there is no possibility of sharing this area of memory because every application always starts from scratch.
Assuming there's any degree of accuracy on these numbers, Mono wins JVM by a factor of 2-3.
Posted Jul 2, 2009 18:32 UTC (Thu)
by ncm (guest, #165)
[Link] (12 responses)
It's pointless to compare a JVM's resource usage to that of the Mono runtime. Both are indefensibly awful. It's partly a consequence of a stupid runtime design -- why defer compilation to runtime, when you can compile directly to machine code once? But it's as largely attributable to unavoidable dependence on garbage collection, leading ineluctably to pervasive memory leaks. In other words, they don't bother compiling to machine code because it doesn't help much anyway.
Mono and Java defenders often point out that Python can be a thousand times slower than Mono or Java. That Python programs are often preferable to either, anyway, indicts both.
Posted Jul 2, 2009 20:46 UTC (Thu)
by nix (subscriber, #2304)
[Link]
Posted Jul 2, 2009 21:37 UTC (Thu)
by epa (subscriber, #39769)
[Link] (2 responses)
Posted Jul 3, 2009 5:04 UTC (Fri)
by ncm (guest, #165)
[Link]
Posted Jul 3, 2009 7:24 UTC (Fri)
by xoddam (subscriber, #2322)
[Link]
"Since the collector supplements the reference counting already used in Python, you can disable the collector if you are sure your program does not create reference cycles. Automatic collection can be disabled by calling gc.disable()."
Posted Jul 3, 2009 17:09 UTC (Fri)
by alankila (guest, #47141)
[Link] (7 responses)
Your concept of garbage collection and its "pervasive memory leaks" is bizarre. I don't even attempt to figure out what you can possibly mean by this.
Posted Jul 3, 2009 20:24 UTC (Fri)
by nix (subscriber, #2304)
[Link] (6 responses)
Firstly --- and this is more a problem with stupid programmers, but a
Secondly, GC can often ruin data locality, smashing the dcache badly.
Posted Jul 4, 2009 1:32 UTC (Sat)
by alankila (guest, #47141)
[Link] (5 responses)
I have actually seen this antipattern in my old working place: a web application that didn't quite work and they had to restart the program whenever customers reported that it was stuck again. The application was ported from Perl with people assuming similar semantics (predictable destructor calls at end of block), and none of the database handles were closed properly, leaving read locks behind.
The locality issue is harder to tackle in any meaningful way. In principle the GC could be informed about desired locality patterns by some kind of sampling algorithm that records recently used objects, and then moves them as close to each other as possible during the next major GC cycle. I don't think anyone does this in practice, though.
Still, VM people are fond to argue that having a VM abstraction allows doing just this kind of weird optimizing like moving objects around in memory in response to runtime demands. Perhaps JVM could beat C one day if all imaginable tricks were pulled...
Posted Jul 4, 2009 5:14 UTC (Sat)
by ncm (guest, #165)
[Link] (4 responses)
Posted Jul 4, 2009 7:41 UTC (Sat)
by njs (subscriber, #40338)
[Link] (3 responses)
That said, I agree it's annoying how popular the idea is that deferred GC is the *only* memory management technique one would ever need or want. Also, determinism is awesome. But OTOH, a lot of the programs being written in GC environments are ones where the authors would never get the memory management right anyway.
None of which has anything to do with Seattleites bearing gifts.
Posted Jul 4, 2009 7:43 UTC (Sat)
by njs (subscriber, #40338)
[Link] (2 responses)
Posted Jul 6, 2009 19:00 UTC (Mon)
by ncm (guest, #165)
[Link] (1 responses)
Posted Jul 8, 2009 6:19 UTC (Wed)
by deunan_knute (guest, #290)
[Link]
Posted Jul 9, 2009 8:24 UTC (Thu)
by ketilmalde (guest, #18719)
[Link]
The results are graphed here:
http://gmarceau.qc.ca/blog/2009/05/speed-size-and-dependa...
From this, the ideal seems to be OCaml, which is consistenly good both in code size and speed, but plain C seems to beat C# soundly.
Posted Jul 2, 2009 7:06 UTC (Thu)
by AlexHudson (guest, #41828)
[Link] (5 responses)
I find it interesting that people worry so much about Mono when large businesses are running on it and financially important products are released containing it - you just have to look at the games market where Mono is beginning to carve out a big niche (Second Life, Sims 3, etc.).
Mono will continue on whether or not the Linux community want it; and maybe a lot of them won't. I get the strong impression that would be the Linux community's loss, however.
Posted Jul 2, 2009 11:29 UTC (Thu)
by regala (guest, #15745)
[Link] (2 responses)
Posted Jul 2, 2009 19:16 UTC (Thu)
by man_ls (guest, #15091)
[Link]
I would say that we need Stallman for a few more decades. Even if he is sometimes wrong, often loudmouthed and always stubborn, he does pose uncomfortable problems and brings them to light, and is not afraid to say what he thinks without regard for politeness or realpolitik. For instance: nobody has called for free firmware before, since it is an area fraught with subtleties and exceptions. But there is an underlying moral conflict which Stallman unraveled and exposed; and opened a necessary debate which should bring interesting results.
Posted Jul 3, 2009 3:00 UTC (Fri)
by njs (subscriber, #40338)
[Link]
I don't know what RMS said about Subversion's license -- I don't see a cite, and he tends to speak fairly carefully. But subversion's license is certainly obnoxious (it has naming restrictions and a quasi-advertising clause), certainly GPL incompatible, and this has caused real problems. I have great respect for Karl and others involved with subversion, but that doesn't make the license less annoying.
Posted Jul 15, 2009 17:15 UTC (Wed)
by pimlottc (guest, #44833)
[Link]
It's sort of like Wine - it's main use is to enable users to run existing Windows applications, not to act as a widget library for new Linux applications. Of course, similar arguments arise here as well; does the presence of Wine discourage application vendors from creating "native" Linux versions? But I think most Linux users agree that, overall, Wine brings a net gain in freedom to users by removing the need for a Windows installation for many Windows programs.
Clearly the controversy in this situation shows it's less clear cut here on whether the longtime balance of having an open-source C# implementation like Mono is a net gain or loss.
Posted Nov 26, 2013 5:08 UTC (Tue)
by douglas (guest, #94185)
[Link]
Any free implementation of C# would raise issues. The danger is that Microsoft is probably planning to force all free http://csharp.net-informations.com C# implementations underground some day using software patents. (See http://swpat.org and http://progfree.org.) This is a serious danger, and only fools would ignore it until the day it actually happens. We need to take precautions now to protect ourselves from this future danger.
Douglas.
Posted Jul 2, 2009 10:56 UTC (Thu)
by epa (subscriber, #39769)
[Link] (1 responses)
Even this sober LWN article falls into the trap of framing the argument as being about 'trusting Microsoft' or not trusting them, when the whole point of free software is that you do not have to trust anybody. Even a 'good' company such as Sun could undergo a Caldera-like transformation in the future.
(I would note that the patent FUD surrounding Mono and other free software does not come from Microsoft or from Novell, but from some sections of the 'community'... as the article notes, Microsoft doesn't need to bother making negative PR for Linux when there are people like this doing it for them.)
Posted Jul 2, 2009 19:29 UTC (Thu)
by man_ls (guest, #15091)
[Link]
Even knowing if you are infringing on the patent can be costly and time consuming. Many companies do not want to be sued since it is so costly, so the mere risk of being sued (however innocent they may come out in the end) makes them scary. And not necessarily small companies; TomTom is pretty big and well known. It is such an insane system that no reform can make it right IMHO.
Posted Jul 2, 2009 11:56 UTC (Thu)
by mjr (guest, #6979)
[Link] (13 responses)
However, I agree with the assessment that it's unlikely that at least the base C# language would be in any credible way especially encumbered; it isn't that special, and many a suit that'd apply for it would apply for many other languages as well.
Now, maybe there's more risk if you go into using some of the more "enterprisey" .NET APIs, and if you start coding for .NET, there certainly exists a risk of a slippery slope towards those.
For apps that make use of the base language plus .NET bindings to existing free libraries, there is probably little to no real risk in the end, though, and OIN does improve the odds that MS won't even try more than FUD.
But, as said, they did go after Tomtom with their ridiculous FAT patents, perhaps to try out the waters. We'll see what they concluded about them... But again, given the nature of patents, we wouldn't really be needing to use .NET stuff to be a target, merely stuff that provides sufficiently similar functionality, so...
To sum up, possibly the "enterprisey" .NET stuff is more risky than alternatives, but I doubt C# is significantly more risky for most purposes than anything else in the repressive software patent regime. IANAL and all that.
Posted Jul 2, 2009 13:56 UTC (Thu)
by Nelson (subscriber, #21712)
[Link] (12 responses)
This seems like a really low point in the community to me. I understand that mono and java apps tend to be heavier and there is a whole subset of people that are against that. I think they tend to be less buggy though and more reliable, there are classes of security errors that don't exist in them and that's pretty valuable to a lot of us. If you want to dislike it for performance or weight reasons, that's fine by me, platforms like Mono will always have to attack performance and earn respect in that regard. That's a very legitimate issue to have. The patent FUD without concrete examples is more upsetting, it's not terribly unlike the ways MS has used FUD in the past to spread adoption of Windows. This should be easy, we're talking about patents that potentially encumber a programming language (all implementations could be affected) and or some of its APIs. What patents are these?
Posted Jul 2, 2009 16:06 UTC (Thu)
by malor (guest, #2973)
[Link] (10 responses)
That's why you see the handwavy FUD, because people don't dare try to analyze specific problems. The instant they have a positive answer, their financial exposure to the problem triples.
IBM has been trying to dance around that with their VFAT patches -- they're trying to be clever and give the community an answer to a problem, without actually telling them precisely what the problem is. This is, as you can imagine, a rather strange and uncomfortable place to be suggesting patches from, but it's the only way IBM can protect the kernel devs.
Posted Jul 2, 2009 16:37 UTC (Thu)
by Nelson (subscriber, #21712)
[Link] (9 responses)
Let's frame this question differently, what patent can possibly cover C# the language and its implementations that couldn't also be used to threaten elisp, C, or C++? C#'s properties? That's like the only unique feature I can think of in the language.
Posted Jul 2, 2009 18:40 UTC (Thu)
by ncm (guest, #165)
[Link]
If MS did begin to assert patents, everybody would suddenly need a C# equivalent to Gcj, which might not help if many people have come to depend on bytecode libraries for which they don't have source.
Posted Jul 2, 2009 21:40 UTC (Thu)
by epa (subscriber, #39769)
[Link]
Posted Jul 3, 2009 1:00 UTC (Fri)
by malor (guest, #2973)
[Link] (6 responses)
I think, overall, Mono is a pretty bad idea, and I won't willingly install it on my machines, but I don't want to actively damage anyone who's working on the project.
Posted Jul 3, 2009 5:10 UTC (Fri)
by ncm (guest, #165)
[Link]
Identifying actual infringements might be the only way to keep Mono out of the distributions.
Posted Jul 3, 2009 15:08 UTC (Fri)
by Nelson (subscriber, #21712)
[Link] (4 responses)
Simply reading a patent doesn't constitute knowingly violating a patent either, especially if the development has already been done. That's just more FUD. If you know a technology is patented and build it anyways, that's the knowing violation.
Either there are patents that cover the language, and thus likely other programming languages or there aren't. Either their are patents for compiling C# byte codes in to machine code or not, and they very well could affect other compilers like the newer javascript compilers, ruby 1.9, java, etc... Either there are patents that cover specific API implementations (again, this could affect all sorts of other projects, regardless of implementation technology) or there aren't. Either there are patents that cover the interpretation of .NET/CLR byte codes or there are not, and why wouldn't these patents potentially affect other interpreters?
If you simply don't like MS and think any of their technology is a bad idea, then that's a fine argument but that has nothing to do with these unnamed, unnumbered patents that people are "afraid" to reveal for fear of damaging the project they are already fighting against.. That's just plain and pure FUD and as bad as anything MS has ever done.
Posted Jul 4, 2009 5:30 UTC (Sat)
by ncm (guest, #165)
[Link]
Posted Jul 4, 2009 6:48 UTC (Sat)
by malor (guest, #2973)
[Link]
But I DO care about the Mono developers, because they're trying, in essence, to do me an indirect favor. I'm hoping not to accept it, but I know they mean well.
Simply being AWARE of a patent puts you on the hook for triple damages in patent infringement suits, so if I actually did do the research and specifically stated the patents in question, I'd be tripling whatever risk they're running. And I'm sure that's the thought process behind what you guys term as 'FUD'. They're trying to protect you against the broken patent system, not shining flashlights under their faces and making scary noises.
As far as whether or not Microsoft will choose to exercise their patent weapons against any particular program, nobody can tell you. However, I can be pretty darn sure that joining yourself at the hip with Microsoft, copying an existing project, is much more likely to fall afoul of patents, and it will be harder for developers to argue ignorance. This may also be true of Samba, since it's also a reimplementation of a fully Microsoft-owned specification.
Of all the open source projects that exist, it strikes me that those are two of the most likely to run afoul of patent problems from Microsoft.
There's a difference between swimming in the open ocean, hoping you don't accidentally drink any sewage, and swimming downriver from a treatment plant.
Posted Jul 9, 2009 18:56 UTC (Thu)
by oak (guest, #2786)
[Link] (1 responses)
The coverage isn't a boolean, but a semi-random floating point value with
As far as I've seen (I've got no legal background), the value depends on
[1] If you're in a large company, also whether that owns/cross-licenses
[2] I.e. how valid the patent is. Because of the cost of invalidation, I
Posted Jul 10, 2009 12:40 UTC (Fri)
by Nelson (subscriber, #21712)
[Link]
The coverage isn't a boolean, but a semi-random floating point value with
a pretty large fuzz-factor that cannot be pre-determined.
This is true but the decisions of judges and courts is kind of boolean and it more often than not includes some wisdom. MS has since made a promise to projects and ECMA, which isn't entirely different than IBM's patent pledge. You can hire lawyers without starting litigation to make the determination on the validity. Mono is in a unique position in that it does have Novell backing it. It is in their best interest, as well as the whole Mono projects best interest to know the patents they supposedly violate and to actively seek ways to avoid violation, either by different implementation or by MS giving patent immunity. Logically, I'd argue that intentionally attempting to not know the violations is just as bad if not worse than knowing the alleged violations and making efforts to avoid them. It's not that common for a triple damages award.
So the Linux kernel contains VFAT and there has been actual litigation for it. What is everyone doing about that? You all know it now too, have you removed Linux? Do you sleep better not loading or building the VFAT module? Is simply not loading the module sufficient? If stuff like that is valid, then why couldn't there be very similar actions for mono?
For the record, the patent is mentioned here: http://www.mono-project.com/FAQ:_Licensing here is they actual text: http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=/netahtml/PTO/srchnum.html&r=1&f=G&l=50&s1='20030028685'.PGNR.&OS=DN/20030028685&RS=DN/20030028685
Would it make any difference if the Mono project had a written agreement with MS regarding patent immunity? I don't like MS but I don't see what they've done that is hostile towards this project, it looks to me like they are only trying to allow it to exist, peacefully.
Posted Jul 2, 2009 16:39 UTC (Thu)
by rahvin (guest, #16953)
[Link]
The biggest consideration that needs to be made is how MS used their FAT patents against Tom-Tom. In the case Tom-Tom was winning more contracts for inclusion of their navigation software in Europe than MS was (for those that don't know MS navigation software is quite popular in Europe with MS having substantial market share). These wins for inclusion were eroding MS's market share in Navigation software. What MS did was use these patents to force Tom-Tom to pay MS money for every sale Tom-Tom makes so even if MS loses the main contract they still win. Not only that but they decided to take the court action during a down economy and a period where Tom-Tom was hurting financially and was unable to justify spending the millions of dollars it would have taken to contest the patents and the MS action. The scariest thing to me is MS used these patents to protect market share in a segment they don't make a lot of money in, with patents that are some of the worst they own, against sales of software on a continent that doesn't recognize software patents (AFAIK) to begin with, that situation alone should scare the bejesus out of everyone.
The community should consider very closely what happened with Tom-Tom as it's an indicater of what will happen in the future. IMO if MS ends up with declining market share in any software segment, particularly their profitable ones that they can't use their normal tactics to abate they will use the patents against Linux companies making large consumer sales.
Consider this, With Netbooks MS moved in and aggressively discounted XP for the netbook makers and then used threats and marketing subsidies to try to kill Linux on the netbook. These tactics were largely successful because there were 5-10% higher return rates for people who didn't understand what Linux was. I don't doubt though that without MS's interferance this would have been the market desktop Linux could have gained a foothold in and why MS moved so aggressively against Linux netbook sales.
Then consider what might have happened had their discount and marketing subsidy strategy not worked. MS only makes money on Windows and Office (I haven't looked recently but maybe, just maybe they might be close to breaking even on XBox, but last I looked the cost of the red-ring-of-death repairs (1billion+) made the possibility of making money on the Xbox impossible). Every other software product they sell they lose money on. This is documented in every financial statement they make, in fact their most recent one showed that the discounts made for netbook XP sales had impacted windows revenue a substantial amount (over 5% IIRC). Now if you take one of the only two software products they make money on and start making substantial impacts to their market share they are going to react with EVERY weapon they have.
Making Mono or .Net a part of Linux opens up companies trying to move into Desktop Linux a real threat. The Tom-Tom action IMO shows that given a declining market share MS will use their patents aggressively to protect revenue and market share. That action alone should show the community what MS will do once windows revenue begins to decline as Linux begins moving into the desktop (Something I personally consider inevitable). We cannot allow areas where we KNOW MS has submarine patents to become a staple on the desktop.
I actually think RMS is right, as long as we allow the Mono stuff to be something like Wine, where it's available for users on in emergency areas but not a fundamental part of any distribution we are providing the best situation for the free desktop because under a threat from MS the distribution could simply remove the applications without damage as they wouldn't be key parts of the system. In addition we should take every opportunity to move .Net or mono applications into free version where MS has no actionable patents.
Posted Jul 2, 2009 15:29 UTC (Thu)
by davecb (subscriber, #1574)
[Link]
Because we don't know what patents are being
developed to use against free C# implementations,
the FSF is faced with a moving target.
They may succeed in hitting it, but it might
also be worth avoiding, as well.
A translation of C# to Java is half an avoidance: a translation of the APIs that C# uses to Java APIs
supported by the FSF is the other half.
Both are possible, although the latter is harder:
I used to make a lot of my contracting income from
doing api translations, and some of the tools
and databases are available in the free software
world: one of these is written up as "Strength-Reducing the Task of Porting", at http://datacenterworks.com/stories/port.html
--dave
Posted Jul 2, 2009 16:08 UTC (Thu)
by coriordan (guest, #7544)
[Link]
from the article: Any patent action against Mono may subject the plaintiff to a countersuit from the Open Invention Network (OIN). IIRC, OIN has not doing any counter-suing so far. To use an OIN patent against Microsoft, first we need to find a patent that was contributed to OIN by someone who hadn't already signed a patent non-agression pact with Microsoft. Further, if OIN won the court case, that would be confirming the enforceability of swpats. OIN has it's uses, but let's not get carried away dreaming.
Posted Jul 2, 2009 16:52 UTC (Thu)
by jordanb (guest, #45668)
[Link] (2 responses)
My problem with Mono isn't so much about patents, but rather that the project is a solution for problems nobody has, which is being forced upon us by influential people despite the existence of readily available alternatives.
To the extent that people want a garbage collected virtual machine based static language stack, we already have Java. The differences between the .Net stack and the JVM stack seem to me to be rather inconsequential particulars. And of course we have a ton of other robust, mature technology stacks from which to choose.
The FOSS world still wants for quality software which compares well with proprietary offerings in many different areas, but technology stacks and languages isn't one of them.
So then, what's the point of Mono? As an extension to WINE, to maintain comparability with Windows, arguably, it might make sense. But that has never been the apparent goal of Miguel/Novell/GNOME in all of this. They seem to want to drive it into the core of the FOSS desktop machine, supplanting everything else, for reasons unknown.
Posted Jul 3, 2009 9:57 UTC (Fri)
by epa (subscriber, #39769)
[Link] (1 responses)
Java has certainly improved in the past ten years, particularly that it's now free software, but many feel that the C# language and (parts of) the .NET runtime are still technically superior. Nobody is being forced to develop in Mono - people choose to because, quite simply, they prefer it to Java or C++.
Posted Jul 6, 2009 19:13 UTC (Mon)
by ncm (guest, #165)
[Link]
How strange, then, considering that Evolution isn't written in C++ at all, but in C, a very different and far more limited language. Stranger, too, that in response to this pain, they chose a language based on an early version of C++ that lacks most of the Standard C++ Language's power, yet introduces serious design flaws. C# is very nearly identical to Java, with only trivial additions, but no real improvements.
Posted Jul 7, 2009 19:19 UTC (Tue)
by pointwood (guest, #2814)
[Link]
http://arstechnica.com/microsoft/news/2009/07/microsoft-i...
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
> will receive a letter from Mr. Ballmer's laywer..
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
I understand that one can be upset by what Jo Shields wrote. But you failed to see WHOM he meant. He's talking about things like boycottnovell.com who are just... hmm, sorry but I feel like that this hurts even more badly us, Free Software users.
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
http://lists.opensuse.org/opensuse-project/2009-08/msg001...
Stallman warns about C# and Mono dependence
http://debarshiray.multiply.com/journal/item/189/Why_solang
http://www.stefanoforenza.com/solang-is-a-new-photo-manager/
Solang (or, any database-based image viewer that just works)
Solang (or, any database-based image viewer that just works)
Solang (or, any database-based image viewer that just works)
Photo Manager
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
I have found Gthumb entirely serviceable as a photo manager. Its authors don't put on airs, so people (even our grumpy editor) think of it as just a viewer, but it does rotations, crops, and suchlike adjustments exactly like "real" photo album managers.
No alternative for F-spot?
No alternative for F-spot?
No alternative for F-spot?
No alternative for F-spot?
No alternative for F-spot?
No alternative for F-spot?
No alternative for F-spot?
No alternative for F-spot?
Question: Which is worse, Transformers 2 or Gigli?Resource hogs
Answer: Both.
Resource hogs
optimization opportunities given the code's *current* workload, which is
something a static in-advance compiler would have no hope of doing.
Resource hogs
Resource hogs
Python gc is avoidable
Resource hogs
Resource hogs
pervasive one --- programmers tend to think "ooh, GC, now I don't need to
worry about resource leaks". And then they go on and leak all sorts of
non-memory resources, many of which have memory tied to them.
(This is a major, perhaps *the* major, reason for the large slowdown in
GCC around version 3.0. Cache misses up the wazoo.)
Resource hogs
People have been talking about stuff like this for going on fifty years. If it worked, it would be everywhere by now. Various such tricks have been implemented here and there. The code washes away, every time, and takes the tricks with it. Nobody has ever implemented many of the tricks in one place. You never get real-time, incremental, compacting, generational, thread-safe, multi-CPU cache-efficient GC all in one place in a runtime you actually get to use. Many potentially helpful techniques are incompatible with calling essential C libraries, so they'll never show up in a JVM or CLI.
Resource hogs
I'm not sure what "cache-efficient" ends up meaning for a garbage collector (e.g., which is better -- mark-sweep with its big reads, or reference counting with its scattered writes?), but AFAICT pretty much all the rest of those are common in the Java world at this point. Many, many person-years have gone GC's in recent years. For instance, here's a paper on the latest (still beta?) Sun GC called G1.
Resource hogs
Resource hogs
Resource hogs
Resource hogs
Language shootout
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Don't listen to the Straw Man, don't listen to someone who would never bother to check what he's told or what he thinks to be true, on the Web or wherever it would be relevant to check.
This doesn't change the fact that there may be a problem with Mono, or that some can raise some concerns (personal or not) about it. But in 2009, very little from RMS should be relevant.
Stallman's words may not be relevant to you, and that is fine. But if you are referring to this conversation then you are indeed misrepresenting it; I just see a fallible man that makes a mistake, but he apologizes for that.
Stallman is fallible
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
The patent agreement is a red herring
Certainly, the patent non-assertion agreement that Microsoft and Novell signed in 2006 gives the appearance that Mono usersthose who are not Novell customers anywaycould be subject to patent harassmentor worsefrom Microsoft.
There would be less FUD generated if this patent agreement did not exist at all. I think it would be better to simply ignore it, since it does not apply to anyone who is not a Novell or Microsoft customer, and judge the legal risks from first principles - just as we do for Samba or Wine or indeed Java. Apart from the word 'Microsoft', what makes Mono more legally risky than other free programs?
If we were talking about most other laws you would be right. However software patents are so arbitrary that you have to carefully assess both the patent and holder to see if you are at more or less risk of being sued -- and start with the principle that the risk is always there, however innocent you may be. If for example you are implementing something which IBM loudly procclaims is patented, then you will probably get sued (since IBM makes billions out of its portfolio); if however the patent holder is Red Hat then you may be confident that you are safe, at least for the time being (they have never sued anybody).
Not so much
Stallman warns about C# and Mono dependence
Are there any specific patents that can be identified? I've heard the anti-Mono rhetoric for years but I've only heard about theoretical patents, I've not seen the numbers. Seems to me that the Mono community would really care about that and probably take actions to correct those problems before they turn in to real problems.
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
That's nice and all but Stallman has no liability to patents that supposedly cover C#. Neither does Suse/Novell because they've made an agreement with Microsoft. In this case, how isn't it just FUD without an actual patent to reference?
Stallman warns about C# and Mono dependence
it's the runtime
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Treble damages
I call BS. That's an argument against doing any development or running any software. Anything you install on your machine is just as likely to infringe an unknown mystery patent as Mono is.
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
programming languages or there aren't.
a pretty large fuzz-factor that cannot be pre-determined.
whether a relevant patent is only pending or actually granted, how many
and how overlapping patents there are[1], where in the world
they're granted, is there (potential) prior art[2] etc.
any of them.
think this is rarely a consideration though.
First, I apologize to others if I've appeared hostile, I didn't want to make it sound that way.
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
C# and patents
overestimating what we can rely on OIN for
Stallman warns about C# and Mono dependence
Stallman warns about C# and Mono dependence
My problem with Mono isn't so much about patents, but rather that the project is a solution for problems nobody has, which is being forced upon us by influential people despite the existence of readily available alternatives.
The Ximian (now SuSE) people who started Mono certainly conceived it as a solution for real problems in developing desktop applications - namely, the pain of maintaining Evolution in C++.
conceived it as a solution for ... the pain of maintaining Evolution in C++
Stallman warns about C# and Mono dependence
Microsoft posts some assurance
