Slashdot Mirror


Mono Project Releases Version 1.0

theblackdeer writes "Just poking around the go-mono.com Mono website; it's now the multi-colored mono-project.com. Even better, it updated before my eyes to include the 1.0 release. Screenshots are (slightly) updated, too. Mono 1.0 includes the Mono Develop IDE (based on SharpDevelop, I believe). Download now and start your GTK# engines!" Alliante adds "You can download the Release Notes and the Packages on their website."

16 of 517 comments (clear)

  1. ah, the joys of playing catch-up by jbellis · · Score: 4, Insightful
    ironic that this comes just days after MS announces that whidbey and the next-generation .NET framework hit beta 1.

    I'm cheering for the Mono guys but I don't see how they can avoid being also-rans in the compatibility race.

    1. Re:ah, the joys of playing catch-up by miguel · · Score: 4, Insightful

      Like Alan Cox said: "Free software is always late", followed by something like `The moment you write the first line of code you are already late: you need the feature, thats why you wrote that line'.

      Everyone of your favorite projects was late or playing catch up: Samba, OpenOffice, Gnome, Linux, glibc, gcc, gdb, CUPS.

      Miguel.

    2. Re:ah, the joys of playing catch-up by Sunspire · · Score: 4, Insightful

      First, Mono already supports a lot of the stuff coming in Whidbey (generics for example).

      Second, even if Microsoft killed their .NET effort tomorrow it wouldn't change the fact that we now have a kick-ass development platform for Linux. Everybody needs to take a look at the two software stacks of Mono.

      Wether Mono has feature parity with MS .NET is not the most important thing, neither is supporting Windows.Forms. Mono is good enough to stand on its own, as the next generation Linux development platform. Interoperability with Windows is just sugar on the top. Where do you see the Linux desktop being five years from now? I truly hope we're not still at the time writing our applications in C, as we do for the GNOME desktop now. Unless Sun steps up to the plate to release their JVM under a open soruce license, Mono is pretty much our only hope to modernize our development environment in any reasonable timeframe.

      Of course, some will say we've already got Python, or Ruby or whatever. But I say I want to program Python in Mono.

      --
      It's like deja vu all over again.
    3. Re:ah, the joys of playing catch-up by goodviking · · Score: 4, Insightful

      I used to agree with you, then I read "How Microsoft Lost the API War". The thing that really struck me was that fundamentals components of .NET will be abandonned with Avalon . This is why I now think that open source .net is a masterstroke. MS is basically asking/forcing their developer base to adopt a now open sourced, platform neutral enviornment. In a few years, they're going to break the whole model and say that to play, you have to retrain and recode major portions of your work. At that point, it becomes more cost effective to stick with mature solutions that work, not play catchup to the latest and greatest. "Look, Shinny Things" is not a better business strategy than compatibility and reuse.

  2. Re:How important is this for Linux? by thelexx · · Score: 4, Insightful

    Dear God NO, the last thing I want is the Linux software landscape to degenerate into a million shitty little utilities that all want $20-40 from me for something I probably only need to use once.

    --
    "Gold still represents the ultimate form of payment in the world." - Alan Greenspan, 1999
  3. Debate all you want by Stevyn · · Score: 4, Insightful

    While people can debate about this, I do think it's something important for linux. It says that no matter what one company can do to try to make their development platform closed and proprietary, the open source community can retort back with their open standards. Yeah, this is just an attempt at cloning yet another microsoft product by the open source community, but when the world uses microsoft and they're distributing this for free, it hardly is as bad as one software giant cloning say...word perfect. I haven't tried mono yet, but when the day arrives when I can run a windows app and linux app without jumping through wine I'll be a happy linux user.

    I really think operating systems have become a comodity anyway. To me, linux, windows, and mac don't mean much but the software that runs on them. Sure, making different versions like mozilla does works now, but you can't expect companies like adobe to ever do the same. I think running things off the same compiled code is where software should be headed. This would make the argument of not being able to switch to linux because of lack of supported applications moot.

    This is the first time I've ever thought of .NET as something positive.

  4. Re:Why .NET and not Java? by Sunspire · · Score: 4, Insightful

    Java, as it is now, is a complete non-contender in the area Mono is focusing on, which is Linux desktop apps. First, there's no complete open source Java implementation, no distribution ships Sun's JVM. Sure, you can download the JVM for free, but how can you expect us to build a desktop around the thing in that case?

    If these are the best justification for .NET over Java, then they are pretty weak.

    There's a lot of reasons to go with .NET over Java, and vice versa. This argument will likely never die. Ultimately the difference isn't that big. That said, I personally prefer the direction .NET/Mono is taking and I think Sun is foolish to be resting on its laurels. At this rate Mono will become a major force in the Linux landscape and Sun is doing nothing, five years from now they'll still be wondering what the hell happened.

    Which brings us on to the second justification
    for .NET over Java, native GUIs, which is even weaker. Java-Gnome


    Java-GNOME is completely dead. Java on the desktop, except for Eclipse and SWT (no thanks to Sun) is completely dead. GTK#/Mono has a lot of momentum and Ximian/Novell throwing their weight behind it which is not to be underestimated. Guess which is more likely to have support two years from now, Java-GNOME or GTK#?

    --
    It's like deja vu all over again.
  5. Congrats, mono is impressive by Ars-Fartsica · · Score: 5, Insightful
    The mono team has released an incredible amount of code in a relatively short timespan. The mono codebase goes beyond a compiler and runtime - graphical bindings, documentation, and a full IDE are all being rolled out as one more strong alternative in the linux development world. Added to which there are already "for real" apps out there you can use today that are not just toys - for example the Muine music player.

    Too many people will get hung up over the Microsoft angle and notions that mono is out to wipe out all other development toolkits. This is nonsense. What the mono team has done is upended a Microsoft strategy - that Windows is differentiated because of the .Net platform. Now we have a level playing field on top of all of the other inherent advantages of open source.

    Bravo and thanks mono team.

  6. Re:Some please explain to me by Tony · · Score: 4, Insightful

    I'm probably feeding a troll, but I'll assume you are sincere.

    Mono was developed because Miguel thought Mono was kinda cool, and because he could. Beyond that, though, there are a few other important issues.

    Most importantly, Mono is vital to the future of Linux and other open-source projects. This was a blatant attempt by Microsoft to reign in wandering developer mindshare. Also, it is part of their strategy to bring the application space back from the web, to the desktop-- Microsoft's desktop.

    Also, although most geeks realize that Microsoft is not to be trusted, and that generally they produce shoddy (or downright dangerous) software, most of the rest of the world doesn't understand the danger. So, for a lot of manager-types (you know the ones, knuckles dragging the ground, sloped brow furrowed in concentration while parsing simple sentences, signs your paychecks with an 'X'), they see this as "Microsoft's next big direction." Many will choose to follow that direction, because they love Power Point.

    And finally, there's the issue of choice. Java is Okay, but there are issues with it. C# has a different set of issues. Both suck. Both are great. Both cower before the awesome power of LISP. Different developers like different things in a language. Some languages suit our personalities better than others. Me, I'm a LISP and Perl kinda guy. The guy sitting next to me likes C and PHP.

    There are potential pitfalls with C#, but at the moment that is all they are: potential. And in most cases, those problems are perceived, and not actual. Now .NET is deployable on any platform with a CLI, like Mono. Nobody pays Microsoft anything, though it doesn't put them at the disadvantage that Java would.

    But ultimately our goal should be to produce damned good software, not just destroy Microsoft; we should concentrate on building up, not tearing down.

    --
    Microsoft is to software what Budweiser is to beer.
  7. Mono:.NET == Apache:IIS == Firefox::IE by Dwonis · · Score: 4, Insightful
    See the Mono Licensing and Patents FAQ:
    Mono implements the ECMA/ISO covered parts, as well as being a project that aims to implement the higher level blocks like ASP.NET, ADO.NET and Windows.Forms.
    The Mono project has gone beyond both of those components and has developed and integrated third party class libraries, the most important being: Debugging APIs, integration with the Gnome platform (Accessibility, Pango rendering, Gdk/Gtk, Glade, GnomeUI), Mozilla, OpenGL, extensive database support (Microsoft only supports a couple of providers out of the box, while Mono has support for 11 different providers), our POSIX integration libraries and finally the embedded API (used to add scripting to applications and host the CLI, or for example as an embedded runtime in Apache).

    The nifty thing about this is that Mono has the potential to be bigger and better than the .NET Framework, and we don't actually *need* .NET to make good use of Mono.

    The way I see it, Mono could end up gaining more market share than Microsoft's implementation, and as long as we don't tie ourselves to the Windows-specific APIs, there's not a whole lot Microsoft could do about it!

  8. Re:Free as in 'Free from vendor lockin' by MenTaLguY · · Score: 5, Insightful

    What I think they should do is embrace and extend the the .NET framework *NOW*, add features and support for things that the Windows .NET does not have. But also bring the extended version to Windows itself.

    That's precisely what they've been doing all along. Until recently, they've just been very quiet about it...

    You'll notice lately that Miguel's been talking about "API stacks" -- i.e. Gtk# et al versus Microsoft's SWF et al., both built on the safe substrate of the ECMA standard. They've been working on that stuff all along, but until recently not talking about it separately.

    See also this post.

    I believe they're offering packages without any of the Microsoft-specific bits now (to make e.g. Debian happy). And yes, this stuff works on Windows.

    I don't think Microsoft quite realizes what's hit them yet. Embrace and extend again, but this time it's Microsoft on the receiving end.

    --

    DNA just wants to be free...
  9. Re:Why .NET and not Java? by iwadasn · · Score: 5, Insightful


    That still seems a little weak. Most of the things you are trying to solve are either vacuous, or simply problems that should be solved at the VM layer without causing the users any additional pain.

    Multi-Language: Please, they're all the same language designed to look like other languages. Java has multi language support to (Jython). This is not a fundamental reason.

    Value Types: Use escape analysis and a better GC. This is a hack so programmers can give hints to a stupid GC.

    Generics: Where are the C# generics? The version we're using at work doesn't have them. Java Generics will arrive first, but be worse off in the beginnnig. C# will arrive later, and initially have a better implementation. Java should fix their implementation in a future revision of the VM and bytecode standard.

    Bindings: Spin the wheel and see which function gets called today. Not much needs to be said here, but there's something to be said for the precision of the java bindings as opposed to the pattern matching of the C# bindings.

    ECMA: And patented by Microsoft. Fact it, Microsoft will embrace and extend it, or threaten lawsuit to keep their monopoly. The ECMA won't do jack about that.

    C# language: The only even marginally valid claim. However, the lack of checked exceptions and sub-standard stack traces are pretty nasty. I don't think C# is a step up in any meaningful way, unless of course you like writing crappy code and just can't bear to know which exceptions you should be worried about. If that's the case, VB6 will always be waiting.

    I'm not saying that the C# people are stupid, or anything like that. But this whole endeavor seems to demonstrate a monumental lack of foresight. Why fragment the world even further rather than uniting behind a standard the Microsoft doesn't own?

  10. Open Source Gaming... by Psymunn · · Score: 4, Insightful

    One of the problem with Shareware (or cripple ware) and open source is that it's generally just as easy to distribute the shareware version as the complete version, so it only takes one person to purchase a product and give it to everyone.
    I think this impacts open source game production because, frankly, it's hard to find a way to give the source to the community and still ensure some kind of revenue stream.
    What I figured is, why can't someone release a game, GPL all the source code, but claim that the artwork and level data are copyrighted and, please, feel free to give your buddies a copy, but don't use the art/leveldata in a commercial release
    I think that, while not nesseccarily in keeping with the free software ideology, it is in keeping with the open source philosophy (and yes, bare with me, i know that free is not cost free and open is not simply saying 'check out my code')
    By providing my source code to whomever wants it, I make it easier for the next guy not to have to reinvent the wheel. But the specific game data (leveldata, game sprites) are what makes this game unique (if only at the surface level) and are useless to a programer who wants to use my code to write his own game.
    Such a license would allow one to release a Shareware version of the game (akin to Doom or Commander Keen, where you get an episode, not some software that expires over time and does half of what you want) which allows for commercial distribution, and a full version which the author can sell.
    Of course, maybe that makes the author a capatalistpropriatarypigbastard, but i'd like to hear feedback on the idea...

    --
    The Neo-Bohemian Techno-Socialist
  11. Re:Why .NET and not Java? by Sunspire · · Score: 4, Insightful

    Multi-Language: Please, they're all the same language designed to look like other languages. Java has multi language support to (Jython). This is not a fundamental reason.

    The big difference is that .NET/Mono is actively moving towards a general purpose VM whereas the JVM is not. Sun will officially support other languages when... well never. Today, you've got languages like Python/Ruby/Haskell being targeting at the .NET CLR, but look at the big picture. What about CLR version 2, 3, 4... ? The potential is huge. Parrot is the only thing even remotely like it the open source world, and that's only for dynamic scripting languages at the moment. Don't count out a Parrot to Mono CLR compiler yet either! The multilanguage feature has the potential to unify all the minor languages to a single CLR. Right now we're writing GTK bindings for C, C++, Python, Ruby, Perl, etc. With GTK# (despite the name, it's more like GTK-Mono IMO) every language targeting the CLR gets up to date bindings!

    Where are the C# generics?

    In Mono.

    --
    It's like deja vu all over again.
  12. Re:What about the patent issues? by Teancum · · Score: 5, Insightful

    First of all, Microsoft has been directly helping the Mono project, in terms of technical assistance. While this doesn't solve the patent issue, it does show a certain culpability on the part of Microsoft, and it would be a big fly in the ointment if MS decided to file a lawsuit.

    Also, Mono is much closer to a "clean-room" development model, based almost exclusively on the API libraries and reverse engineering of data formats to become more compatable with MS function calls. Although Mono started with the core components being compiled with the free dotNet compiler from MS, it has been self-compiling for some time now.

    The anti-trust issues won't help out MS either if they file a lawsuit against Novell. Novell has some relatively deep pockets, and it would be in their interest to get into a legal fight with Microsoft, particuarly one that MS initiated. From a sheer anti-trust viewpoint it would not be a good thing for MS to engage in something like this directly, and it could only be a direct threat from MS that would amount to be worth anything, unlike the SCO fiasco. No hiding behind serrogates for this fight. Furthermore, MS would risk a counter suit from several parties (Miguel to start with) if they tried to get the software pulled, potentially costing MS quite a bit of money.

    Almost all of mono is derived from the ECMA documents, which also state rather clearly (with formal waivers signed by Microsoft) that anybody is free to create their own implementation of those standards.

    Where the Mono Project could run into problems is if somebody (in a really stupid moment) decided to include some "shared source" source code from MS into Mono. This would be the same issue that Linux is facing from SCO, and when that goes to court it will have a final court ruling on that issue. If SCO wins by some act of God, it will become a huge issue for almost all open source/free software projects, not just Mono. I don't know if the courts have the political will to shut down a multi-billion dollar industry that easily over a technical ruling. Besides, the remedies to fix an issue like that are very easily done, and can even be done in a very pristine "clean room" atmosphere to replace any code that caused problems like that.

    I would have no problem testifying in court that Mono and dotNet are two totally different pieces of software, from benchmarks and I/O behavior to variable names and even Mono-only software classes.

    What is going to be interesting is that Mono, now that they are at version 1.0, is going to be in a position to actually drive mindshare with this system. I predict that you will seem MS backporting some of the mono class features (including method names... even a mono.* class naming system) into standard dotNet. The question would then become who is driving the development for whom?

    Yes, I dont trust Microsoft, and won't rely upon their goodwill. True as well, if you had developed a completely independent virtual OS (like dotNet or Java), there might not be as much to argue here, but then again, you might even be in more danger of violating a patent, simply because you weren't aware of it.

    I think a much bigger threat for a submarine patent that would threaten Mono would come from Sun, or even some silly 3rd party that filed a patent 5-10 years ago covering virtual operating systems. The concern then is not with Microsoft, but with the USPTO instead.

  13. Re:How important is this for Linux? by Anonymous Coward · · Score: 4, Insightful

    People have to eat. As far as I can tell, food isn't free. Until food is free, I will charge a reasonable fee for the use of my software. If the software is terrible, I'll give it away - or, more likely, not even release it. I have hundreds of projects that never made it to a release-quality state and would never release them without serious effort on my part.

    So, I cheer on anyone who encourages closed-source commercial development for Linux because food isn't free and people have to eat.

    Now, before you rate this down, here's what I would recommend the Linux community seriously consider. There are a large contingent of commercial organizations who would port their Windows applications over to Linux in a heartbeat if there was a Windows-like registry for Linux with the sole purpose of accomodating commercial applications. This registry would have to be protected by the OS itself and require Linux users to generally agree to not touch it (read: crack it). I don't care how the registry is implemented, but organizations want the ability to enforce 30 day trials on systems. The lack of a centralized, secured repository of information really deters commercial interests from porting high-quality software from Windows to Linux. There's a lot of Linux software for Windows, but over 90% of it seriously lacks in an area called usability - Oh, I've heard of "great strides" being taken, but every once in a while (every 3-4 months) I'll randomly try a distro. - Fedora Core 2 being the latest since it looked pretty interesting, but the first screen I encountered after the unusable installation put the username and password entries on separate screens...this is what I mean by usability - ease-of-use, the command-line login is more usable than the new graphical login of Fedora. The result? I went back to Windows and I'll wait a few months and try another distro. or a ported application to see if usability has improved any. BTW, I'm one of those people who makes recommendations for software/hardware combinations. To win me over to Linux is going to take some serious effort in the area of usability - effort I have yet to see. (And I know my way around enough of Linux to be dangerous, so don't write me off as some idiot Windows user).

    That said, I also want every company that ports to Linux to agree that if a product goes EOL (End Of Life), the source code to that product becomes Open Source under a compatible license. This, IMO, is fair and reasonable. See, I like to develop software first and once I've finished what I've worked on, then I receive input about it. However, until I am completely done working on the source code, I don't want anyone else to touch it, let alone see it. Just like an artist, I only want people to see the finished product, not some half-finished masterpiece. It is only fair to existing users of the software to see the source code if it is no longer being developed. As such, if I EOL a product in the product line, I'll either migrate existing users to another product or open the source code. One thing I won't do is leave them hanging without options.