If I give credit when it is due, then I must lay blame as well. That is the nature of being a rock of unbiased objectivity in the poop-storm of propaganda. Such is the thankless task to which I now apply myself.
I have never understood why mono apologists take so many talking points from Jo Shields. The gentleman may be a great packager and contributor, I don’t know, but his arguments are terrible and credibility is poor. Let’s take a look at why I say that:
Consider that we know for a fact that F-Spot and Banshee, at least, use non-ECMA covered parts of mono. Maybe they will be re-written soon. That’s great. But at the time of the announcement and currently, they were and are not covered by the standard, and so not covered by the agreement.
Right, then. So we have Mr. Shields gleeful announcement on the Ubuntu Forums:
Re: Monolith
Quote:
>Originally Posted by zekopeko
>hahahahaha!!!! well it looks like sane people will stop bitching about ECMA standards at least.
>does this cover the ASP.NET , ADO.NET, System.Windows.Forms?No. But nobody cares about those – they aren’t used for the apps people moan about
This is blatantly false, but I guarantee you the mono-men on the Ubuntu Forum that parrot Mr. Shields will not soon tire of repeating it.
We have his careless “glossing over” the distinction on his own blog’s announcement:
If the anti-Mono crowd were provided with their GPL-compatible patent grant for Mono, which they spend so much time talking about the absence of, how would they react?
Of course, there is no such GPL-compatible patent grant for Mono, and such promises have already been called into question last year by the Software Freedom Law Center. I will freely admit that I consider the Community Promise a positive development in the context of making Mono safer – but over-selling it doesn’t bolster your position, it hurts it.
We have him attacking Stallman’s incorrect assessment of Tomboy using non-ECMA parts, conveniently not mentioning many important mono apps which do indeed use non-ECMA parts. If Stallman gets a point like that wrong in a project he is not personally involved in, that is an honest error. If you get a point like that wrong in a project you are personally involved in, well, let’s just say it doesn’t look like an honest error.
We have this strange assertion on his own blog :
So is Mono “always playing catch-up”? Not on anything anyone who isn’t porting from Windows cares about. And Mono wasn’t created with that goal in mind. For making apps which look and feel at home on Linux, we’ve had what we need for years.
Yet, the Mono General FAQ suggests otherwise:
Why is Novell working on .NET?
There are two reasons:
- Increase developer productivity.
- Assist Windows .NET developers to deploy their applications on Linux.
These are admittedly small things in the overall picture, but I do think they speak to a general dearth of reliable pro-mono arguments from Mr. Shields.
Part of the problem is the the large portion of the debate is over opinions – it takes disproportionately strong arguments to change someone’s opinion. You aren’t going to get very far calling people’s opinions “idiotic”, “paranoid”, “religious”, etc. etc. If you want to continue to attack people’s opinions, well good luck with that.
Mono apologists never learn this, especially when they portray people’s distrust of Microsoft as paranoid or irrational. Any sane man on the face of the earth will freely admit some distrust of Microsoft is perfectly rational, justified, and even required. Reasonable people can disagree on exactly how much distrust is warranted.
That leaves a smaller portion to factual debate. And so, when mono apologists get the facts wrong, or gloss over inconvenient facts, even when they are small facts – it greatly damages credibility.

#1 by Jo Shields on July 10th, 2009
Yet when folks like Stallman make proclamations which are flat-out wrong, then it’s honest and doesn’t have the slightest impact on credibility.
Right?
Just want to be sure of the 101% Fair and Balanced(tm) playing field, here.
For your records, here’s the list of Banshee’s non-ECMA usage:
Mono.Data.Sqlite.dll:
Name=System.Data
Name=System.Transactions
Migo.dll:
Name=System.Web
Name=System.Data
Lastfm.dll:
Name=System.Web
Hyena.dll:
Name=System.Data
Name=System.Core
Banshee.ThickClient.dll:
Name=System.Core
Banshee.Services.dll:
Name=System.Data
Name=System.Web
And here’s F-Spot:
Mono.Google.dll:
Name=System.Web
SemWeb.dll:
Name=System.Data
Name=System.Web
f-spot.exe:
Name=System.Web
So, what are these?
* System.Web contains some pretty basic web-related functions – for example, the System.Web.Mail namespace lives here, for creating e-mail. It’s not clear exactly what is dangerous about this namespace, but it is indeed not part of ECMA335. If you think renaming it to Panda.Web would make it safe, then it can be done for apps like F-Spot/Banshee
* System.Core contains assorted new add-ons found in .NET 3.5, and I suspect the reason it’s used here is for LINQ (http://en.wikipedia.org/wiki/Linq), which is syntactic sugar used in C# 3.0. Its use could be dropped if deemed necessary – equally, a case could be made that it be appended to the next version of ECMA334 (ECMA is currently in session regarding 334/335 changes)
* System.Transactions contains assorted fluff for creating transactional actions. It’s pretty obvious why a database library would use a namespace like this. It could be dropped, renamed, or rewritten – as required, as demonstrated as required.
* System.Data is the notoriously ill-defined ADO.NET. As best I can determine, the main purpose of ADO.NET is to provide a generic database layer (like DBI in Perl or JDBC in Java), and the Sqlite library presents an ADO.NET interface for this purpose. The interface could be dropped, and apps could interact directly with the unabstracted library, as required. In fact, this is already the case for F-Spot – it uses Mono.Data.SqliteClient directly, which is why you don’t see a System.Data reference for it above. a Mono.Data.SqliteClient without an available ADO.NET interface isn’t a big job – the question is, is it a required job?
In all cases, there are two things to note:
1) It’s not necessarily clear why a given library is at risk, as opposed to being trivial computering from time immemorial. What’s unique about, say, System.Web? Until that question is answered, it’s pretty much impossible to avoid whatever that uniqueness is that people consider “dangerous” – and it leads to ill-informed and 101% pointless cosmetic changes such as renaming the library “just so it doesn’t look like System.Web” even though the functionality is 100% identical. If the specific problem can be isolated, then it can be cut away. Cutting away isn’t an issue for me, WITH ADEQUATE REASONING. I’m awaiting a package sponsorship which will remove WinForms from Ubuntu Main, for example, thanks to a patch I made for the Nant build system.
2) A given library could be added to a future version of ECMA335, if the case can be made, the paperwork filed, and the real-world work done, to pass it through the standards body. And assuming the updates are made to the CP, of course.
As to some of your other points.
1) The FAQ is a recent thing. http://www.mono-project.com/Mailpost:longreply is from rather nearer to the time when Mono was first created, and should make interesting background reading. Note the description of why Mono was started.
2) Why do people reference me? Largely because I’m the only one stupid enough to stick his head above the parapet.
The vast, vast majority of the Mono-using community has simply given up on responding to the attacks on their work and character, usually as a result of one too many idiot-wars on BoycottNovell. They all gave up, and decided to quietly work on what they do, and quietly moan about the loud-mouthed, ill-informed people like BoycottNovell spreading whatever FUD takes their fancy. As a bad-tempered and sarcastic demagogue, I decided enough was enough, and started to actually blog my thoughts. And as the only one, as I said, stupid enough to do so, I seem to have catalysed opinion on both sides.
I’m not a lawyer, I’m not a programmer (although my day job, as with any sysadmin, requires some degree of programming experience, and C# is by far the most productive I’ve been), and as far as possible I try to downplay any credentials beyond someone who tries to make a difference. Looking at last month’s bandwidth bill I CERTAINLY have no desire to be treated as some kind of reference point – but I certainly won’t back down as a result of assorted personal attacks (LinuxToday commenters, that means you), nor because my brand of sarcasm apparently doesn’t come with an adequate disclaimer.
Frankly, it’s a huge waste of my time to make each and every phrase 101% factually correct, assigning appropriate footnotes and caveats and provisos, when Stallman or Roy gets a free ride for repeatedly making verifiably false statements.
#2 by Jason on July 10th, 2009
Jo,
Thank you for your comments.
No. Absolutely not. It pains me that Stallman gets some things wrong, precisely because it does impact his credibility. However, as I mentioned, because he is a project outsider it impacts it less than a project insider’s mis-representations. I think that is a reasonable discrimination.
I’m sorry you think it is a waste of time to get everything factually correct. For better or for worse, you supply virtually all of the talking points for mono apologists – especially in the Ubuntu/Debian worlds. It may not be your fault some people follow you around in the Ubuntu-land parroting your every word, but that’s the reality of the situation. If you get a fact wrong, it spreads like wildfire – and is twice as hard to stamp out.
Furthermore, it just plain looks bad, because it appears mono apologists won’t even concede there could possibly be any legit criticism of mono whatsoever. Even on some inarguable technical matters, I see mono apologists flatly denying the criticism is even truthful! They aren’t even arguing merits, they are just rejecting the criticism out-of-hand.
Anyway, I hope you realize I am not Roy and this is not BoycottNovell, Jr. I’m not afraid to give credit when I think Team Mono gets something right. I just think you have a longway to go to get it right enough.
PS: You have my personal no-BS guarantee that if I make a verifiably false statement, I will retract it with correction, and never repeat it.
#3 by Jo Shields on July 10th, 2009
It doesn’t concern you in the slightest that the self-proclaimed leader of the Free world is making highly specific proclamations which are trivially verifiable as false? It means he either
1) did no research, and is recycling other peoples’ (e.g. Roy’s) lies, which is concerning
2) did the research, but chose to lie, which is concerning
3) did the research, but doesn’t understand it, yet speaks with authority on topics which he obviously doesn’t understand, which is concerning
The fact that he’s an outsider ought to mean he *should* do the research, to make sure he’s absolutely well-versed in the topic, and doesn’t make a tit of himself. “Know your enemy” and all that. And frankly, if he can’t handle the .NET equivalent of “ldd” then he’s in no position to speak with authority, and should make that clear.
#4 by Jo Shields on July 10th, 2009
Oh, and as for comparisons to Boycott Novell… you obviously have a much much firmer grasp of basic HTML than he does, although you seem to produce similar quantities of output on the same topics.
At least your hrefs aren’t all internal.
#5 by Dan Serban on July 11th, 2009
“If you think renaming it to Panda.Web would make it safe, then it can be done for apps like F-Spot/Banshee”.
Will a judge looking at a patent infringement case care about what you call a library or what code is inside?
#6 by saulgoode on July 11th, 2009
> It doesn’t concern you in the slightest that the self-proclaimed
> leader of the Free world is making highly specific proclamations
> which are trivially verifiable as false?
Has Mr Stallman proclaimed something somewhere such that a list of Banshee dependencies serves as a refutation? Link, please?
#7 by Jason on July 11th, 2009
Come on, Jo – I just said “it pains me”. Anytime you have someone on “your side” that gets something wrong, it is a concern.
However, I think Stallman’s larger point – that is growing reliance on mono is a mistake – still holds. If you choose to interpret his message as solely applying to Tomboy, or solely about a packaging change in Debian, then that is your privilege. I think there is a broader message here – one which Stallman has fumbled – but is nonetheless valid.
#8 by Jo Shields on July 11th, 2009
Type your comment here
That’s the question, though, isn’t it? What makes System.Data risky? Why isn’t it “just” a normal database access library?
#9 by Jo Shields on July 11th, 2009
Type your comment here
You’re looking for http://nocturn.vsbnet.be/node/160#comment-1931 I suppose.
#10 by Jo Shields on July 11th, 2009
Type your comment here
My point is, if he gets the things which are trivially verifiable wrong, why is he a safe source for the rest of it?
A fumbled “broader message” is more harmful than no message at all. If Stallman wants to say that the CP has no worth, and that Mono has zero patent safety, he should say so. If he thinks that apps using non-ECMA portions should be avoided, but the rest is protected, he should say so. If he thinks the problem is the mere concept of association with Microsoft (i.e. NIH), he should say so. As it stands, what we have is falsehoods (attacks on Tomboy’s non-existent deps) and unhelpful doomsaying (not good enough, but no hints as to how to improve matters)
To an extent, that’s the difference between Stallman and Icaza. If Stallman wanted to do more than fill people with fear, then he could actually suggest improvements. Getting things flat-out wrong and/or preaching about doom with no evidence is something to expect from Roy, not someone who supposedly leads the Free Software movement.
#11 by Jason on July 11th, 2009
Because single (or even multiple) errors do not automatically invalidate everything a person says. You have made incorrect assertions. I have made incorrect assertions. Everyone makes mistakes or gets their facts wrong, or makes a sloppy argument. It is not a game of “gotcha” where a single (or even a few) errors destroys a man’s credibility.
There’s not much more to say than that. The man made a mistake, but
I do not think that he has demonstrated maliciousness, or a continuing pattern of misleading arguments and disinformation. It starts to look petty to nit-pick on what (at this point) look to be honest mistakes.
Anyway, I will withhold further arguing over Stallman’s intent until we see his next statement. I sincerely hope he has all his facts in line, because I think we can all agree his words will be under intense scrutiny.
I think a suggestion of improvements would be interesting and positive criticism is something I have already suggested the FSF should provide. in reality, though, I’m not sure how well it would be taken. I might take up the gauntlet there.
Postus scriptus vomitus
I would love to take up the “difference between Stallman and Icaza” opening at length, but let me say that if Stallman is being duplicitous and spreading disinformation, then that is more similarity than difference.
#12 by saulgoode on July 11th, 2009
I’m looking for the source of the text you are quoting in that response. Where did Richard Stallman make that statement? It does not appear in the ITWire article as Guy Van Sanden suggests.
#13 by saulgoode on July 11th, 2009
Your entire claim is wrong. Richard Stallman has not stated that Tomboy depends upon non-ECMA components. The statement should properly be attributed to Peter Brown.
So I’m wondering, does this mean that you:
1) did no research as to who made the claims, which is disconcerting
2) did the research, but chose to lie, which is disconcerting
3) did the research, but don’t understand that Peter Brown and
Richard Stallman aren’t the same person, which is disconcerting
#14 by Jo Shields on July 11th, 2009
Type your comment here
Option number 1. I made the foolish assumption that Van Sanden had a shred of credibility.
#15 by makomk on July 16th, 2009
“System.Core contains assorted new add-ons found in .NET 3.5, and I suspect the reason it’s used here is for LINQ (http://en.wikipedia.org/wiki/Linq), which is syntactic sugar used in C# 3.0. Its use could be dropped if deemed necessary – equally, a case could be made that it be appended to the next version of ECMA334 (ECMA is currently in session regarding 334/335 changes)”
Depending on what LINQ is being used for, even if it’s inserted into the EMCA standard and Microsoft extends its patent grant, that may not be enough to protect against Microsoft patents.
Recall that LINQ is intended for querying databases, and that Microsoft almost certainly has patents on its use for this purpose. Since any such patents will not be required to implement LINQ itself (which is just syntactic sugar), they won’t be covered by the patent grant. So any software using LINQ for database queries or data returned from a database query (which is probably the main use for it) would still be at risk of a patent lawsuit.
Incidentally, it’s also possible that similar issues affect Gtk#.