Slashdot Mirror


Fedora Core 5 includes Mono

cyberjessy writes "Surprise! The Fedora Core 5 Release will include Mono in the distribution, in spite of Red Hat's opposition. In addition to the Mono runtime, it will also include Mono applications like Beagle and F-Spot. Is the Linux community finally ready to accept Mono? Mono is becoming increasing important due to Windows Vista, which has WinFX (the next .Net Framework) as its core API. This will mean that in future, all native Windows applications will easily run on Linux, with Mono. Will Mono achieve what WINE could not?"

42 of 463 comments (clear)

  1. Summary by Locarius · · Score: 3, Insightful

    Yes, off topic, but it's nice to see a well written and concise topic summary around here once in a while.

    1. Re:Summary by timeOday · · Score: 5, Insightful
      Yes, off topic, but it's nice to see a well written and concise topic summary around here once in a while.
      But how accurate is it?
      This will mean that in future, all native Windows applications will easily run on Linux, with Mono.
      I think that's far premature. Without even knowing yet what the catch is, I know there will be some. I just don't think Microsoft will let Windows apps seamlessly run under Linux, one way or another.
    2. Re:Summary by mrtrumbe · · Score: 2, Insightful
      Why you gotta be a hater?

      Seriously, what do you have a against the people developing mono, anyway? Is this one of those "you aren't a real programmer unless you code in C++" attitudes? What's your beef, man?

      Taft

  2. Will all applications be rewritten? by mwvdlee · · Score: 4, Insightful

    This will mean that in future, all native Windows applications will easily run on Linux, with Mono.
    Will all major Windows applications be rewritten to .NET?
    I just can't imagine Adobe, Autodesk, Corel, etc. translating their code to .NET in the near future.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    1. Re:Will all applications be rewritten? by anarxia · · Score: 4, Insightful
      All applications.. no chance. Some of them might.

      The problem is that MS (intentionally or not) left a lot of functionality out of the .NET standard libraries _AND_ made it almost trivial to call native code from within .NET.
      The end result is that most applications end up using Win32 DLLs directly so wine is still necessary.

    2. Re:Will all applications be rewritten? by ergo98 · · Score: 2, Insightful

      The problem is that MS (intentionally or not) left a lot of functionality out of the .NET standard libraries _AND_ made it almost trivial to call native code from within .NET.

      The .NET Framework is enormously comprehensive, and with additional free libraries you can do just about everything without ever knowingly touching "native" code (though of course most of the Framework is just a think veneer over native code, which was the optimal way of implementing it).

      Nonetheless, it was created as a development platform for Windows, and that includes the ability to call native code where it's the best option (just yesterday I hooked HTML Tidy into a .NET project, easily using the Tidy DLL library to process some HTML streams).

      The submission is flipping ridiculous - Not only is it completely ignorant of WinFX, but it's ridiculously optimistic about cross-platform capabilities, when the existing Mono framework is woefully incomplete for porting even basic WinForms apps.

  3. Easily run by DrXym · · Score: 5, Insightful
    Someone has obviously never tried running a .NET application under Mono. More often than not, it calls Win32 via PInvoke, uses an ActiveX control / COM interop, or does something else which renders it unusable on other platforms. Some apps might work, particularly command line tools, but it is by no means guaranteed or even probable.

    And this is probably what MS had in mind all along. And I don't see it changing either. Microsoft make it easy to slap together apps with their stack and tools. Mono makes it hard to do the same with theirs. That means Mono will constantly be playing catch-up with Microsoft, reaching for but never getting close to 100% compatibility.

    1. Re:Easily run by jonwil · · Score: 3, Insightful

      And that is where WINE comes in.
      The people behind Mono and the WINE people should work together so that Mono will use WINE for any PInvoke (either standard win32 APIs or something custom that comes with the .NET app) and hence the WINE implementation of COM & OLE for any ActiveX controls or COM interop.
      If the item being used (e.g. the API call being PInvoked) is a standard windows item, then the .NET app will run on any system that has a usable port of WINE and Mono on it. If it is a non standard item for which source code is available, again, it could be ported and run via WINE or WineLib somehow. (or if its closed source but documented, it could be cloned somehow)
      Even if the item being used is a closed source propriatory item for which there is no possible clone or use on non x86 platforms, Mono with WINE could still be used to run the whole thing on x86 linux

      The question is whether the WINE people are prepared to do what is necessary to allow Mono to use WINE for the bits it needs (including PInvoke, COM and the talked-about implementation of System.Windows.Forms which has to go on top of something looking like user32 so that all the support is there)

  4. Mono and python by amightywind · · Score: 2, Insightful

    As a Gentoo user I wouldn't expect any package to be summarily left out. What I worry about is for packages such like Mono to become deeply embedded in distributions and create lots of dependencies, like Python. Python is increasingly a boil on the butt of GNU/Linux systems. Mono could go the same way.

    --
    an ill wind that blows no good
    1. Re:Mono and python by m50d · · Score: 5, Insightful

      How is it a boil? It's a great language, very useful, makes the base system smaller overall (because so many things can be made much smaller in python) and is nice to be able to depend on it being available. Slating distributions for depending on python is like criticising them for depending on libc.

      --
      I am trolling
    2. Re:Mono and python by m50d · · Score: 3, Insightful
      Distributions depend on libc because they have to.

      No they don't. They could write everything in assembler and just use the kernel calls. They depend on libc because it's easier to write programs in C and use the library - the exact same reason they depend on python.

      --
      I am trolling
    3. Re:Mono and python by m50d · · Score: 2, Insightful
      You mean to say that you believe distributions like Fedora write all the applications they include? In most cases, they don't (except for things like the redhat-config-* family of apps). Linux distributors don't have a choice about including libc unless they want to rewrite ls and every other application written in C.

      And they don't have a choice about including python unless they want to rewrite every application written in python. It's exactly the same situation.

      --
      I am trolling
  5. talking about exaggeration by Anonymous Coward · · Score: 5, Insightful

    This will mean that in future, all native Windows applications will easily run on Linux, with Mono.

    How about

    This may mean that in the future, some native Windows applications will run on Linux, with Mono.

  6. One more thing by lheal · · Score: 2, Insightful
    to turn off in Kickstart.

    Patents are (supposed) to protect a novel way of doing something. If you can watch that something occur and come up with the same thing, how novel was it?

    I know that doesn't mean much once someone already has a patent and a lawyer, but still.

    --
    Raise your children as if you were teaching them to raise your grandchildren, because you are.
  7. Unless you use python by codepunk · · Score: 2, Insightful

    I use python for just about everything including machine automation at work. A distro without python would be absolutely worthless to me. Hell ain't the gentoo ports system built on python?(don't know for sure I don't use gentoo).

    --


    Got Code?
    1. Re:Unless you use python by amightywind · · Score: 3, Insightful

      Sadly the portage system is written in Python, which is my point. Gentoo depends on Python. A simple clean design would have Gentoo consist of a kernel, binutils, compiler stack, init scripts, and portage written in C and depending on the C library only. Instead the portage system pulls in Python for no particular reason. By all means use Python as an application language. Foundational system services should not be written in it.

      --
      an ill wind that blows no good
    2. Re:Unless you use python by dancallaghan · · Score: 2, Insightful

      I agree totally. Since the beginning of time, Unices have included Perl, because that's what everyone used for automation. Python has (thankfully) changed things, to the point where most distros consider Python as obligatory as Perl.

      Grand-parent is quite mistaken about how much of a "pain in the butt" (or was it "boil on the ass"? whatever) Python is though -- on my systems at least, it compiles faster and in less RAM (swap, rather) than Perl. And I can then rest assured that most Python scripts I find, or write myself, have access to a broad standard library included with Python -- unlike Perl, where it seems anything worthwhile written in it has a million stupid CPAN dependencies (thank heavens for g-cpan though!)

    3. Re:Unless you use python by gowen · · Score: 4, Insightful
      Instead the portage system pulls in Python for no particular reason.
      Portage is a complicated set of programs. Complicated programs are easier to write in python, because of the languages features, and complicated secure programs even more so. They're written in python because the developers consider it (one of) the best solutions to the problem.

      If you know better, and think it should have been written in C, I', sure the present developers would be very interested in seeing your port.
      --
      Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
  8. Re:From the article you linked to: by H4x0r+Jim+Duggan · · Score: 4, Insightful

    "The problematic parts are not the core technologies submitted to the ECMA or the Unix/Gnome-specific parts."

    The problem (software patents) can affect any part. If MS have claimed they don't have patents on "core parts", you cannot trust them. If the Mono devs have claimed that MS don't have patents on "core parts", they are saying something they can't possibly know.

    As well as including "according to the public statements of MS and the Mono devs", you should also read that sentence with the qualification: "for now anyway".

    if you say something is not well thought out, also saying why

    The reasons why their plan is not well though out are given in that article, in the last paragraph of that section, just after the list of the 3 strategies.

  9. Eh... no by adolfojp · · Score: 3, Insightful
    Mono is becoming increasing important due to Windows Vista, which has WinFX
    Mono is becoming such an important platform because it is such a great platform to develop for. If you like statically typed languages C# has no equal. If you like virtual machines, mono is the only one that performs well and is open source. If you like python, you will be able to compile python to bytecode for added performance.

    Winforms on mono is not complete yet and it will be a long time before a compatibility WinFX layer is ready. Mono is great for what it is, not for what it could be.

    Cheers,
    Adolfo
  10. Re:Will Mono achieve what WINE could not? by MobyDisk · · Score: 5, Insightful

    Actually it is quite easy because of one crucial difference. It's not the implementation that matters, it is the interface. And .NET provides a good interface.

    Even if Microsoft implemented the .NET APIs as wrappers around Windows APIs, the fact is that the APIs are clean and they are well documented. They follow the rules of encapsulation well. That makes it possible to re-implement them in a straightforward fashion. The problem with WINE is that the Windows API does not follow good design and rules of encapsulation, so the implementation is often exposed. WINE is not an implementation of an API as much as it is a reverse-engineering of one. But that problem goes away with .NET.

    Mono today works stunningly well today. The only issue is Windows Forms, because it isn't as well encapsulated as the rest of the API.

  11. Misleading by JanneM · · Score: 4, Insightful

    The whole "run Win-apps under Linux" really is a little misleading. That's not really the point of Mono for most users.

    The point, rather, is that it is a very, very nice development environment and a very pleasant language, well-suited for application development, as f-spot and others are a testament to. As a bonus, the apps written under mono will be easy to deploy under Windows as well, should it be needed.

    And when you use Mono to write desktop apps under Linux you aren't using anything Windows-related that isn't covered by the ECMA standard. You have no larger exposure to patent issues than you have under any other environment (possibly barring plain C and POSIX libs. Possibly).

    --
    Trust the Computer. The Computer is your friend.
  12. Re:From the article you linked to: by JanneM · · Score: 3, Insightful

    This more general patent problem is not limited to Microsoft and not limited to Mono. Java is no more protected, and neither is any other reasonably modern implementation of anything non-trivial.

    The only way to be _sure_ you aren't violating a patent is to turn off the computer and leave it altogether.

    --
    Trust the Computer. The Computer is your friend.
  13. really by petermgreen · · Score: 2, Insightful

    This will mean that in future, all native Windows applications will easily run on Linux, with Mono. Will Mono achieve what WINE could not?"

    BULLSHIT

    mono will run into the same problem wine and free java have. if developers develop for one implementation you will be hard pressed to make an alternate implementation that works flawlessly with the apps those developers develop.

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  14. Re:A brave prediction by molarmass192 · · Score: 1, Insightful

    After scanning the doc on LINQ, this is basically just a rip-off of Hibernate for Java. The problem with these highly abstracted APIs is that they mask too much native DB functionality. Unless you can code NATIVE sql, these kind of object abstractions will never be able to displace mid level interfaces like JDBC/ODBC. Even then, there's a whole vendor specific API that's only available in interaces like OCI for Oracle. I'm sure there's more to C# 3.0 than just LINQ, but this feature won't be the java "killer".

    --

    Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
  15. Re:From the article you linked to: by Anonymous Coward · · Score: 1, Insightful

    "The problem (software patents) can affect any part."

    As it can affect any software, not just mono, so what's you point?

    "The reasons why their plan is not well though out are given in that article, in the last paragraph of that section, just after the list of the 3 strategies."

    No, they aren't. The article simply points out why dealing with patents is always problematic. And again, it is only talking about the non-core parts.

  16. Re:The patent problems have not been addressed by Anonymous Coward · · Score: 1, Insightful

    And how do you know that these Microsoft patents on aspects of .NET, which may or may not even exist, will not be so broad as to cover aspects of similar programming projects like Parrot? Quite clearly, we should run away screaming from Ruby, too, because Microsoft might have a patent on something in there for all we know!

  17. Re:Since FC is going against RH... by christooley · · Score: 2, Insightful

    At the time when the company sponsoring the project and taking legal responsibility for the actions of the project feel comfortable that they are either safe from patent infringement or are willing to take on the patent's legal standing. NTFS is a clearly patented technology, as is mp3 and case history shows that judges have been willing to rule in favor of the patent holder.

    RedHat holds the strings on the Fedora project because it's RedHat's project. They pay for the equipment, bandwidth and a large portion of the developement community. It's their prerogative to do as they see fit, much like the Debian leaders control that project and Linus and team control the standard kernel tree. If you don't like, there are other distros out there, use something else.

  18. Re:The patent problems have not been addressed by hey! · · Score: 2, Insightful

    Well, According to the article ASP.NET, ADO.NET and Windows Forms are the issue. There are free alternatives to all of these technologies (e.g. gnome-db, gtk#), and programmers concerned with portability should use them. Some would argue the alternatives are better.

    Programmers who aren't concerned with portability should use whatever they like best, understanding that if they go MS then they might not be able to run.

    The only suckers in this are people who use (or implement) MS proprietary APIs and assume they're going to be free. If you want a free API, use a free API.

    I can also see a stragegy where design patterns wrap alternative proprietary and free components, like SWT and Hibernate in the Java world. While something like SWT wouldn't make much sense for app developers, it might be useful for developers of visual components. Hibernate is already available for Mono.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  19. Re:Heh. by Hosiah · · Score: 3, Insightful
    linux to be able to run .Net apps,

    Hey...wait a minute. Do you mean Net apps like in "Visual Basic Script-Kiddies EZ Virus Kit"? Maybe this isn't something to dance in the streets about after all...

  20. Re:Idea - don't write windows native apps by tacocat · · Score: 2, Insightful

    You are half right.

    I personally believe that most projects spent on emulating something Microsoft has done is a waste of time. Historically Microsoft has had very little contribution to the computer industry that has any significant longevity or impact outside of their own interests.

    With the exception of MONO, I am not aware of any projects to emulate Microsoft versions of languages (eg: Visual Basic). In contrast, Perl, Python, Ruby, Lisp, Java, C/C++ where all languages that were developed someplace other than Windows and have managed to remain rather viable to date. And they have some degree of cross platform compatability depending on the platforms and the constructs of the language used.

    If you look at their other products: Office was nice but it's getting a bit out of hand. But OpenOffice covers >90% of the functionality. And it's something that is available on and compatible with more OS platforms than Office. Long term, it's ultimately a better buy.

    About the only arena that Windows might have advantages is with IDE's. But I'm not a big fan of most of the IDE's out there. They tend to assume your code style and ultimately you end up debugging your code on the contributions of the IDE rather than your own contributions or the contributions of others. When you spend time trying to fix your code because of your Environment, it's time to move to a new environment. But that's just my opinion. A lot of people absolutely love their IDEs.

    But I have to disagree with the conclusion that you can just write everything in Java to make it cross platform compatable. Yes, you probably can. But Java just isn't that special anymore. It's not the only language that's cross platform capable. It has never really lived up to it's proclaimed write once run anywhere mantra. It's done well, but it's never been a guarantee. More like, write once, test everywhere, hope you get lucky.

    When you compare the speed of Java (start up and runtime) and the fact that it's compiled to the newer (alternative) languages like Python, Ruby (perl as an alternative) there really isn't much left for Java to do that's worth the overhead in development time and resources. My past experience with Java is that I have to keep watching out for Out of Memory errors on applications. This is the only programming language that I have experienced an Out of Memory error in the past 5 years.

    I'm starting to think that languages that are not developed by companies are better than languages that are developed by companies, regardless of their intentions.

  21. Re:The patent problems have not been addressed by afabbro · · Score: 4, Insightful
    What is this .Net related lock-in that you are speaking of?

    Hey, I'd like to develop a .Net program and run it on Solaris/AIX/Linux/etc. Oh, I can't? Gee, seems like I'm locked in to the Windows platform with .Net.

    Compare and contrast with Java. Or open source code. Or a lot of closed-source code, for that matter. Just like Visual Basic, if you write in .Net, you're only writing for Windows.

    --
    Advice: on VPS providers
  22. Re:Vista will muddle the developer landscape by smallpaul · · Score: 2, Insightful

    And the pointy-haired-bosses will continue to shout that *all* versions of Windows must be supported. That means more development, more testing, more installers, more deep sighs.

    You act like this is a new problem and not just the situation that the industry has been in since the beginning. What about supporting old versions of Linux? Old versions of DOS? Old versions of Java? Old versions of Python?

    The "write once run anywhere" of Java is becoming more attractive all the time.

    Right: Java doesn't have a version skew problem at all. Not at all. It's never the case that a minor patch to the JVM will break a bunch of programs. Never. If you believe that you're living in a fantasy world.

  23. Completely missing the point by GauteL · · Score: 4, Insightful

    The inclusion of Mono in Fedora is the first step towards healing a rather serious potential rift in the GNOME world. Up until now, you could not develop a Mono-app with GTK# and expect it to work on all major updated distributions without added software.

    Don't worry about Windows compatibility, Mono is cool enough on it's own, especially because Novell/Ximian has done such a good job with the Mono-wrappers for GNOME-technologies. Hopefully this will see more GNOME-development.

  24. Re:sluggish by namekuseijin · · Score: 2, Insightful

    "Mono is not quite here for prime time - it is slow and sluggish"

    that never hampered java and .net themselves...

    --
    I don't feel like it...
  25. Re:Some interesting stuff coming in .NET by EachLennyAPenny · · Score: 2, Insightful

    Java has lot to catch up? Even Cocoa has this feature which _now_. It is called "Predicates" (http://developer.apple.com/documentation/Cocoa/Co nceptual/Predicates/index.html#//apple_ref/doc/uid /TP40001789). And i think Apple has much fewer developers than Sun.

  26. Re:A brave prediction by Anonymous Coward · · Score: 2, Insightful
    LINQ is more than just a database abstraction framework, although that is part of it's functionality. LINQ is the implementation of lambdas and extension methods together to produce an SQL-like syntax with which you can query any form of enumerable object, from an array to a collection of classes to XML to a database.
    int[] numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    var query = from i in numbers where i % 2 == 0 select i;
    foreach(int i in query) { Console.WriteLine(i); }
    var query2 = numbers.Where(i => i % 2 == 0);
    foreach(int i in query2) { Console.WriteLine(i); }
    Both would list all even numbers in the array. The SQL syntax is sort of backwards, a decision made because intellisense features would function better if the source is known first. The VB9 team has decided to follow SQL more closely in it's implementation.

    Any way you dice it LINQ provides an interesting new approach (for procedural or OOP languages) to tackling querying data, regardless of it's source.
  27. Such as? by Numen · · Score: 2, Insightful

    Sorry I'm going to have to call you on this. After years of developing commercially with .NET I've never once had to make a native call. I'd be interested to know what activities you think routinely require this.

  28. LINQ is not MSSQL-only by ravenlock · · Score: 2, Insightful

    Wrong. If you watch the video of Anders Hejlsberg demonstrating LINQ, you'll notice that it's a language feature, not a MSSQL-only layer, and he actually demonstrates using LINQ not only with MSSQL but XML documents and arrays (IIRC) too.
    Miguel De Icaza's comment on the video was "Anders Hejlsberg is a man of excellent taste"

    The video is a bit on the long side, but it's well worth it if you're interested in the topic :)

  29. You must be 1st worlder by aled · · Score: 2, Insightful

    Governments in countries with a high level of poverty are not going to do anything that benefits the rich at the expense of the poor -- they will be deposed quicker than you can spell AK-47.

    Clearly you don't live in the third world. Things are a lot more complex than that.
    In general governments are very big beasts. One sector can be pro Linux and another is just buying MS because is what they use. And we are having lots of pressure from USA and other countries to introduce patents on everything, from software to GM seeds.

    --

    "I think this line is mostly filler"
  30. Why I Hate Desktop Enviroments by nuintari · · Score: 1, Insightful

    This is why I hate Gnome and KDE. Both of them are just windows cloners, and they are dragging Linux down with them. More and more, you can't install linux without either a pile of kde or gnome libs along with it, or you end up neutering the system. I don't get it, I've read things Miguel de Icaza has said, and the man is unbelieveably in love with Microsoft, to the point that he thinks gnome and Linux need to be more like microsoft products. So, why doesn't he just run Microsoft's stuff, and stop tainting an otherwise fine OS with crap like Mono?

    My god, gnome and kde have managed, over the years, to eliminate anything goo about the average linux distro, simplicity, elegance, ability to run on super old hardware, and replaced them with bloat, complexity, and insecurity, all in the name of "user friendliness." And the distro's have gone along with it, tying themselves more closely to whichever camp they deicided to align themselves to in the old gnome/kde flame wars. I got news for ya, the only people who came out clean on the other side of that shit storm were debian, slack, and the bsd's.

    Sorry, if I wanted user friendly, I would run Windows. But I never expected the Linux crowd to turn their backs on their strengths in this mad quest to be more like what all you zealots claim to hate. Desktop Linux may very well end up being a Windows killer some day, and it will be just as bad in the end, if not worse.

    Glad I ran off to BSD land, where I have karma to burn slamming why I went from loving, to hating linux almost overnight. Go ahead, mod me down, I said something critical.

    --

    --Nuintari

    slashdot : where an opinion can be wrong.

  31. Dangerous by kaffiene · · Score: 2, Insightful

    Mono is a trojan horse. Letting it into Linux distros is BAD. We're inviting patent issues into Linux which is stupid.

    Well, time to switch to Debian - I *will not* run that crap.