Become a fan of Slashdot on Facebook


Forgot your password?
Programming Editorial IT Technology

Mono and dotGnu: What's the Point? 493

joeykiller writes "The Register features an opinion by Neil Davidson, asking 'Mono and dotGnu: What's the point?' Some of the points he raises may seem irrelevant for open source supporters (like why make a C# compiler while Microsoft's is free anyway), but others are thought provoking and maybe a little bit controversial. You may not agree with his opinions, but it's an interesting read anyway."
This discussion has been archived. No new comments can be posted.

Mono and dotGnu: What's the Point?

Comments Filter:
  • Free for who? (Score:5, Interesting)

    by abrotman ( 323016 ) on Friday February 13, 2004 @11:32AM (#8269559)
    Last I knew, the .NET framework was only available for Win32 and FreeBSD. Has this changed recently? I dont really see a problem with Mono. If they can make it so that System.Forms works with GTK/Qt, that would be rather nice. I would imagine this would lead to tons of portable apps. Of course .. Maybe i dont understand .NET
    • Re:Free for who? (Score:5, Informative)

      by Utopia ( 149375 ) on Friday February 13, 2004 @11:44AM (#8269713)
      The implementation you are taking about - Rotor - is also ported to support Mac [] & Linux []
    • Re:Free for who? (Score:5, Insightful)

      by Shillo ( 64681 ) on Friday February 13, 2004 @11:55AM (#8269840)
      Mono is currently focused on properly wrapping Gtk and GNOME functionality (pure wrappers, without going through Forms). There are already a few apps that use this, and at least one is IMHO a potential killer app (namely Dashboard).

      It goes without saying that both Gtk and Gtk# (Gtk wrapper for Mono) work on Windows, too. So you don't lose cross-platform angle, but this does show that Mono is *not* just a .NET knockoff.

      • Re:Free for who? (Score:5, Informative)

        by kevlar ( 13509 ) on Friday February 13, 2004 @12:24PM (#8270158)
        Mono _IS_ the .NET Framework. So how is it not a knock off? Because it runs on Linux?

        And just because Mono uses GTK which can also run on Windows does _NOT_ mean that there is no work involved in porting it to another architecture. The fact of the matter is that porting from windows to linux to bsd to solaris will always involve some sort of functional changes.

        Mono is simply .NET for non-Windows environments. Its a .NET Knock off.
        • Re:Free for who? (Score:3, Informative)

          by Shillo ( 64681 )
          What I said is that it's not just a .NET knockoff. Note the 'just'.

          Part of it sure is reimplementation of .NET Framework (and /not/ the .NET Framework itself). The rest is support for the GNOME (and Linux in general) -specific parts. This includes Gtk#, DBUS and HAL support, Apache support.

          In other words, Mono is .NET, embraced and extended. With generics already working in CVS (as far as I know).

          • Re:Free for who? (Score:5, Informative)

            by kevlar ( 13509 ) on Friday February 13, 2004 @12:53PM (#8270479)
            Calling Mono an extension to .NET because it uses Gnome is like calling a Ford car chassis with a Yugo engine an enhanced vehicle.

            Mono feeds off of the various Linux GUI libararies in order to implement the windowing requirements for .NET.

            Mono offers no improvements to .NET as a Framework. They are also nowhere near completion of implementing the entire Framework. Right now Mono is a "neat tool" which might let you run your C# app under Linux (no offense to your work and efforts intended, Miguel).
      • I think this is the big advantage for Mono. I am a GNOME zealot, but was not excited about mono at all. But after seeing the ease of doing GNOME/GTK work in Mono I have to say it looks very interresting.
  • by burgburgburg ( 574866 ) <<splisken06> <at> <>> on Friday February 13, 2004 @11:33AM (#8269573)
    By the time Mono is anywhere near 90 percent of the current functionality of .NET, Microsoft will have released Whidbey, Yukon and probably Longhorn.

    Right after we see the releases of Duke Nukem Forever and Doom III.

  • by 192939495969798999 ( 58312 ) <> on Friday February 13, 2004 @11:33AM (#8269574) Homepage Journal
    It's not really free if you are using Microsoft, because they anticipate that in order to use C# compiler, you will need other Microsoft products that cost money. They aren't a non-profit organization! That's a great reason to make YAC#C.
  • by Meat Blaster ( 578650 ) on Friday February 13, 2004 @11:34AM (#8269578)
    The points are avoiding vendor lock-in, remaining within a comfortable framework, and having the potential to extend things in your direction instead of Microsoft's.

    Although their time might be better spent in designing a true alternative to Java and C# instead of a copy that allows you to write a GNU application that runs everywhere, it's hard to fault Mono for recognizing a market niche and running with it. For example, maybe they'll make C# work on Linux embedded devices where Microsoft wouldn't go?

    • by Karamchand ( 607798 ) on Friday February 13, 2004 @11:49AM (#8269775)
      You don't get it :)
      He understands all these points well. But he doesn't think it's a good thing because then everyone - even on Linux, even on embedded devices - will use .NET and whenever Microsoft feels like it (i.e. when Mono/dotGNU really have a market share) they can enfore their patents and - whooops, Mono/dotGnu have vanished.
      • by Slime-dogg ( 120473 ) on Friday February 13, 2004 @02:40PM (#8271869) Journal

        ...they can enfore their patents and - whooops, Mono/dotGnu have vanished.

        Are you sure you have a good understanding of what a patent is? They are not enforceble if you do not use the same method as the one that is patented. Essentially, MS has patented certain algorithms that happen within Windows.Forms, which can be and are being rewritten in another way.

        I doubt that an API is patentable, since it isn't a method or a material object. Then again, if it were, enforcing it against Mono or DotGNU is pointless... the projects are not profiting from the sale of the technology. They don't even exist in the same marketplace as the framework, since they are completely free.

      • One of the things he doesn't seem to get is that he seems to think of Sun and Java as being on the good side. I actually trust Microsoft more than I trust Sun (in a twisted sort of way).

        At least with Microsoft we know they are anti-Linux. Sun trys to seem all buddy-buddy when around the Linux community but in a lot of their press releases and documentation they bash Linux.

        Shoot some people have claimed SCO is just a Microsoft pawn. And although I am not doubting Microtosft is somewhat cheering for SCO,
    • by meadowsp ( 54223 ) on Friday February 13, 2004 @11:59AM (#8269880)
      It's a more established framework and a lot more cross-platform.

  • by Anonymous Coward on Friday February 13, 2004 @11:36AM (#8269610)
    ... doesnt always mean it makes sense from a resource point of view or from "the big picture". But that is the price with people giving up their own time.

    I, myself, am happy to have the chance to sample some of this work for free. Who am I to judge since I'm not paying?
  • by richardoz ( 529837 ) * on Friday February 13, 2004 @11:37AM (#8269622) Homepage
    Neil wants to give up implementing .NET for MONO and dotGNU because neither project will have all the features. I think that it is likely that Novell or ?? may pick up the pace..

  • by daviddisco ( 302106 ) on Friday February 13, 2004 @11:38AM (#8269641) Homepage
    We know that Slashdot posts these kind of articles as bait for the meatheads who think that being against Micro$oft makes everything they say correct. Microsoft bashing is no substitute for thinking. Be free! Think, think!
  • you do know.. (Score:4, Interesting)

    by minus_273 ( 174041 ) <> on Friday February 13, 2004 @11:38AM (#8269642) Journal
    that C# and IL are an international standard (at least in ECMA's eyes) and MS has absolutely no control over the language right? Not just that there are several other compiler for C#, made by german firms i think.
    FYI, basically it boils down to this:
    .net = european standards camp
    Java = american standards camp, though not fully done yet.
    • Re:you do know.. (Score:5, Insightful)

      by Waffle Iron ( 339739 ) on Friday February 13, 2004 @12:30PM (#8270233)
      that C# and IL are an international standard (at least in ECMA's eyes) and MS has absolutely no control over the language right?

      They have no control over C# standards in exactly the same way they have no control over HTML standards: Developers code to the Microsoft implementation, regardless of what the "standard" may say.

      • Re:you do know.. (Score:3, Insightful)

        by AstroDrabb ( 534369 )
        Someone mod parent up. I lost my ability to mod since I posted on this topic.

        This is exactly what MS will do. How freaking naive can MS weeines be? MS is all about dominating a market. Big deal if C# the language is a standard. The platform is what matters and MS controls their .Net platform. People/Companies will code to that MS .Net platform and leave all other platforms out of the game.

        If you want a cross-platform framework, use Java. If you want a cross-platform application, use wxWindows [] o

  • Motivations (Score:5, Insightful)

    by Pedrito ( 94783 ) on Friday February 13, 2004 @11:39AM (#8269653)
    As a .NET developer, frankly, I don't care what the motivations of Mono develoers or dotGnu developers are. Maybe I should be, but I'm not. I'm building an open source project in .NET and I want Linux, BSD and Mac OS X support (the latter two, hopefully with the help of SSCLI), and frankly, whatever other platforms I can include.

    I don't want to use Java. First of all, I've never used it to develop software. Second of all, every user interface I've ever seen done with Java stinks. Maybe I've been seeing bad examples, but the windows, buttons, and other contols of the Java apps I've seen have an old fashion look and feel to me and I don't care for it. My personal opinion, but for me, that counts for something.

    .NET is a really nice development environment. As much as I don't care for Microsoft, I have to admit that since I adopted C# about a year and a half ago, my production has roughly tripled, maybe more. I've never had ANY technology have that kind of impact on my development before, unless it was the reverse (making me 3 times LESS productive).

    So, whatever the motivation of Mono or dotGnu, I simply want to develop my cross-platform C# apps. That's MY motivation, and that's what matters to me.
    • I've never had ANY technology have that kind of impact on my development before, unless it was the reverse (making me 3 times LESS productive)

      You're talking about slashdot right? :)
    • Re:Motivations (Score:5, Informative)

      by Karamchand ( 607798 ) on Friday February 13, 2004 @11:52AM (#8269806)
      Concerning Java GUIs: Take a look at SWT (Standard Widget Toolkit). You might be interested in it :-)
    • Re:Motivations (Score:5, Informative)

      by Anonymous Coward on Friday February 13, 2004 @12:05PM (#8269950)
      ...Second of all, every user interface I've ever seen done with Java stinks. Maybe I've been seeing bad examples, ...

      Most Java apps are not client side apps. Java is (at least at the moment) still heavily server-side. So looking at GUI apps as a mark of quality of Java as a development language is highly misleading, although understandable.

      However, take a look at Swing Sightings [] for some examples of truly outstanding Java GUI apps...

    • Re:Motivations (Score:3, Informative)

      by laird ( 2705 )
      "I don't want to use Java. First of all, I've never used it to develop software. ... since I adopted C# about a year and a half ago, my production has roughly tripled, maybe more."

      Having done a little in C# and a lot in Java, my personal opinion is that the development environments are comparable, with the caveat that you've got way more options for tools and components on the Java side since it's a much more mature and broadly supported platform.

      I'm curious about why you don't want to use Java. Java and
  • One reply (Score:4, Insightful)

    by miguel ( 7116 ) on Friday February 13, 2004 @11:39AM (#8269654) Homepage
    We read with interest the piece from Neil on the purpose of Mono, and
    I wanted to clarify a few things, because Mr Neil does not seem to
    have looked at the Mono Roadmap, nor tried a recent release, since
    code signing (authenticode and strongnames is implemented, remoting is
    completed (soap, binary, http, tcp transports) and most of the
    side-by-side assemblies work is done, and will be part of 1.0).

    The Mono Roadmap ( contains the
    release time frames for the various features of Mono and will help him
    and other readers understand what exact plans are: no speculation, and
    no half-cooked facts.

    I am surprised by the motivation to do so little research on our
    project given that Mr Neil is the technical director of a company that
    sells .NET software; You would think that the use of Mono would help
    him reach customers using Linux, using mainframes or MacOS X.

    Mono is based on the ECMA 334 and 355 standards. We like the C#
    language and its runtime (as does Mr Neil's company) because it
    increases our developer productivity, reduces the time to market of
    our new products, this despite the fact that we do not implement Code
    Access Security, which will only be used in embedded situations, a
    segment that we are not ready to address in Mono 1.0.

    We want to improve the productivity of developers in Linux, mainframe
    and OS X developers by brining this unique platform to other
    platforms. Just like Borland, SGI, Sun and IBM provide compilers,
    runtimes and tools for other languages, we provide such a piece for

    Mr Neil does not seem to understand why bootstrapping a C# compiler is
    important, so let me explain this in terms he would understand: it is
    important because:

    * Using C# to write a C# compiler means that it improves our
    development speed.

    * To be able to harvest the benefits of productivity of C# on
    Unix, we need a bootstrapping system.

    * It allows us to write software on Unix without and be
    self-sufficient to develop software as opposed to require
    a Windows machine to develop software, and another to run it.

    * It means that we trust our technology enough and it is solid
    to the point that a relatively complex piece of software not
    only runs, but is binary-compatible with the Microsoft

    Mono's objectives are not "To break Microsoft's monopoly". We do not
    define ourselves in this way, there are more important social causes
    to fight. We look at the ECMA 334/335 standards as a solid foundation
    to improve Linux and bring more software, more quickly to it, and make
    the development process more fun.

    There is a lot more about this on:

    And a few other interviews
    • by Pedrito ( 94783 )
      Miguel, muchas gracias para tu repuesta...

      I find this very enlightening. I had no idea that Mono was intended to be compatible with Mac OS X, and I find that VERY cool. As I posted earlier regarding my own open source project that uses .NET, I want to target as many platforms as possible, and Mono gives me this ability. And on top of it, I get to use C# and the .NET Framework. Despite the company that designed it, it's an excellent language and framework. As Miguel said, it boosts productivity. I have pers
  • by Valar ( 167606 ) on Friday February 13, 2004 @11:40AM (#8269663)
    Could it be that we want to run .NET programs under Linux? Or, better than that, that we (linux using programmers) would like to be able to write .NET programs without booting into windows? His points about mono and dotGNU just replicating features already availible in .NET is irrelevant... because they aren't availible on our platforms. Sure, there would be nothing great about windows.forms in X, if we already had a way to do windows.forms stuff in unix. We don't. And his points about microsoft adding all kinds of features to the languages and the .NET library is pretty irrelevant: a) mono is probably going to add those features to the compiler and libraries as soon as possible anyway b) in the state mono is in right now, it is possible to do just about anything you would need to write any possible .NET application c) as long as ms's .NET compiler still generates the same CLI, it would be possible to run the programs in mono (assuming it is something that doesn't have huge chunks of embedded C or anything).

    In the end, I feel like I've been ASTed.
  • by jake_the_blue_spruce ( 64738 ) on Friday February 13, 2004 @11:40AM (#8269668) Homepage Journal
    A bit late to be controversial on this. I assume that he also thinks that WINE (which allows windows binaries to be installed and executed as if it was Windows) is also a bad idea, and that the idea of doing everything windows does and more besides is either not feasable or not a good way to attract users. If he believes it is feasible, then I further assume he believes the same thing is true of Microsoft's Embrace and Extend strategy.

    The threat of patents makes his a valid view, that has been well elucidated some months ago. I would have preferred if the article had broken new ground, and used all the prior conversations as a jumping off point.

    An interesting analysis would be what is thought about Mono's preparation for the threat of patents. They are developing a completely seperate and patent free stack of libraries using GTK#, etc. rather than Windows.Forms, etc., etc. for everything not submitted as royalty free to the standards body. The upcoming MonoDevelop project is a port of SharpDevelop from Microsoft's .NET to the Mono environment in such a way as to be unencumbered from any patents, as a proof of concept, and as a much needed Linux IDE for C#.

    As a comparison, he might wish to bring up the GCJ project, which native compiles Java code, and the Gnome Java bindings. (or Eclipse + SWT)

    Either effort could stand to attract greater resources. For instance, if Sun + IBM seriously got behind GCJ + Gnome Java bindings, or if Apple got behind Mono.

    Anyway, the Register is usually wonderfully edgy, bitingly sarcastic, and controversial. I was very disappointed with this article.
  • by plover ( 150551 ) * on Friday February 13, 2004 @11:40AM (#8269675) Homepage Journal
    Their enemies are now working, for free, to extend Microsoft's monopoly onto new platforms.

    "Enemies"? "Extending monopoly?"

    I think the author has missed one of the points about .NET: it does have some very attractive features that certainly could be useful in any environment, not just Windows. Automatic garbage collection and rock-solid typing are valuable assets. Just-in-time compiling in the runtime environment can provide extremely fast running code. (Not that it always does, but it has the potential in some situations.) These are benefits that there is no reason the GNU community can't share.

    There's also another benefit: it's a two-way street. Having dotGNU might provide a roadway for Windows developers to leave the Windows platform.

    He has interesting points, and they're worth discussing, but it's way to early to pronounce dotGNU or Mono dead.

  • by F2F ( 11474 ) on Friday February 13, 2004 @11:41AM (#8269678)
    just now El Reg published some of the angry letters in defence of .GNU: []

    not that i'm trying to defend .GNU, just presenting a counterpoint.
  • by Yag ( 537766 ) on Friday February 13, 2004 @11:42AM (#8269694)
    Kaffe is a free java vm, why they did it? Because now, if you want free java on ipaq, kaffe is a good solution. Also because kaffe is open source so its chanches of porting are better. And sometimes is quite faster then sun vm.

    Mozilla when was started it wasn't as good as explorer, or opera, both were free, so, why start another project? Now, a lot of people thinks mozilla is the best browser.
  • Stop-gap measure (Score:3, Interesting)

    by JBMcB ( 73720 ) on Friday February 13, 2004 @11:43AM (#8269707)
    Mono and DotGNU, if nothing else, are good contingency measures if .Net happens to crush Java in the realm of web apps (not likely.) I'm half suprised at the rush to implement forms, as web apps seems to be what .Net was intended for, though the Gnome guys are the ones driving development...
  • No and Yes (Score:3, Insightful)

    by swagr ( 244747 ) on Friday February 13, 2004 @11:47AM (#8269737) Homepage
    Despite the fact that this guy doesn't seem to understand or appreciate Mono and dotGnu acheivements, I still pretty much agree with his conclusions.

    Let's look at Java. How many professional/hobby/academic Java developers use Sun's SDK?
    How many use Gnu classpath with some other VM? []

    Have you ever downloaded an app or library that was developed and tested under SableVM/Gnu-classpath but not Sun's SDK?
  • by Kupek ( 75469 ) on Friday February 13, 2004 @11:48AM (#8269759)
    While providing freedom of choice might be reason enough to justify a project, practical programmers could be asking: What's the point?

    Linux, maybe? Mac OS X? Free BSD? I see getting C# programs to run on other platforms as a practical purpose. Later on in the article he acknowledges that you'd be able to run these programs on Linux, but that's more like a throw away concession he makes. He plays dumb in the beginning, and makes himself look silly.

    How is making C# a standard on Windows and Linux going to hurt Microsoft?

    I think that the people behind the project have better goals than that - namely, getting a particular tool to work on Linux. People use Linux for a variety of things. It would be nice if C# - just another tool - worked under it. What's the big deal?

    There is an obvious practical purpose to getting C# programs to run on Linux. The real question, however, is will the .NET framework on Linux be good enough so that people will actually want to use it? That's a very real question, but it's not the main one he's asking.
  • by CompSci101 ( 706779 ) on Friday February 13, 2004 @11:48AM (#8269762)
    Hey all,

    It seems to me a little hypocritical to complain about MONO and dotGNU when there's also WINE out there. What's the point of getting Win32 Apps to run natively under Linux? We'll never keep up with MS adding things to the API...

    The point is, the more implementations there are of the CLR for .NET the better. I, for one, am glad to see that the effort is being made and that .NET is not going to become yet ANOTHER MS only technology. If you think Java has merit (and it does), then you can't reasonably believe that .NET has nothing to offer -- they're conceptually the same thing, skewed in slightly different directions. Java is bent more towards security, while .NET is bent more towards flexibility. It makes sense to bring it to Linux: it's useful (really!).

    On the flip side, why isn't anybody complaining that there's an abundance of Java VM implementations out there?

  • by elwinc ( 663074 ) on Friday February 13, 2004 @11:49AM (#8269764)
    Sure, right now there's a version that's free from MS, and probably fairly unencumbered. But for how long? Well, as long as Java is still competitive.

    If Sun and Java die, MS will be free to add proprietary bits, and we'll still want a free version.

    Also, although there are some nice things in C# (such as being able to work with arbitrary C pointers and data structures returned by C functions), we may want to tweak the design a little, or extend it to work with python or lisp or other languages. The idea of a "glue" language that can call routines written in many languages is very appealing. Sometimes you might want to have one program that can deal with low level data structs like C, handle resolution theorem proving like haskell, and maybe strings like snobol. With a good glue language, yuo could write each routine in its appropriate language, then glue them all together.

  • I have to agree (Score:5, Interesting)

    by Lysol ( 11150 ) on Friday February 13, 2004 @11:57AM (#8269861)
    As someone who contributed a little code to gotGnu, I kinda started thinking, what's the point? What is the point of running .Net on a non-M$ OS?

    I can see one value, which is it allows those 'stuck' (I don't really believe in that concept, but whatever) on Windows to migrate off it. But in the same line of thought there's also this huge issue which is M$ and they way it trys with all the power of the universe to prevent that. Whether it be licensing tricks or slashed pricing, or plain 'ol FUD - in the end, they'll do whatever's possible to keep people locked in.

    And honestly, I have to raise an eyebrow to anything M$. I mean, C# is a specific jab at Java. Java wasn't built to wrestle control away from M$ C++ and their dev tools. So something that is made to ward off something else that, in my book, is a pretty good thing for Internet developers, is pretty sketchy. Not saying Java is the king or anything, but the underlying reason for C# is: we (M$) can't control Java, so screw you, we'll copy and extend, build the concept of a VM (CLR) into our OS, and then woo all those productive ;) Java developers over to a real platform.

    Lastly, any Open Source/Free versions of .Net are playing with fire. If Mono or dotGnu were wildly successful, then M$, owning all the patents, copyrights, and trademarks, would pull the legal card and shut them down or just plain not interoperate with them - yes, I know portions of .Net are part of ECMA []. However, this isn't the days of the 80's or 90's where you could reasonably get away with this stuff and everything under the electronic sun wasn't patented. Nowadays the control and nastiness in the business software world is unparalleled - just look at that guy that patented the concept of 'web stores' for example. So, while my hat is off to all the people who have really busted their ass on Mono and dotGnu, I ultimately feel that it will be a lesson in frustration and disappointment.

    And also, for me, there's just something filthy about the M$ development universe. I find their tools are kludgy, bloated, and too foofy. And I don't like having to install five thousand libraries and integrated-this or integrated-that, plus an update here and an update there - I'm not a fan of everything integrated into the OS. Granted, Net Beans can have a huge footprint and I didn't say that it is a great app (don't care for IDEs either), but there's just a something about M$ tools that I just don't and never have liked - this naturally extends all the way through their whole stack. So seeing a HelloWorld VB app running on Linux kinda makes me shutter and just kinda think why? I'm sure the natural answer for some will be - because. Meh..
  • by Cthefuture ( 665326 ) on Friday February 13, 2004 @11:58AM (#8269871)
    Ok, so the article is a bit harsh. I agree with a lot of what he said but he missed one major point and is just plain wrong on a number of things. I don't think Mono is about destroying Microsoft or providing choice. It's about using a nice(*) language like C# on Linux. That statement alone kills his whole argument.

    He missed a very important problem though. Performance. I admit that I haven't played with Mono in 6 months or so but last time I tried it the Microsoft runtime/compiler/JIT/whatever was hella faster than Mono. Several times faster.

    I'm not sure if the Mono developers will be able to achieve the sophistication required in the compiler and runtime while still doing all the other stuff that needs to be done. Time will tell.

    (*) I like C# better than Java. Especially the interface to native DLL's (not perfect but way easier/simple than Java). Plus C# was designed from the beginning to have things that Java only recently got (generics anyone?).

    With that said, I still think C/C++ are just as portable, much faster, and don't require stupid memory sucking VM environments. If only we had C++ equivalents to the huge Java and .Net libraries.
  • The true question: (Score:5, Insightful)

    by happyDave ( 155169 ) on Friday February 13, 2004 @12:02PM (#8269922) Journal
    I think the real point that he's missing is that every project undertaken on Open Source that's a direct response to something that Microsoft is doing is a step in the direction of eliminating barriers to entry []. Anything that can be done on an Open Source platform that could previously only have been done in a Closed Source environment is a good thing.
  • by jaywhy ( 567133 ) on Friday February 13, 2004 @12:17PM (#8270076)
    I don't know why everyone in the open source community feels compelled in chasing behind Microsoft technologies, whether it be Mono or Wine. When I talk to people about the benefits of Linux and open source; I always seem to always mention Apache, Perl, and MySQL. I mention these products not because there based on or copied from Microsoft technology. It's because they are innovative open source projects. These open source projects do well not because there open source; but because there BETTER then there closed source counterparts.

    We shouldn't lag behind and chase Microsoft's coattails. We should instead innovate; create our own .NET our own technologies, and make them BETTER then their closed-source counterparts. That's the only way we win. You cannot win a race by chasing your enemy. You must pull ahead.
    • Aren't what they are doing is creating "their own .Net"?

      And if not, what does it mean to create your "own .Net"? What if the steps taken by Mono are the logical next step?

      Think of it this way. When C# was released, everyone said that it (and .Net) were a just a copy of Java (the JRE, the intermediate language, everything). But maybe Microsoft didnt' jsut copy. Maybe they conceded the fact that the idea of having a a platform and intermediate language was the next logical step in software development.
  • by ajagci ( 737734 ) on Friday February 13, 2004 @12:20PM (#8270122)
    C# is a nice language, it's free, open, and standardized, and it's good that there are many implementations of it. All those other points don't matter.

    What MS does or doesn't do with C# is their business. And if .NET remains proprietary, all the better as far as I'm concerned: I like the language, not MS libraries.
  • by billtom ( 126004 ) on Friday February 13, 2004 @12:43PM (#8270377)
    To my mind, it all comes down to the Office.NET test. That is, at some point in the future (if MS sticks with .NET), Microsoft will release Office.NET (the Office suite rewritten for .NET). The test is: will Office.NET run, off the shelf and without any major crashes or missing functionality, on a non-MS .NET framework.

    If it will, then I'll be happy to declare .NET as the greatest cross platform programming environment in the universe and hold the developers of the non-MS .NET frameworks up as champions of the open source world.

    But if it doesn't, then I judge the whole effort to produce non-MS .NET frameworks as a waste of the open source community's time. And while, of course, programmers are free to waste their time if they want, don't expect me to be interested and contribute.

    Now, .NET apologists might claim that the Office.NET test is unfair. That there are many useful things that can be done with a partial implementation of .NET. To that I say, you're deluding yourself. If the best that we can hope for is a two .NET world (MS .NET and the open source .NET ghetto) then, as a professional programmer, it's not something I'm going to use. My time is important enough that I'm not going to waste it trying to remember what bits of .NET I can and can't use when I use Mono or dotGNU.

    Now, as you can probably tell from the tone of my post, I've more-or-less concluded that there is basically no chance that MS will ever allow Office.NET to run on any non-MS .NET framework. They'll keep back just enough to insure that their Office cash cow continues.
  • by BCGlorfindel ( 256775 ) <<klassenk> <at> <>> on Friday February 13, 2004 @01:00PM (#8270556) Journal
    I'm seeing alot of people complaing about how mono is a waste of time because MS can pull the carpet out from under everyone with proprietary library updates that will prevent .NET apps from running on mono. That is entirely probable and it is most likely beyond the ability of the mono team to keep up with such changes. Let alone the time to ensure .NET to mono compatability. But give the mono team some credit, don't you think they too might know this? I ask this question to all the waste of time whiners: What can MS do to stop mono to .NET compatability?

    That's right, open source projects written in mono will have the ability to run under both linux and windows, mono and .NET, without any rewrites, and with a consistent feel. That is the point. It would speed the cross-platform development of projects like Mozilla and OpenOffice that both windows and linux users alike are trying. What better way to transition users dependent on windows apps(not windows itself) to a linux environment, one app at a time. Forget about allowing the commercial .NET programs to run under mono, think about replacing them with equivalent Open Source mono apps.
  • Quote from Miguel (Score:5, Interesting)

    by Chris_Jefferson ( 581445 ) on Friday February 13, 2004 @01:04PM (#8270587) Homepage
    When people begin talking about how mono is just reimplementing "evil microsoft products", I always like to draw out this quote from Miguel (sorry for stealing it!)

    * GNU was based on a proprietary technology. GNU is a free re-implementations of Unix. Linux is a re-implementation of the Unix kernel. Before the advent of Linux and the Berkeley Unix, Unix was a proprietary technology, built by ATT (which back in the day, was a monopoly). Still, developers took what was good from Unix, and reimplemented a free version of it. Down to the Unix programming language: C (which was also invented at ATT). Even C++ was invented at ATT. Think of Mono as following the same process: we are bringing the best technology out there to our beloved free software platform. And at the same time it serves to be a magnificent upgrade on the development platform.

  • by puppetluva ( 46903 ) on Friday February 13, 2004 @01:06PM (#8270614)
    There is an easy way to get relief over the controversies with Mono. Since Microsoft owns it, (only the C# spec is ECMA) someone should ask Microsoft if we can use it. . .

    Novell should ask Microsoft to issue a statement or enter into a contract that they won't pull the rug out from under Mono by enforcing patent/trademark/etc. protections and adversely affect the Mono community. If they refuse, then you know Mono is doomed. If they comply and their answer is legally binding, then have at it.

    Mono is excellent technology but it is in a very dark shadow. I wouldn't base my software on an architecture that is under patent threat by one of the most powerful companies in the world -- What's the point of speculating since all we have to do to verify its safty is ask Microsoft ?

    This is only proper. . . most of the runtime and forms libraries are proprietary property of Microsoft -- we need to ask them if we can use it if we are worried about backlash.

    Please do not reply with anyting about GTK# not being property of Microsoft. . . the "#" trademarks and the runtime technology (CLR) certainly are their undisputed property. Playing games with their IP without asking their permission is unwise.
  • by plinius ( 714075 ) on Friday February 13, 2004 @02:01PM (#8271396)
    Is that it's related to Herpes(TM) (factually true).

    Herpes is a registered trademark of Microsoft Corporation.

  • best quote (Score:4, Interesting)

    by sysopd ( 617656 ) on Friday February 13, 2004 @02:42PM (#8271899)
    From the article text:

    "The major achievement of this project appears to be using somebody else's compiler to build a compiler that will compile the compiler."

    I am not the biggest fan of C# or .NET and would rather see this community work together to design and specify a next-generation free and open standard for Cross-OS/Platform/Architecture "virtual machine" and language allowing for a single portable executable binary. I'd like to see RFC's and IRC conferences, papers being passed back and forth, live conferences and formal specifications.

    For too long has the opensource community nipped at the heels of the closed-source technology leaders. It is time to innovate, time to design, time for change. I do think having an opensource C# compiler/framework/CLR is a good thing, but I believe this is only secondary in importance to having a truly free and open solution where all voices are heard and designs are not made to accommodate a particular OS's limitations or benefits.

  • by brokeninside ( 34168 ) on Friday February 13, 2004 @03:16PM (#8272319)
    Davidson presents two conclusions, one of which can be refuted by his previous points.
    1. But they have no practical use,
    2. and exist only with the patronage of Microsoft.
    The first point is refuted by his earlier statement, one of the few applications that Mono claims it can run is its own C# compiler. Unless one asserts both that (a) a C# compiler is of no practical use and (b) that none of the other programs that mono can run is of any practical use, Davidson's conclusion does not follow. Davidson also admits that, Competition is good for the software industry, good for Microsoft in particular (as Adam Smith pointed out, monopoly is a great enemy to good management), and most importantly, good for consumers. Unless Davidson is now asserting that competition has no practical use, he just refuted his own conclusion.

    Further, we only need to find one practical use of mono to demonstrate that the conclusion is categorically wrong. That mono ships with commercial products such as Virtuoso suggests that there is at least one practical use of mono.

    On Davidson's second point, I think he misunderstands patronage. Microsoft does not currently fund mono in any way in which I am aware. They do fund some competitors to mono such as rotor and (at least at one time) Corel's attempt to bring dot net to Linux. His only example of Microsoft being a patron consists of a hypothetical chain of events that is exceedingly unlikely. I suspect that perhaps Davidson meant forbearance instead of patronage. If he did, he would do well to explain exactly how Microsoft's patents threaten mono because some people (including people far brighter than me) do not see any clear and present danger.

  • by neilcawse ( 752299 ) on Friday February 13, 2004 @05:20PM (#8274017) Homepage
    I work on the project [].

    Ive written a large chunk of the System.Drawing and System.Windows.Forms namespace. We currently have two "toolkits" that means our SWF copy will work on Windows and X Windows (using Xlib directly). Mac OS is thus supported.

    C++ improved on straight C, Java improved on C++, C# improved on Java. C# is becoming an important standard.

    We want to reuse software. We want to take existing software that is built to only run on Windows and run it on Linux or other platforms.

    We have much of the framework built to write gui applications using System.Windows.Forms. Despite peoples initial suspicions, what we have done works. We already have most controls completed, including textboxes, treeviews, comboboxes, tabcontrols etc.
    See [] for some screenshots

    You can now take a .net gui exe compiled in Windows, copy it to a Linux machine and run it and it works!
    The technology is excellent and open source. We need people to help us finish it off.

The first Rotarian was the first man to call John the Baptist "Jack." -- H.L. Mencken