Miguel de Icaza: The Right Spirit
tirania.org
tirania.org
It's one thing to suggest peaceful coexistence with Microsoft and quite another to suggest getting into bed with them. I for one am glad that nothing essential in my Gnome desktop requires Mono.
Realistically, all software is under patent threat from IBM, Microsoft, Apple, Google and a thousand other small and large patent trolls. But it's fascinating that it's only Mono and de Icaza that are constantly under attack. And note I have no problem with raising and discussing the issues that surround it - the problem is the vicious personal attacks he has had to endure for releasing something that is, amusingly enough, 100% free software.
Patent FUD is just that, I don't care if it comes from Microsoft or in reverse from the FSF scaremongering enforcers. No, I think the problem with Mono is that it's an implementation of a Microsoft technology, and that just rubs a lot of people the wrong way. The patent thing is just a convenient excuse. Go ahead and fire up Inkscape, GIMP, Firefox, or compile hello world with GCC and then assure me that you didn't just violate a whole bunch of patents held by other corporations.
And by the way, C# is about as likely to become the foundation of anything as is Java or Visual Basic for that matter. Unless someone comes up with en enormous breakthrough in speed and memory consumption for VMs, major desktop applications and components will continue to be written in C or C++. A music player and a note taking application don't signal the Mono takeover of GNOME or whatever, that's just another excuse for the "that's a nice free OS you got there, it would be a shame if something happened to it" party line that has been used against Mono. In the meantime though, anyone who does write a note taking app in C# because it takes 1/3 of the time to do so than it does with C++ is hounded to death because he's "destroying" the free software desktop.
Perhaps that's because Sun didn't sue TomTom but Microsoft did.
A big part of the reason that Mono hasn't made further inroads in the Gnome desktop beyond some disposable userland apps is because the rest of the free software movement sees it as the trojan horse it is, despite Miguel's urging over the years to make it the base of Gnome.
/This/ argument that Java and PostgreSQL and MQ implementations (check out the patents in that niche) and everything else is "more safe" than Mono is unpersuasive at best to me - in fact I'd buy it only in the case of Samba, which does have an official get out of jail free card from Microsoft.
1) I fully accept that .NET/C#/most especially the CLR are great ideas. Which I care not a whit about because Microsoft's ownership of them makes them things I cannot trust. For me the technical line of demarcation was in fact the orphaning of VB6, see Joel for more on this. Legally, at about the same time, see #2:
2) When he says "For open source to win, we do not need Microsoft, Apple or proprietary software to lose." he's leaving open a terrible logical hole, since it is not at all clear that the reverse is true.
Maybe Microsoft can't win without open source losing. Microsoft's war to the knife against Linux, by proxy (e.g. SCO) and otherwise, argues that it doesn't see the world in the way de Icaza implies.
Java/the JVM wasn't even Gosling's first bytecode system (that was as far as I know his MockLisp for his 32 bit Unix EMACS).
Come to think of it, a Common Language Runtime wasn't a particularly common idea at the time. There have to have been some ... there were some common bytecode engines, but not common libraries as I recall ... so maybe it's somewhat more original than you and I automatically assume.
1. when it appeared, it looked a lot like somebody within Microsoft said to some other guys, "Hey, go make us a Java. Like Java, but our baby." And they basically approached it by cloning it and then making several superficial tweaks and changes -- JUST enough, especially at a superficial level, so they could say with a straight face to people who were none to observant that this indeed was the product of internal R&D -- true innovation -- rather than being what it actually was. In short, it looked awfully like a student who turned in a paper which was a pretty blatant copy of another student's paper, except with some superficial textual changes made to make it look different and original. I know that both languages have drifted and evolved since C#'s debut, but I remember looking at programs written in the current dialects of Java and C# at C#'s debut and it was hilarious just how much it looked like the C# version was just a functional/semantic clone of Java, only with arbitrary syntax differences (keywords, case, etc.) Life is complex and they've both evolved since then, but there's no doubt in mind that C# started life with a "clone Java, change it's name/keywords" design strategy.
2. Microsoft's whole business model appears, to me anyway, and to other folks, as being basically about just copying what other folks are doing, putting their logo on it, offering it up for sale, and then once people are using it, to design features and systems in such a way as to create lock-in. Lure them in, then close the door. Or least, slowly start closing that door, so slowly and with enough distraction that the unwitting victim is not smart enough or quick enough to see it.
Regarding your #2 element: A perfect example of this is their attempt to take Adobe on with Silverlight (e.g. vs Flash), and also with XPS (e.g. vs PDF/Acrobat).
I'd be curious as to what you (or anyone else) see WPF as copying from as an example for that does not readily come to mind.
2. I like how even the name Silverlight pretty much tells you it's their Flash knock-off: silver + light = bright light or lightning = flash. It's like they're thumbing their nose and saying "neener-neener!" to Adobe.
Quick Wikipedia read on WPF made me think of similarities to Flash and Apple stacks. But there can be non-malevolent explanations for this, and I don't know a lot about WPF (since I now try to keep my brain non-Microsoft, for efficiency's sake), so take with grain of salt.
As far as I'm concerned that's just fine, competition is a good thing. Also note that this happened shortly before progress in the Java language became glacial and sometimes dysfunctional.
(Also note that Java was hardly original when it came out; being able to do that in a useful way has become exceedingly difficult now that we're in the 5th decade of high level language design. If you disagree, please point out say half a dozen things in Java that had never been seen before in the lab or industry.)
However note my comment "most especially the CLR [is a great idea]". This is where Microsoft can in theory win on the technology side of things. E.g. F#, their dialect of OCaml. Indeed it's "just copying what other folks are doing", but it is the first functional language with major vendor support, right?
You can do functional programming on the JVM with e.g. Scala and Clojure, but the JVM runtime is not exactly going to go out of its way to help you (that's actually scheduled for the upcoming new version of the JVM).
My bottom line is that focusing on C# rather misses the point when Microsoft from the very beginning made such an effort at a multi-language system.
Your points about vendor lock-in are of course well taken, although I'd say Microsoft's abandonment of backwards compatibility with VB6 -> VB.NET is a lot worse. There's a difference between the old "IBM will take care of you" and Microsoft's untrustworthiness if you play the game by their rules.
The abolishing of slavery was led by ideological extremists.
Voting rights for women and blacks were led by ideological extremists. Child labor laws, environmental protection, social security, health reform, religious freedom, heck, arguably the founding of our country, etc. were all disproportionately brought about due to ideological extremists.
I think having ideals and principles is a good thing. People who are anti-Microsoft "extremists" tend to be that way because they have ideals and principles, and they think they see Microsoft as having a certain track record against those ideals and principles, and therefore that's bad. There may or may not be good ideas in C# and .NET. But if we can have those good elements without having Microsoft, I bet that's what those folks would like. I'm definitely one of those folks. I had no issue writing software in Java in part because I had no expectation of Sun trying to say lock me into Solaris or a suite of Sun products -- something which Microsoft had a track record of doing in the past. Whether they would still do that with C#/.NET I could not know for sure at the time, but it was the smart bet to make.
"I never considered a difference of opinion in politics, in religion, in philosophy, as cause for withdrawing from a friend. " - Thomas Jefferson
Unfortunately, the Us vs. THEM mentality seems to be propagating more and more these days. "Divide and Conquer" isn't just a military strategy. It's a highly successful way for keeping a population from moving forward in many ways. I live in the DC metro area and have seen a "Democrats need not apply" sign up in a store front. I think it was meant to be humorous, but it's still fairly screwed up.
"Disliking or hating something conditions you to (1) ignore virtues in the disliked, (2) dislike people, products, and actions associated with the disliked, and (3) distort other facts to facilitate hatred.
Startups should focus on their customers, not their competition—whom they may dislike." -This is #3 on VentureHacks cheat sheet of point from "The Psychology of Entrepreneurial Misjudgment"
E.g. to update a bit (to Marxism or Marxist/Leninism), Jefferson's potential and actual friends didn't include ones who considered him to be a class enemy with all that that implies.
Things like a sign that says "Democrats need not apply" are merely an indication of the continuation of this eliminationist civil war in Western society (well, more likely who it has been heating up in the last year and a quarter; I never saw such in the 1991-2004 period when I lived there).
Anyway, I "dislike" people who want to put me and mine into concentration camps, plus or minus (i.e. less and more severe examples of the same thing). There are no virtues in such people that can cause me to "like" them.
I respect Miguel's opinion, but I will not follow his C#/Mono "vision", as I prefer vanilla C, or in case of needing higher abstraction, use Lisp, Perl, Python, or Bash.
Maybe all the players have left MS now? But I remember Bill didn't like open source ~ http://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists James Allchin wasn't that keen ~ http://en.wikipedia.org/wiki/James_Allchin#Controversies neither was Paul Maritz ~ http://en.wikipedia.org/wiki/Paul_Maritz and Vinod Valloppillil wrote the book ~ http://www.vinod.com/blog/NavLinks/FAQ.html You can get a better view of these MS players reading through the Halloween documents at http://www.catb.org/~esr/halloween/ None of that matters much as it once did. MS is spent as a force, at least in the eyes of developers.
There are bigger problems. [0]
[0] Eben Moglen, "Interview: Eben Moglen - Freedom vs. The Cloud Log"
http://www.h-online.com/open/features/Interview-Eben-Moglen-...
If there are some people in the community that wants to see Linux as a platform that fits everything (mobile, server, embedded appliances, etc) what is wrong if a MS executive dreams of the same happening with his company's products?
And by the way, bash sucks... zsh forever. Just kidding in this line.
Hrm. Actually we need Microsoft to lose. A lot of things. We need them to lose the embrace, extend, extinguish attitude. We need them to lose the criminal abuse of monopoly tendencies. And we need them to lose the creepy unspecified claims of Linux infringing their software patents.
Alternatively if we dont actually believe Microsoft, the coorporation, will change behavior - then we need them to lose the dominant position that they abuse to hurt competitors and Free Software.
Note: This also applies to anyone who uses the term "M$".
Once you graduate from your insulated world in academia and spend some time in industry you will realize just how "ignorant" the previous comment is. Profit determines many decisions. The quicker you learn this the better. Or just stay in Academia forever.
Welcome to the desert of the real ...
I think you forget that he is employed by Novell, rather than Microsoft.
This article is consistent with statements I've seen in the past, and past actions. It doesn't look like a philosophy made up after the fact to rationalize actions, it looks like an existing philosophy that drove those actions. Do you have any actual, um, evidence that this is a rationalization rather than an explanation of a long-standing viewpoint?
Note that the quote comes from Steve Jobs, was he also trying to rationalize how he made a living?
I feel about the same way as is expressed in the article despite it having no financial impact on me and not being relevant to any projects I have (ie, there's nothing for me to rationalize about).