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.
"Unfortunately, Linux would be the big loser if that were to happen."
Linux would be at exactly the same spot in which is started. Mono is a work in progress and really isn't embedded itself into Linux yet or probably will for a long while.
Stealing Microsoft innovation and borrowing on this corporation's achievements without asking. Microsoft paid money to their programmers while they wrote this wonderful API lib, so why should anyone get it for free?
Linux's strength lies in its variety, not everyone will commit to developing with mono.
.net.
There will always be alternatives.
Whereas with Windows development everyone and their dog are jumping into
You don't have to use mono on Linux, on Windows this is becoming less of a choice.
...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.
Well, there is ALOT of rich kids in that sandbox. You mind as well call it a beach.
Unlike the UNIX braintrust, Microsoft makes sure their products are a moving target to prevent people from copying them.
By the time Mono has finally reverse-engineered NET 1.1, Microsoft will be releasing NET 2.0. They'll keep adding to the APIs, they'll hook into Windows, leave parts undocumented, whatever it takes to ensure that nothing comes close. Mono will be stuck running trivial or toy programs.
This is just like the Wine project -- for years people have been promising that you'll just be able to install Wine and fire up any Windows app. But there's always another and another and another API that Wine hasn't gotten around to yet.
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.
...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.
.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.
The parts of .NET that are standard are safe.
The parts that aren't standard aren't required to Mono and can be replaced with other libraries.
Sure MS can keep changing APIs, but that will hurt them and their customers too. But even if they did, Mono is still a big gain as a Linux development plateform.
The people from Mono explain this at Mono / FAQ
This would be a good indicator of what Microsoft thinks are the best development tools for the job.
I everything produced by Microsoft was crap anyway. Why try and duplicate in on Linux?
I think the idea behind that comment is this: Someone invests large dollars creating a .net app, and run it on MONO. They get a notice that using MONO is not legal. Will that person a) run the app legally on a copy of Windows, or b) invest time and money to rewrite the app in a different technology that they may be unfamiliar with, so that it can still run on linux?
Man, the dude writing that stuff is sure one paranoid fellow. A paranoid fellow with little or no vision. No offense, but the guy is drowning in a quite empty glass of water.
.NET APIs while they remain open, and will continue to use open protocols whenever possible (for example, our System.DirectoryServices implementation talks LDAP).
.NET APIs we have been actively implementing our own framework that maps into the Unix world.
.NET binaries.
Lets take the following premise:
`Mono succeeds, and Microsoft then changes the APIs so Mono can not catch up, hence Linux looses'.
Lets take a sample that is closer to us: Linux and Unix. Linux and GNU are implementations of a fairly popular and interesting technology: the Unix operating system.
Now, if the Unix creators introduced a new API, or changed a Unix API when Linux was successful, did that change the success of Linux?
For example, lets assume that tomorrow SCO introduces a new API call into SCO Unix, lets call it "hasuseraclue()" [1]. The system call is highly proprietary and undocumented. Now, will Linux and GNU users suffer from the lack of this API? I am going to leave that as an exercise to the reader.
[1] Note: by reverse engineering the code, we know that above system call return 0 when ran on the system of the author of the previous paper.
In a world where Mono is vastly successful, if Microsoft changes/introduce new APIs, do you think it will matter?
We will continue to implement the
But Mono has not stopped at implementing the
For example, Microsoft has chosen XML Schema for representing, mhm, XML schemas. But the world of XML has been leaning towards Relax NG. Well, we implement Relax NG.
We implement Mozilla bindings, OpenGL bindings, Gtk+ bindings, Qt bindings, Unix bindings.
They implement support for 3 databases, we implement support for 11 databases.
Mono ships with plenty of other libraries, like a BigNum library and APIs to manipulate
miguel.
I think it basically comes down to several things.
1. How much do you trust Microsoft?
2. How much do you trust patent laws and the Patent Office?
Microsoft has several means at their disposal to effectively shut down Mono if it should ever gain critical mass.
.NET compatibility and that Mono applications are .NET applications. That's, in fact, just false. Most current uses of Mono are based on ECMA C# and Gtk#, not .NET. In fact, one of the big strengths of C# is that, unlike Java, C# makes it easy to reuse existing C and C++ libraries; in that, it is much like the relationship of C++ to C. If you already know Gnome, you can start using C# to develop Gnome applications much more easily than picking up Java and Swing (and the Mono/Gtk# applications will work better, too).
.NET, just don't use .NET. In fact, I wouldn't touch .NET simply because I think it's technically not very good. But you can still use Mono, which is shaping up to be a great, general-purpose programming platform. And because existing open source libraries, like Gtk+, Gnome, expat, X11, etc., is so easily accessible, it's very easy to start using Mono--it's just a nicer version of C++.
Those claims are based on the inaccurate perception that the success of Mono depends on
The company to worry about is Sun: open source Java applications do use all-Sun APIs; interfacing with native libraries is just too much hassle, and that's no accident: Sun wants you to use their APIs and give up on the free, open source APIs. And, despite all the JCP mumbo-jumbo, Sun has a lot of control over the Java platform, through numerous patents, through owning key parts of the actual implementation of key parts of the Java platform (e.g., Swing), and through their ownership of the specification and the certification process.
So, if you are worried about Microsoft's ownership of
I wouldn't bank on the government saving the Mono project.
Don't drop the soap, Tommy!
It's not about the domination of net via .NET, it's about a true, open source virtual machine project with a proper, OO language to go with it. Java is not open source, but Mono is. And Mono happens to be a superset of the Java functionality.
That fact that it lets you take Windows code and run it faster, better, more securely -- that's just icing.
To think that this is supporting Microsoft is to think that Samba supports Microsoft just because it implements protocols that Microsoft uses.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
Do you know who is our enemy and who is our friend? You may not like SUN for all its policies, but they are and always shall be part of the good guys (as one of the very few remaining). I can't believe reading such statements from someone who cares for open source and UNIX/Linux.
It is the only company that has not given in to the enemy in any way. Without SUN UNIX would have died a long time ago (in the real corporate world that is) and thus Linux and FreeBSD would have been much less relevant as well.
SUN wants to keep control to prevent abuse and beaurocracy. Whether you think this works and is necessary or not does not matter. Fact is, SUN has NEVER misused its control over API's, but instead has given away many products and standards without ever playing tricks or misusing its position (think about virtually any UNIX network protocol and influence in most UNIX API's).
MSFT is an entirely other story, they have misused almost each time they controlled some API's, even when it was a so called standard (HTML comes to ming). Why would it be different this time?
Please, don't forget who your enemy is and who your friend is, take just a bit of historical perspective!
From the Joel on Software story, it seems the C compiler for the Excel team dates back to the 80's. And this news releases states that Microsoft Business Solutions CRM "is the first Microsoft business application built on .NET infrastructure."
You seem to be confused between specification and implementation. It doesn't make sense to claim that Java isn't Open Source, since there are various Open Source and Free Software implementations of Java compilers, runtimes and libraries in addition to the proprietary ones. Here is a good list. Some of these Free implementations have been around much longer than Mono. Mono isn't the only Free implementation of DotNet; there's also DotGNU.
Microsoft changes some stuff so that there is an incompatibility.
You then chose to go with .NET or stay with Mono and break the compatability. One might argue that Mono can change to keep chasing .NET, but this is a loser's game. Too much resource just gets swallowed up with juggling compatability etc. People running a "mission critical" app will just shell out dollars and buy .NET to get going again.
Microsoft has used this tactic many times over. While Borland and other compiler vendors served Microsoft's interests they wore tolerated, but as soon as they were seen to be the enemy (ie MS wanted people to use Visual Studio), they started changing stuff in such a way that the other vendors just could not really keep up. Eventually even die-hard Borland supporters had to switch to keep going.
They did a similar thing with NT. They provided a Unix streams model to encourage people to port their Unix drivers to NT but then crippled the streams driver support and finally killed it, thus breaking compatability.
It is a safe bet that Mono will be treated the same way. MS has no fear of anti-trust.
Engineering is the art of compromise.
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.
Not given the number of times this has already been discussed on /. I suppose.
My impression (from a far from neutral viewpoint) is that each time it comes up the discussion has progressively become less "that's a neat thing to do" and more "sounds risky, a bit unimaginative, and isn't it ultimately pointless?"
Probably the hardest thing to gauge is the risk from MS - we'll carry on debating this until, and probably after, the C&D orders hit the doormat.
The "unimaginative" and "pointless" accusations are easier to get a handle on. Once it's conceded that portability of an application from Windows to Linux is unlikely to be fully realized (at least, not without an equally comprehensive yet-to-appear WINE layer), then the bottom-line value of Mono is immediately suspect. If I can't actually port my source code, what's it to me whether Mono uses the same bytecode format or not?
As has been mentioned before, DotGNU is perhaps more worthy of support since it has tied itself less completely to MS's apron strings - Java bytecode is supported in principle if not in practice, for example. However, the Python and Parrot efforts are perhaps the projects closest to the goals of OSS that are capable of delivering the same benefits as Java and Dotnet.
Lastly, it should be kept in mind that Java on Linux is huge, probably the biggest factor driving Linux in the enterprise - IBM, BEA and Sun all have high quality JVMs for Linux. If it were possible to compare investments. The investment going into Mono is infinitesimal in comparison.
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.
The mono developers (in particulap Miguel) have had enough meetings with Microsoft not to be too worried here. In addition, some of the patent issues fall apart since Microsoft has failed to defend it.
Although not all of mono is protected by the EMCA standard, the core is. Furthermore, since the implementations used in mono have (well, at least should) be independent from the
Lastly, the
After doing some research, they are very close:
FY2003
Client (Windows) $10,394
Server Platforms (SQL, Backoffice, etc) 7,140
Information Worker (Office) 9,229
Source: Microsoft.com
it's very easy to start using Mono--it's just a nicer version of C++
You have a lot of reading, coding and listening to do. Then you will see the error of what you have said.
Stick Men
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.
.NET overlords.
I, for one, welcome our new (open- or closed-sourced)
It's total and complete FUD because it seeks to place Fear Uncertainty and Doubt in the minds of people who would support the Mono project. Perhaps you should go look up what FUD means. This article is empty speculation based on absolutely no facts. It simply paints a reaaaally scaaaary future where Microsoft somehow has the power to crush Linux development. Miguel refutes most of the points in this article, and obviously he and his team have already spent plenty of time thinking about these issues - they're not idiots.
Of course, Slashdot moderators have wasted no time in censoring the few people who immediately saw this article for what it is, so I doubt the post that even originated this thread will stick around - it's currently at 1.
Please subscribe to see the more insightful version of th
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!
thankyou, you're correct this slashdot story is essentially just a dumb troll, which regurgitates all the usual fud around mono. i have asked the editors to remove/amend the story, but unfortunately there is nothing they can do.
Before adopting WHATWG, read the moonlight.NET EULA [http://www.microsoft.com/interop/msnovellcollab/moonlight.mspx]
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