Slashdot Mirror


Portable.NET Now 100% Free Software

rhysweatherley writes "Finally after months of hard work and bucket loads of caffeine, the DotGNU community has finally got Portable.NET to the point of building our C# libraries on many Free Software platforms with our own C# compiler. This is a big deal! Portable.NET is now 100% pure Free Software, with no dependencies on third party C# tools. The compiler, which is written in C, bootstraps off gcc, so there are no icky 'how to compile the compiler' problems. And it's fast! The DotGNU team consists of lots of contributors, many of whom are coincidentially named 'Rhys Weatherley,' but this wouldn't have been possible without the support of the DotGNU community, especially the Weekend Warriors. .NET is not the only thing we are doing. We're playing around with JVM and Parrot (of perl6 fame) backends to the compiler. And we have a C compiler front-end that generates pure bytecode apps that can run on any decent CIL implementation (Portable.NET, Mono, etc). We are about 95% of the way towards our first milestone of an ECMA-compatible C# implementation. There are lots of things still to be done in the low-level C# libraries, runtime engine, and the compiler. So, if you have some time on your hands, and like messing with languages and stuff, like yours truly ... have look and maybe have some fun!"

20 of 422 comments (clear)

  1. DotGnu and Mono by fizz-beyond · · Score: 5, Interesting

    So how do the two projects, DotGnu and Mono compare? I could be way off base here, but it seems to me like yet another of the great OSS wars. You know, vi and emacs, kde and gnome, etc.

    Can someone please tell me I'm wrong and explain why?

    --
    Blink
    1. Re:DotGnu and Mono by nd · · Score: 2, Interesting

      Mono is a joint project of Ximian and the larger community. Mono's commercial nature also limits community participation.

      Can you back this point up? My understanding is that Mono has a LOT of community participation, where Portable.NET is for the most part a one-man show. It seems to me that the "community" is largely backing Mono.

  2. objective analysis by galacticdruid · · Score: 4, Interesting

    You know - I'm a tried and true perl and open source hacker and believer. But then I got this job doing .NET and c#. It was hard at first because I've been of the opinion that m$ really sucks because they're a monopoly, they extort $ out of schools, etc. etc.

    But in terms of pure technological merit, c# is a damn good language! Especially if you use the vs.net ide, you can get stuff done way fast. So keep an open mind w/ this language. It's very exciting to be able to build stuff using vs.net, and deploy on linux.

    Keep up the good work on this project guys!!

    --
    we are all one consciousness experiencing itself subjectively - bill hicks
  3. looks good by Anonymous Coward · · Score: 1, Interesting

    I like C#. Java is too academic (3 lines just to loop through members of an enumerable object? Bleh.). C++ is just plain annoying. C# is quite usable.

    And since it's an open ECMA standard, it's possible to use a Free implementation and remain 100% safe from Microsoft lawsuits. (You know, Microsoft had to beat Java's "openness" [why are you laughing?] by being even more open).

    Now.. anybody wanna write a JIT or a native compiler for Mac OS X??? C'mon, I wanna write Cocoa apps in C#!!!!

  4. Maybe Portable.NET could be used to bootstrap Mono by J.+J.+Ramsey · · Score: 3, Interesting

    Since Mono is written in C#, it needs a C# compiler in order to be compiled, while Portable.NET is written in C, so it just needs a C compiler, like gcc, to be compiled. If Portable.NET gets good enough, maybe it could be used to bootstrap Mono instead of the Microsoft C# compiler.

  5. Hmmmm by the+eric+conspiracy · · Score: 5, Interesting

    I guess I have some rather severe misgivings about this - how useful is this going to be given the lack of the proprietary MS libraries that you are going to need to run real-world applications, or move code in a portable fashion from one machine to another?

    It's nice to have something like a this in the free software regime from a technical perspective, but is it really ever going to be anything but a little sister to the Microsoft version? Won't that reality diminish the corporate view that Linux is really just a hacker's toy, and if you want the real thing get Windows?

    Interoperability and portability are good, but interoperability really occurs at the protocol level, and portability requires libraries.
    I can see this resulting in are misleading market claims from Microsoft saying things like Lookie Here C# code is portable just like Java code !!

    One good thing that could come out of this is that it might force Sun to loosen it's grip on Java a bit so that we get more serious open JVM's etc.

    1. Re:Hmmmm by Gopal.V · · Score: 2, Interesting

      >> Microsoft saying things like Lookie Here C# code is portable just like Java code !!

      They already built Rotor for that .... We're now
      plain mean competition ....

      Especially they cannot take new patents on this
      coz we hold prior art as on today !!

      When MS invented .NET, we have to replace it with
      DotGNU to prevent MS from doing a "Run this
      binary and trust us !" strategy

    2. Re:Hmmmm by Simon+Kongshoj · · Score: 2, Interesting

      Given MS' track record and general sentiments towards open or free software, I seriously can't see how anyone can think they don't have some sort of plan to make life difficult for .NET on non-Windows platforms -- or, at least, an ulterior motive with .NET in general. Killing Java is certainly one, but I doubt it is the only motivation they have.

      Perhaps I'm wearing tinfoil, but I can't help but think that Mono and DotGNU are somehow being played the fool by Microsoft.

      --
      Six sick .sigs, the Number of the Beast!
  6. Re:Never thought this day would come by fferreres · · Score: 4, Interesting

    Now I see an article praising those who work hard to let Microsoft's .NET succeed.

    1) The language and the technology may be good.
    2) Creates more choice for the programmer.
    3) Will have support (from Microsoft, so companies will demand it)
    4) Will be known to many developers, that will expect C# support. Probably, you couldn't care less, but let's not forget some Windows apps are most desired under Linux or any os.
    5) Nobody is talking about taking away options
    6) .NET has a nicelely laid out set of classes, though you may not like it, some people are really productive with them

    The things that I don't like are the suit fear, or bad moves that Microsoft may have in mind to leverage they IP on their .NET or kids learning C# in college as "the language".

    --
    unfinished: (adj.)
  7. Dangerous Because of Microsoft Patent Claims Trap by NZheretic · · Score: 5, Interesting
    Microsoft's CEOs have made it "patently" clear that they intend to restrict competing .Net implementations by cultivating Microsoft's patents, such as United States Patent Application #20020059425 "Distributed computing services platform" which covers the design and inter-operation of .NET based implementations.Although there is prior art examples of individual technologies such as the JVM etc, Microsoft patents such as the one mentioned, define and claim the interoperation of the components, in such a way that any re-implementations will be sure to be covered by the patents. This remains true even for the Microsoft specs submited to standard

    In comparison, Sun has granted the Apache and all open source developers FULL access to the specs, test kits and granted the full rights to develop competing products under the JSPA. Sun mhas also fully opened up the Java development standards process under the new Java Community Process (JCP).

    There those that claim that .NET is open to re-implementation, but until Microsoft make a simliar public legal declaration to Sun's JSPA, any .NET reimplementation represents a pending legal mindfield.

  8. What about GUIs by enos · · Score: 1, Interesting

    From what I understand, the only 'portable' stuff in .net can only have a CLI. Rotor (MS' 'shared source' implementation of .net that runs on windows/bsd) doesn't have winforms, and I don't know how far along Mono is at their implementation.

    How about beating MS at their game and make a free, cross-platfom GUI environment for .net? Something to compete with winforms, but portable. Something compile compatible with Qt or GTK would be great.

    I bet companies would rather target this because without much extra effort they have the same software running on Windows/*nix/Mac. We get full featured ports released at the same time as their windows counterparts.

    We also get take some power away from MS, since the gui would be open.

    Looks like Win/Win to me.

    --
    boldly going forward, 'cause we can't find reverse
  9. Re:As a new c# programmer... by Ctrl-Z · · Score: 5, Interesting


    First of all, most of the topics you mentioned are being implemented as part of the .NET Framework class libraries.
    ADO.NET is in System.Data
    XML is in System.Xml
    LDAP is an open standard that Microsoft does not own.

    Developing these class libraries is part of the Mono project.

    The language (C#) is not dependent on these vendor-specific libraries. It is quite easy to write code that will run on both Windows and Linux that does not involve any of them. Of course, it may not do what you want, but that's why Portable.NET/Mono/whoever is building the things they are.

    It's not so much "why a developer would want to write a .net program in Linux" as "how does a developer make a .net program written in Windows run on Linux".

    Just my 2 cents.

    --
    www.timcoleman.com is a total waste of your time. Never go there.
  10. What? by Anonymous Coward · · Score: 2, Interesting

    How did this get a score of 4? .NET will always be faster than Java on Intel because of endianness issues? There are so many other factors affecting performance that endianness issues don't even come up unless you are writing a streaming video codec or something. Why does this author hate java so much? .NET is not so different from Java in many ways. Java is great stuff.

  11. Yes a limit ;) by manyoso · · Score: 4, Interesting

    This is all true, but right now people who choose to help or participate in the DotGNU/Portable.NET project are precluded from participating in mono-hackers which is the mailing list devoted to technical discussions about Mono. That is a clear limit placed upon the Mono project because of it's affiliation with Ximian. Miguel does not want Mono developers who are also affiliated with Portable.NET on the mono-hackers list because of confidential information relating to contracts Ximian has, or will have, with various groups. This limits Mono developers, who are also interested in Portable.NET, from contributing to technical discussions about Mono.

  12. Re:As a new c# programmer... by tenchiken · · Score: 3, Interesting

    More to the point, the Mono project started using WineLib (not all of wine as some posts have suggested) to make sure that the System.Windows.Forms is completly compatable with the standard interface. Imagine, distributing a single binary on both Windows and Linux. That can only help linux. I am waiting for a System.Linux namespace to become available.

  13. Cocoa apps in C#? by theolein · · Score: 3, Interesting

    Why not try writing them in Objective C. It's very powerful is flexible enough to have bridges to Perl, Java, TCL, Python and Ruby and allows you direct intergation of plain C as well as close integration of C++. Not only this but if you're into frameworks, you'll find that Cocoa has quite a lot of them.

  14. Re:i can't wait ... by Melantha_Bacchae · · Score: 5, Interesting

    cant_get_a_good_nick wrote:

    > thinking Microsoft would have to wait until 2002
    > for a cross platform threat...

    No, they had to wait until they had a Java-a-like that they could control, and a bunch of silly collaborators to port it to anything in sight for them. Convincing the world to make regular payments for the continuing use of their products, as opposed to one charge up front would also be a big help.

    Then they can pull out the operating system Microsoft Research has been sitting on since the late 1990's. The operating system that is platform independent and runs on top of their Java replacement. The operating system that will swallow the internet into a single giant distributed network under their control, giving them the 100% monopoly of their wildest dreams. The operating system called Millennium (http://research.microsoft.com/research/sn/Millenn ium/mgoals.html).

    With per use charging, the OS itself could be given away on CD ala AOL, made available for free download, and/or automatically installed on XP machines via Windows Update (gee, I hope you didn't install XP Service Pack 1 which includes permission for them to do this and the .Net runtime). Install it, or let it install itself, and you will be making regular payments to Microsoft if you ever want to use your computer again.

    I don't think we have too long to wait. .Net is available for Windows, and well on its way for Linux and OS X. Longhorn may well be Millennium.

    Mind you, this is a giant gamble on Microsoft's part, and they are as likely to get nuked (figuratively, or even literally if a foreign country gets too annoyed with Microsoft's attempt to take over their country's computers) as they are likely to succeed. I don't think the company would survive a stunt like this, but they survived Bob, the antitrust trial's joke of a penalty phase, and Licensing 6.

    This isn't a case of poor misunderstood Microsoft, either. Why else would they codename the original Millennium JVM "Borg" (http://research.microsoft.com/research/sn/)?

    Shinoda: "The age of Millennium."
    Io: "What does that mean?"
    Shinoda: "A thousand year kingdom. It wants to create a home for itself. There is one flaw in its plan: Godzilla."
    "Godzilla 2000 Millennium" (Japanese version)

  15. Re:Another Look by Anonymous Coward · · Score: 1, Interesting

    If Scott is angry he should come up with a better technology and release it free and open to the world and submit to standards groups to boot ... If he just gets angry and whines then he'd better just give up ...

  16. Java is as dangerous because of Sun patent trap by g4dget · · Score: 4, Interesting
    In comparison, Sun has granted the Apache and all open source developers FULL access to the specs, test kits and granted the full rights to develop competing products under the JSPA [apache.org].

    This is wrong, or at least highly misleading. Sun has granted rights only to standard developed under the JCP from here on forward (and then only to participants in the JCP):

    * For Sun-led specifications finalized from here forward (including revisions to existing specifications) the license terms will allow independent implemenations under open source licenses.

    Sun has hundreds of patents on core Java technologies that are unrelated to JCP efforts, and Sun has granted no licenses to those. You would likely run into those if you tried to create an independent Java implementation.

    Both C#/CLI and Java/JVM should be considered proprietary platforms covered by numerous patents. And both Sun and Microsoft have demonstrated that they cannot be trusted on intellectual property issues or commitments to open standards.

    There are plenty of high quality, truly open languages and runtimes out there. Open source software developers are fools to waste any time on either C# or Java until Microsoft and/or Sun make binding commitments to make those platforms truly open.

  17. Re:Bill and his buffoons must be laughing hard.... by stefpe · · Score: 2, Interesting

    Yes, sure MS has turned over C# to a standard committee.

    But I don't think that matters. Unless LOADS off people start developing .NET apps on Linux/Unix very soon, Microsoft is still going to be the ruling force behind .NET.

    If or until this changes, the great majority of .NET developers will encounter .NET first on Windows, all the books on the market will be about .NET on Windows and so on.
    That means that the open source community will constantly have to play catch up with Microsoft each time they release a new version or new tools or libraries.

    In the end, I think this is a no-win situation.(If you're interested in alternatives to Microsoft's platforms).
    I think all this will do is lure developers away from Linux and Unix. They might start out with .NET on Linux or something, but after a while, I think a lot of them will realise they have to switch to Windows because all the new, cool libraries are Windows-only. Yeah, .NET is supposed to be portable, but I'll bet that a lot of the stuff will be specific to Windows anyway (think ActiveX).