Slashdot Mirror


Red Hat Plans Open Source Java

sthiyaga writes "According to a ComputerWire article, Red Hat is in discussions with Sun about launching an open source version of the Java platform. 'There's always been an interest in an open source implementation of Java developed in a clean room that adheres to the Java standards,' Szulik told ComputerWire. 'We're in discussions with Sun. We'd like to do this with their support.'"

21 of 422 comments (clear)

  1. Much needed by nate1138 · · Score: 5, Insightful

    With so many java API implementations being open source (JBoss, Tomcat), it only makes sense to create an open source version of the core platform. This would go a long way to combat .NET, which claims to be an open standard.

    --
    Where's my lobbyist? Right here.
    1. Re:Much needed by nate1138 · · Score: 3, Insightful

      Exactly. The bytecode format is what MS claims is "Open". Never mind the little fact that without a full library implementation it means absolutely nothing.

      --
      Where's my lobbyist? Right here.
    2. Re:Much needed by Angry+White+Guy · · Score: 3, Insightful

      Actually, they would just have to release all the specs for all the API's. We wouldn't need code, just the method name, expected input, and expected output.
      And that means ALL the api's, not just the end-user ones, but the internal communications ones as well.

      If MS does that, then .NET would be an actual standards-compliant language. We'd do the cross-platform work for them. But that would cut into their bottom-line.

      --
      You think that I'm crazy, you should see this guy!
    3. Re:Much needed by dasmegabyte · · Score: 4, Insightful

      1) The .NET Framework has a SLIGHTLY smaller footprint than the latest version of Java (46.5 vs 47.3 on my workstation). And it does more stuff -- a lot of the add-on packages for Java, including all of their J2EE crap, parellels what's already in the Framework. Not that it matters...including the framework on an install CD is trivial, and most Windows Update and XP users have it already.

      2) .NET does NOT integrate the web into windows applications. .NET allows users to create web apps in much the same interface as standard windows forms, using a system called WebForms. It also allows regular ASP pages to be compiled into faster versions a la JSP/Servlets. But bringing the web into windows...no, it doesn't really do that, not like you think anyway. Web Services are just a fancy way to perform data transformation. What's cool about .NET is that the IDE supports all sorts of really useful data transformation and reporting mechanisms using SQL/XML/etc built right in...no rolling your own data access methods (though I end up doing it anyway).

      3) .NET is better than Java for apps that will always be used on a Windows PC, because:
      - It has a much faster graphics interface, while maintaining a robust graphics toolkit.
      - It has a better messaging mechanism (Events/Delegates are a GODSEND and are the single most useful thing in the framework)
      - It interoperates quickly and pretty thoroughly with current COM APIs, and wraps up nicely for use in non-.NET apps
      - The Studio environment is faster to work with and has a more mature debugger than any Java IDE I've seen, including Netbeans
      - ADO.NET is pretty nicely done, and things like DataAdapters parellel structures I always end up writing in Java anyway.

      Anyway, the runtime filesize argument is just crap. The java guys need to get that GUI speed up to par or .NET's going to roll right over them. Eight months ago I'd have never said this, but Java isn't my favorite language anymore. C# is. And even association with the vile and repugnant Microsoft isn't enough to sour it.

      --
      Hey freaks: now you're ju
    4. Re:Much needed by TummyX · · Score: 3, Insightful


      It has a better messaging mechanism (Events/Delegates are a GODSEND and are the single most useful thing in the framework)


      The event mechanism is good but delegates suck ass. Here's why:

      1) Delegates are slower than interfaces (they're really just classes with an Invoke method and object+function pointers which requires two levels of indirection).

      2) Delegates break OO. Suddenly you have something that works differently from other clases for no real benefit.

      3) Anonymous inner classes allow you to define the function close to where its used. With delegates you can have a method body pages away from where it is registered with the event. And the method often has very little to do with the class that contains it. Anonymous methods in V2 are a good start but you still need anonymous innner classes (implementing IComparer for example -- which is an interface and not a delegate!).

      Now, events are good. Having the "event" keyword and automatic wiring is useful. But there is no reason why the "event" keyword couldn't work with interface types instead of delegate types. Having worked extensively with delegates I've gotta say that they simply complicate the type system.

  2. Sun's Support by Devil+Ducky · · Score: 3, Insightful

    'We're in discussions with Sun. We'd like to do this with their support.'

    It'd be hard to do it without Sun's support since they have been known on occasion to get very mad about people making versions of Java without their support. Of course that was mainly about a non-standard version, so maybe it wouldn't matter as long as it followed the standard.

    How far is RedHat into this? Planning, Writing, Compiling, Marketing? If they're only planning it, java may finally be dead before it gets done; of course java may outlive me, of course I may die this evening, we just don't know.

    --

    Devil Ducky
    MY peers would get out of jury duty.
    1. Re:Sun's Support by alext · · Score: 3, Insightful

      they have been known on occasion to get very mad about people making versions of Java without their support.

      Yes, they don't like having their platform polluted. This helps my applications stay portable.
      I sincerely hope they continue to keep implementors in line. Don't you?

  3. Blackdown? by mickwd · · Score: 3, Insightful

    Does Blackdown have any role in this ?

  4. be careful by 73939133 · · Score: 5, Insightful

    Sun has promised a lot in the past for Java and then gone back on their word. For example, Sun promised an open Java standard but then pulled out of two standardization efforts.

    If this gets dragged into the JCP process or stays under Sun's "community source" umbrella, it will not be open source in the way that we know it. If people aren't free to "corrupt" the open source Java in any way they like, it will not be open source; for example, one project of key importance for Java on Linux would be native bindings to Gnome.

    A closely related question to be answered is what the patent situation around any such "open source" version of Java will be; Sun currently holds several patents that effectively block fully compatible open source implementations. Will Sun dedicate those patents to the public domain? Or will the "open source Java" adopt a license that makes the code open source but lets Sun retain control over who gets to use it through patents?

    To Sun, Linux is as much as a threat as Microsoft, and their strategy is the same: make the OS irrelevant by replacing it with a Sun-controlled platform that runs on top of the OS. The Linux community should be as paranoid about that occurring as Microsoft management is. Sun is, ultimately, not a friend of Linux.

    Maybe Sun is serious about creating an "open source" version of Java in the sense we all use the term. But I will reserve my judgement until there is something concrete on the table. So far, every promise of opening up Java by Sun has turned out to be a smokescreen and a distraction.

  5. Re:Native Java by Cereal+Box · · Score: 3, Insightful

    No, I think what's holding back Swing support for GCJ is the fact that you actually have to IMPLEMENT all those AWT classes (Swing is built on top) using native GUI libraries. It's a bit harder to make Java's GUI stuff work natively than, say, linked list classes and the like. An open source Java will not make it any easier to get Java's GUI libraries natively ported to every single platform that GCJ runs on.

  6. Re:Cool by nostriluu · · Score: 3, Insightful

    That's right. The best thing about standards is there are so many to choose from.

  7. OT: THANK YOU! by Dalcius · · Score: 4, Insightful

    I know some Red Hat/Sun folks are reading this. As a person who is learning Java in his spare time, I really want to say thanks -- I pray that this goes through. Combining Java and OSS with Red Hat and Sun support, in my mind, is enough to kill .NET and set Linux up for good.

    This might be the final kick in the ass that gives Linux the momentum to move on top.

    --
    ~Dalcius
    Rome wasn't burnt in a day.
  8. That's the point of copyleft by yerricde · · Score: 5, Insightful

    If Java were open-source, Microsoft could take it, deliver it as they saw fit and drive a definition of Java that was divergent from the one that the community wanted to be compatible.

    Assume that Microsoft would have called this divergent platform "J++".

    If the Java platform were open-source and under a license similar to that of X11, what you quoted would be the case. On the other hand, if the Java platform were open-source and copylefted, Microsoft would have to publish the source code of its J++ platform.

    --
    Will I retire or break 10K?
  9. Isn't blackdown OpenSource? by Billly+Gates · · Score: 4, Insightful
    I was under the impression that the Sun sponsored blackdown project was already opensource. THey have ported Java already to sparc/linux and I believe have a lintel port.

  10. Re:Wasted effort ? by deanj · · Score: 4, Insightful

    Ok on the first two points, but complete FUD on the last one. It shows a complete lack of understanding of how Java was created, why some of the design decisions were made. If you don't like Java, fine, program in whatever the hell language you want.

    Don't blame your bias on the language design, especially when you don't name anything to back it up.

    What's the "much more modern approach to networked programming than Java?"

    And don't say .NET, because that blows your whole argument.

  11. Re:Gosling favors Open-Source Java by Omnifarious · · Score: 3, Insightful

    I wouldn't. I like the pressure it puts on companies to Open Source their stuff. Non-Open Source software is inherently untrustworthy because you can't get an independent review of exactly what it's doing.

    I don't want to end up with a security nightmare like you have on Windows desktops where it seems like every other program has some kind of call home feature that essentially turns the program into a trojan.

  12. Re:Gosling favors Open-Source Java by alext · · Score: 4, Insightful

    Ah yes, it's 19:29 Groundhog Standard Time and the "C Sharp is a standard platform" post makes its due appearance. And we in turn recite the standard rebuttal, viz:

    1. C Sharp the language is a standard, but this counts for little since the platform (corresponding to J2SE or J2EE) is really the Dotnet framework, which is not standardized and remains proprietary and patented.

    2. Shared source is not open source, in fact, I doubt if many people here would be willing to accept the terms for looking at Rotor, let alone using it.

    3. "Not stood in the way of" (yet) other implementations is a little different from actually supporting them. With the Java Platform, not only are there already multiple vendors and dozens of separate implementations, but the legal permission for their development has been set forth in the JSPA. No equivalent exists for Dotnet whatsoever.

    (Yawn. Hope I'm not missing anything good on TV...)

  13. too little, too late by agslashdot · · Score: 5, Insightful

    shouda done this 6 years ago.

    don't get me wrong. i love java, its the only thing on my resume, sole bread-n-butter for past 6 years, etc.

    but the C# designers really know the market.
    when i first read "C# = java done right" in a PR article, i said, "yeah right, what absolute BS".

    but then, i attended my first c# training seminar last month, & having just completed a major java-to-c# porting project, i can say this much - C# has definitely won the windows-only-client-side battle. if you are developing an app that front-ends on a windows client ( that's pretty much ALL of wall street, given the heavy use of MS-Excel ), C# is simply the way to go.

    6 years ago, i recall graduating from school & deciding to go into a Java-job. classmates were like - "what's java ? unproven stuff. use MFC. that's were the $$ is".

    how wrong they were! C# is now in the same position - poised to skyrocket.

    every single java concept has made it into C#.

    furthermore C# has several useful notions ( delegates, boxed types, attribute annotations,assemblies etc ) not in Java.

    finally, cross-language interop is a dead reality - i can write a C# class, my VB class can inherit from it, and my C++ class can inherit from my VB class, and call functions in Perl - the CLS & the common type system makes it easy for even a casual novice pgmmer.

    once's the mono project attains fruition, c# on linux will be the defacto pgmming style - need i say more ?

    from a reluctant C# convert

    1. Re:too little, too late by alext · · Score: 3, Insightful

      Real competitive advantage revolves around integration and portability, not dumb little language tricks.

      Most people will appreciate JDBC drivers for their local database, flexible security, true cross-platform working etc. Conversely,, we can probably get by without "attribute annotations" for a while.

  14. Re:Wasted effort ? by GreyPoopon · · Score: 3, Insightful
    First off, let me say that I don't necessarily support RH's plans. But, I wanted to further discuss some of your points, so....

    It's free enough for the uses of almost all users and that should be enough for everyone.

    RH has already made the commitment to include only Open Source software in their distribution. Backing down from this would potentially damage some business relationships and alienate some of their users. Until now, they have included only partially complete OS versions of a Java VM. If you wanted the full Java VM, you had to get it from Blackdown, SUN, or some other vendor. RH probably feels they will be more competitive if they can include a full version of Java with their distribution. Open Source is the only way they can do this, and they are probably tired of waiting for the various other "clean room" efforts to meet their needs.

    They should take into account the effects of potentially success of SCO attacks on IBM and Linux.

    No, they should be wary of any contracts they enter into with SUN.

    Especially creating a clean room implementation won't help anymore, it will always be SUN's IP.

    Not true. IBM's trouble with SCO was not over a clean room implementation, but over the suspicion that a contract to view "proprietary" material was violated, and the fruits of that contract were implemented in other competing operating systems (IE, Linux). Also, SCO is trying to consider all components of AIX as a derivative work of Unix, and thus under their control. Provided that RH doesn't ask for any development help from SUN, the same situation shouldn't arise. Of more concern would be patents that SUN holds.

    Why spend any effort on Java at all ?

    Because it's still alive and well on the server side. Having an open source version of java would enable Red Hat to ship "ready to run" web application servers to enterprise customers.

    --

    GreyPoopon
    --
    Why is it I can write insightful comments but can't come up with a clever signature?

  15. Re:If you don't like swing... by buckinm · · Score: 3, Insightful

    SWT is very cool except for two things:

    1) In contrast to the rest of Java, you have to remember to explicitly free everything you create.
    2) Cross platform stuff goes out the window, unless you can make sure a SWT lib is installed everywhere you want it

    At the very least, with an open source Swing, you could ship say, a linux binary, but also ship the class files for other clients.

    --
    This isn't any ordinary darkness. It's advanced darkness.