Mono-culture And The .NETwork Effect
Sun Tzu writes "This article discusses the dangers posed by a very successful Mono project. Microsoft has several means at their disposal to effectively shut down Mono if it should ever gain critical mass. Unfortunately, Linux would be the big loser if that were to happen."
You can't dictate/predict software usage displacement when people on Linux and other *nix-style operating systems continue to use obsolete and broken software just because they've always used them. Sendmail and ISC BIND come to mind.
And is that supposed to guilt trip Microsoft or something? We all know what a compassionate corporation they are; always helping the little guy out.
...if MS where to shut down the Mono project. The last few releases have really come a long way and I, for one, am looking forward to the day when I can use Mono on Windows as a complete replacement for the MS.Net binaries.
A very worthwhile effort is the mod_mono subproject, which aims for Apache integration, allowing us Apache users to dish out ASP.Net faster and more securely than IIS.
Hardly. I think its a valid point, and something that should be handled soon enough.
The largest threat does not come from MS changing interfaces greatly, but from patent infringement and DMCA related issues (as the article said).
IANAL. However, with the threat of anti-trust looming large over Microsoft, this is unlikely as the counter-argument could be that Microsoft does not allow for third party interfaces on something thats widely deployed, and this could reflect badly upon them in a court of law (not that they care).
So, I feel that Microsoft is probably in just as much as a fix as we are. Better state, but a fix neverthless.
Actually the "API lib" is free. It just only runs on the windows platform.
a milyId=3A1C93FA-7462-47D0-8E56-8DD34C6292F0&displa ylang=en
The funny thing is MS has released a portion of the framework for the BSD platform, it's called ROTOR: http://www.microsoft.com/downloads/details.aspx?F
...I've never understood why Miguel suddenly believes MS that it is playing fair now. I think he should have a chat with Jeremy Allison from SAMBA to straighten him out.
.NET die. Do NOT support MS in any way. Continue to "skim the top" of the best features of MS's stuff for interaction purposes only...
Maybe he's been taking gullible pills, I dunno. Let
We have MS in a good position right now: Longhorn delayed, about to make a 32 bit to 64 bit conversion that they can't transition with easily, draconian licensing schemes making IT people back up, etc. Now is NOT the time to support MS' foolhardy attempt to dominate the real 'net.
"This article discusses the dangers posed by a very successful Mono project."
Must be using a different definition of discuss. I didn't actually see any discussion in the article. More like ponderings.
Wouldn't be in the OSS spirit to wish success on anyone now would it?
Would have been interesting if they looked at other possible outcomes - the bleak armageddon ones that the author favours as well as the more cheery ones.
My AUD two cents worth is that it'll be like Java has been.. another tool in the belt, but not critical to anything Linux. Afterall, what assurance have we got that Sun won't do something similar with Java? And yet the penguin will keep evolving.
Move along, nothing to see here.
I just can't be bothered.
FUD. You can use anything you want to on Windows to develop. C++, JAVA, etc... you will be left in the dust as far as employment and skillset but that is your choice.
.NET isn't such a bad thing after all--getting Sun to move java a little quicker.
I think mono will be great. A Java alternative is a good thing. Look how far Java has come in the past year to six months, swing is speedier, they are supporting new language constructs, and it's all around better.
Humm..... maybe
.NET is about applications. In Microsoft's case, its mostly about office apps.
.NET application, they would only have one codebase to maintain. (Bye bye Mac Office, No need for Win64 Office)
.NET and Office works best with Microsoft SQL server, and Exchange. More platforms = more money.
Once Microsoft Office is a
They would love to suddenly have their apps run on multiple platforms. Think about it, Windows XP is $150 and Office $400, which one brings in more money?
And we all know that
Mono is a dream come true for Microsoft, it will eventually let them sell all their apps to Linux users directly, and they didn't have to write any code to do it.
This would be a good indicator of what Microsoft thinks are the best development tools for the job.
I wouldn't bank on the government saving the Mono project.
Don't drop the soap, Tommy!
How many times have Microsoft sued for patent infringement? None. I seriously doubt that Microsoft are going to roll out their patent portfolio unless they really have to (cf. IBM rolling out some patents to challenge SCO). Why, then, do they accumulate so many patents if they're not going to use them? Because they have to play the "patent game". Microsoft has to patent anything and everything lest someone else takes advantage of the crappy patent system and patents it first, leaving Microsoft in trouble. Prior art, you say? Didn't seem to help with Eolas, did it? Ok, it wasn't Microsoft's prior art, but it did exist.
.NET. But what happens if Mono successfully manages to catch up and stay with the .NET framework? Well, that's Microsoft's gamble and the chances are it's a gamble they'll win. Why? Because of the closed source development model. Mono won't know much about the next version of the .NET framework until it's publicly released, so they will instantly be substantially behind at that point.
.NET framework? Firstly, you'll still be able to run older applications that don't use the latest APIs (and many will take time to migrate to the latest APIs anyway). Secondly, .NET really is an excellent platform. Those who say it has nothing over Java have never used it (or at least, never used it properly). That seems like a good enough to me.
Anyway, looking at the situation from another standpoint, is there anything in it for Microsoft to allow Mono to continue and be successful? Well, yes there is. I think Microsoft realizes that one of the most important aspects of driving market adoption of a platform is ensuring you have a large pool of developers experienced in that platform. As far as Microsoft is concerned, it doesn't matter whether those developers cut their teeth on Mono or on Windows, provided they're using
So what use is Mono if it can never keep up with the
Okay.. it may just be me, but this guy seems to be more than a little paranoid about this. Lets look at his asumptions and projected serie of events: .net becomes successfull .net
- MS
- Mono starts gaining momentom
- MS, discovering this, starts secretly patenting key parts of
- MS, being greedy, doublescheming bastards who talks with forked tounges, conviniently forgets to tell anyone about their new patents, but instead makes it easy for Mono
- Mono, because of this, becomes successfull, and 'infest' (couldn't find a better word, sorry) the entire codebase of GNU/Linux
- MS, being greedy, doublescheming bastards who talks with forked tounges, suddenly remembers it's patents - and sues whoever is behind Mono
- GNU/Linux collapses, letting MS laught all the way to the bank.
Now, IANAL, but I've always been told that if you don't take steps to defend your patents as soon as you discover that someone is violating them, you effectively looses it. And considering MS earlier ways of dealing with people thye think may have violated one of their patents (strike early and hard), they would have struck allready me thinks.
Besides, it is usefull for MS to have GNU/Linux around - it gives them something to point to when peopel claim that they have a desktop monopoly.
Everything in the world is controlled by a small, evil group to which, unfortunately, no one you know belongs.
What's with all the Mono-bashing?
Everyone seems to think:
Mono is to dotNET as WINE is to Windows
That's not the way to think about it at all, try it this way:
Mono is to dotNET as Linux is to UNIX
It's just an implementation, it doesn't matter if it's not fully compatible and that doesn't appear to be the goal. The goal is to make an Open Source implementation and improve on it.
If you look at it this way, suddenly Mono doesn't seem so bad.
I agree that Mono developers are knowledgeable about the current Microsoft stance on Mono. However patents, unlike trademarks, don't have to be actively defended to remain valid, so if Microsoft decides to sue, this will be at most a side issue. Not to mention another problem - were the meetings taped? Did MS representatives sign any transcripts of the meetings? If not, then who's going to prove what was discussed?
Well, but there is a significant difference:
.NET and gave it an initial amount of credibility (remember: before it had none, given that it was vapourware and second, that it is from M$), thus serving no valid purpose at all or even a quite evil purpose, Wine presented a solution for a very important, PRE-EXISTING problem: how to let companies/people switch to Linux fully if there's nothing to run their last critical Windows software piece on Linux?
.NET, any efforts to have some Linux compatibility layer can easily be seen as justifying .NET use ("look, Ma, it even runs on Linux, so it can't be a bad thing!").
;-)
While Mono basically started as a clone of vapourware that actually JUSTIFIED
In other words, Mono serves to CEMENT a DEVELOPING evil framework, whereas Wine serves to ease the pains of coexisting with an already EXISTING and problematic Win32 framework when intending to switch to Linux.
With Win32, the market mechanisms had gone terribly wrong already anyway, so Wine just tries to fix as much as there's left to fix with such a sorry state...
With
I'm all for improving compatibility with existing problematic monopoly platforms in order to give people a better way to free themselves from this slavery, but preparing compatibility IN ADVANCE with a terribly monopolistic framework that didn't even exist yet at that time sounds terribly wrong.
As such, comparing Wine with Mono is quite misleading, they don't even come close IMHO.
I'd like to see Mono wither and die rather sooner than later, but in exchange for efforts to develop truly alternative and SUPERIOUR mechanisms on Linux (ones which are *NOT* at the mercy of patents or IP issues of existing frameworks, since you can bet that M$ will immediately prevent Mono from having proper compatibility once there's a even a slight advantage in doing so!).
Andreas Mohr, Wine developer
(gargh, I should probably really use that "Create an Account!" link soon
Now I have to ask... Why not use Java?
.NET, so that it'd ever be worth considering using Mono and risking MS doing the expected a bit later?
Would that not be far simpler and safer option for enterprice-wide deployment, when you have the power to decide on the version of JVM to use etc?
What's the supposed big benefit of
Now I have to ask... Why not use Java?
.Net being some how open source or ISO compliant or whatever. A very small part of it is, most of it is still secret and proprietary. To then say that the whole .Net is open as Microsoft claims is then using "weasel words".
Exactly! I do use Java, for exactly the reasons you state. I can understand that some Open Source people might be sceptic of a standard controlled by a company. Fine. But how some people can hate Sun and Java in one moment and then applaud Microsoft in the next is mindboggling.
And don't give me that crap about
Being bitter is drinking poison and hoping someone else will die
The fears presented in the article are part of a Microsoft FUD campaign against Mono. I don't know whether the author is part of that campaign, or if he sincerely believes what he wrote.
.Net protocols for Web Services (especially the Palladium authentication protocols) as their own proprietary domain. The idea was that C# would lead developers and users into becoming dependent on Microsoft Web Services. The developers would also become locked in, because, despite publishing the standard, Microsoft never really expected anyone else to implement C#.
.Net was to give Microsoft control of the Internet, and ensure an ongoing revenue stream from Microsoft's new monopoly on Web/Authentication Services.
Microsoft hates Mono. Microsoft would like to see Mono disappear. And what better way to accomplish that than to make people afraid to use Mono.
Microsoft released the C# standard as part of a lock-in scheme. The openness of C# was supposed to make everyone feel safe to use it. Meanwhile, Microsoft kept many of the
The ultimate goal for
But, by calling Microsoft's "C# Open Standard" bluff, Mono has thrown a huge monkey-wrench into Microsoft's plans.
First, by providing an alternate implementation of C#, Mono makes it possible for C#-trained developers to migrate from Windows to Linux.
Second, Mono does _not_ use Microsoft's Web/Authentication Services, rather, Mono allows developers to target anyone's web services, including, and especially, the open/free DotGNU services.
Thus, Mono breaks Microsoft's new developer lock-in, and it breaks Microsoft's planned Web Services monopoly.
And that, of course, is why Microsoft is working so hard to FUD Mono.
As to the fears expressed in the article, are they justified? The short answer is no. Let's look in more detail...
Fear #1: Microsoft will change the APIs/protocols:
This is a red herring, and has been addressed previously. The Mono developers fully expect Microsoft to break compatibility, but it is not a primary goal of Mono to remain 100% compatible with Microsoft's C#, any more than it is a goal of GNU GCC to be 100% compatible with Visual C. Mono's goal is to implement the C# standard as a good cross-language, web-enabled development tool for Linux.
As a secondary benefit, having a C# implementation on Linux also makes it possible for C# developers and applications to convert from Windows to Linux, even if it might require a bit of effort.
As a side note, when Microsoft does get around to violating the published C# standard, it may hurt them more than it helps. Given the new cross-platform awareness that came with the Internet age, the stability of Mono's APIs and protocols will be seen as a advantage over Microsoft's shifting sands.
Fear #2: Microsoft will attack Mono with patents:
This has also been addressed previously. In order to avoid patent dangers, the Mono developers have stuck to the published C# standard, and have avoided adding anything fancy that might involve patents.
Microsoft is unlikely to win if they attempt to make a patent claim on something that is part of the published C# standard -- the courts have rejected such attempts in the past, viewing them, quite correctly, as a scam.
And as to the DMCA, it is not a factor, since Mono has not done any reverse engineering -- once again, Mono used the published C# standard.
When it comes to intellectual property issues, other projects, such as Samba, Mozilla, and Wine, are at greater risk than Mono, yet we seldom see people expressing such fears about those projects.
Fear #3: Mono will be continually chasing Microsoft's tail:
As has already been explained, Mono has no plans to chase Microsoft down the decommoditized standards drain -- Mono is implementing the published C# standard.
Regarding features, Mono has no reason to worry, because Mono is progressing faster than Microsoft C
There will be no monoculture in the Open Source world. The very people that drive it are too independant, too individualistic and too smart to ever settle on one solution to a problem. Unix is 30 years old and is nowhere near a monoculture, even when Linux has come to be a strong force in the market.
Actually, I can think of one monoculture we have - X. We have so many desktops, toolkits, languages, web servers, ftp servers, dns servers, MTAs, etc: Why haven't the X alternatives gained any traction? Multiple drivers too hard to write? X really is good enough? Has the X monoculture helped or hurt *nix?
Bleh!
Of course they could shut down mono if they wanted to.
.NET. But Microsoft does. With Novell in charge of Mono now, it would seem to me that M$ would be the big loser in the event that they ever decided to shut mono off. It would hurt them with their standards efforts. It would stifle the already hobbled adoption of C#, and it would generate bad press.
They have a C# patent which they could choose to enforce if they wanted to, and several method patents they could enforce on other key pieces of the framework. But I don't think Linux would be the big loser here. Linux doesn't need Mono, C#, or
That said,
I don't think they will. Microsoft has been lightening up over the last year. Their new "open source development" lab is proof of that. I think they might actually be looking for ways to cash in on the open source movement. Which would make sense from a business standpoint.
Think about it,
What better way to test the waters for Microsoft than to let a third party clone their framework. Xamian and Novell take all the risk, and if no one wants it, who cares? But if there is a demand for Microsoft platform stuff that will run on Linux, Microsoft is really the only one that wins.
This signature has Super Cow Powers
Well, I have seen tar crash but that was a hardware problem and an entirely different story. We need to MOD PARENT UP here on this one guys. Developing Microsofts cross platform .net support for them is a waste of our communities time. If .net is to be a total success it will have to be cross platform. It will need to work on embeded devices many of which already run Linux or *BSD, those that don't often run some other preprietary OS that is still not WINCE. A large part of the eventual market for .net will be ubiquitous(SP?) computing and that means small embeded devices. The other markets like apple/big *NIX need to be met as well. There is no reason to do this for them. Especially when the MUST eventually do it. Do you Mono developers really think M$ is gonna let you distribute fully compatible development tools(where the money is to be made) for there next big cash cow? HELL NO, they will let Mono hang around to encorage people to use .net because it will work cross platform when they have the time to develop their own ports they will and at that same moment break compatibility with Mono so they can charge for the ports. Even if they don't outright break compatibility you will see an embrace and extend situation where the best you can ever do is play catch up. Take .net and develop a free answer to it not an implementation of it. All the Free[insert favorite commercial product here] stuff is what gives OSS a bad name, and leads to legal trouble. The most successful projects have been those that found a market nich and filled it. Take GIMP its a really great image processing tool, yet its not "Free Photo Shop" it sure compeets feature for feature with Adobe products thought but it is its own animal. So develop Mono but make it totally incompatible with .net but still cross platform. That is the smart thing to do.
Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html