Slashdot Mirror


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."

16 of 502 comments (clear)

  1. Huh? by Anonymous Coward · · Score: 3, Insightful

    "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.

    1. Re:Huh? by LarsWestergren · · Score: 3, Interesting

      Now I have to ask... Why not use Java?

      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 .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".

      --

      Being bitter is drinking poison and hoping someone else will die

  2. Variety by Ycros · · Score: 5, Insightful

    Linux's strength lies in its variety, not everyone will commit to developing with mono.
    There will always be alternatives.

    Whereas with Windows development everyone and their dog are jumping into .net.

    You don't have to use mono on Linux, on Windows this is becoming less of a choice.

  3. It would be a shame... by mrt300 · · Score: 5, Interesting

    ...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.

  4. Re:Who's losing here? by superpulpsicle · · Score: 3, Funny

    Well, there is ALOT of rich kids in that sandbox. You mind as well call it a beach.

  5. Mono is no more of a threat than Wine is by Anonymous Coward · · Score: 5, Informative

    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.

  6. Re:FUD rears its ugly head by metlin · · Score: 3, Interesting

    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.

  7. I've said it before, and I'll say it again.... by JoeLinux · · Score: 5, Interesting

    ...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.

    Maybe he's been taking gullible pills, I dunno. Let .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...

    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.

    1. Re:I've said it before, and I'll say it again.... by danheskett · · Score: 5, Insightful

      No, no, no.

      You are bigtime wrong.

      .NET is MS reading the writing on the wall: namely, that Windows is a dying brand, that will not be relevant in the long-term future as a major cash cow.

      "Little" OS's chipping at Windows: Linux, MacOS, etc will eventually force desktop OS's to be commoditized, and MS knows this, and realized it a long time ago.

      .NET is a 10-year hedge against that. Thanks to .NET, MS has the ability to ditch Windows in the future. As Windows fades, MS can be assured that its other cash cows - MS Office, the backend products, etc are still viable and dont need rapid porting to a new platform.

      Look at it this way: .NET ensures MS's relevance even if Windows fails. Virtually all of the Windows software developed in the next decade will be developed with varying degress of support for .NET. Even now its starting to trickle into the marketplace. Desktop software, server-side software, everything. Even games will soon be enginered with maanged C# code. MS has started using it for their internal development of various products. As hardware adapts and as performance is tweaked and improved, everything MS writes will be done with .NET. At that point - 5 years, 10 years, etc - in the future MS will have successfully allowed themselves to be #1 regardless of hardware vendor, architecture, operating system, and even written language!

      Sun is virtually a solved problem: they are sick company who cannot continue to compete with MS in the fashion it has been. COntinued massive losses pile up to spending cuts and focusing only on profitable products. McNealey already is having to focus on profitable businesses at the expense of "long-term vision". Shareholders won't tolerate the types of losses that Sun has posted recently for very long. As it is Sun isn't even profiting from Sun as much as other major players: that's a bad thing from a business perspective.

      It all boils down to this: keeping .NET around, healthy, and adopted for alot of software development is currently in MS's best interests. It means that even if they are directly profiting they will be relevant no matter what happens in the industry.

      In another decade moving to .NET now will be seen by analysts as MS's most brillant move. Windows decline has begun in ernest. Linux is on the rise. Apple is on the (modest) rise. But yet MS will continue to thrive. And be poised to be viciously competitive regardless of what the "next big thing" is.

  8. Check out Mono's FAQ by dumky · · Score: 4, Insightful

    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

  9. Clue -1 by miguel · · Score: 4, Informative

    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.

    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 .NET APIs while they remain open, and will continue to use open protocols whenever possible (for example, our System.DirectoryServices implementation talks LDAP).

    But Mono has not stopped at implementing the .NET APIs we have been actively implementing our own framework that maps into the Unix world.

    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 .NET binaries.

    miguel.

    1. Re:Clue -1 by stevens · · Score: 4, Insightful
      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?

      Let me change the example:

      Now, let's say that Microsoft introduced a new Java API, or changed a Java API when Java was successful, did that change the success of Java?

      Well, it did change things. Java has lots of problems on the "run anywhere" side of things as it is, and when major java programs were written with MS-only APIs, cross-platform dreams were totally over.

      I suspect that .NET will also have major Win32-only parts. If a goal of mono is just to be a development platform, fine. If anyone thinks that apps written for MS .NET will be cross-platform, then they haven't been reading their recent history.

      And if Mono is just about a dev environment, then why bother? I can't really see why I should switch to C#.

  10. stop the scare mongering by penguin7of9 · · Score: 4, Insightful

    Microsoft has several means at their disposal to effectively shut down Mono if it should ever gain critical mass.

    Those claims are based on the inaccurate perception that the success of Mono depends on .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).

    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 .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++.

  11. Baka. by Inoshiro · · Score: 4, Insightful

    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.
  12. Java confusion by Jonner · · Score: 4, Informative

    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.

  13. Re:well, DUH! by alext · · Score: 4, Informative

    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.