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.'"

17 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 spacecowboy420 · · Score: 5, Informative

      .NET is Microsoft's newest programming language offerings. Basically the purpose is to integrate the web into windows applications. There is VB .NET, ASP .NET, C#, etc... The languages are actually pretty usable in a windows enviroment, and are OO. This makes them a little more powerful. I use Java, but its nice to bust out a VB .Net proprietary app that runs cleaner/ faster on a windows system. The down side is similiar to Java though, in order to run Java apps, you need the JRE, with .NET stuff, you need the HUGE ass .NET framework installed.

      --
      ymmv
    2. Re:Much needed by sbrown123 · · Score: 5, Informative


      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


      I am guessing you are stating that Java has more stuff since .NET does not have J2EE anything. Microsoft cannot have anything past the 1.1 J2SE framework due to license conflicts with Sun. Also, the J2EE framework is a seperate package from the standard java runtime (J2SE).


      CD is trivial, and most Windows Update and XP users have it already.


      I have XP and had to download the .NET framework from Windows Update to get it.


      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).


      This is covered by JDO in Java. Theres also a really nice opensource reporting library call JasperReports. Along with that theres iReports which is an opensource IDE for creating JasperReports.


      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.


      See the SWT project. It uses native graphics rendering and widgets in Java.


      - It interoperates quickly and pretty thoroughly with current COM APIs, and wraps up nicely for use in non-.NET apps


      SWT has OLE/ActiveX support.


      - The Studio environment is faster to work with and has a more mature debugger than any Java IDE I've seen, including Netbeans


      Eclipse project works real well. Its very fast (again, uses SWT to render widgets) and has a very mature debugger.


      - ADO.NET is pretty nicely done, and things like DataAdapters parellel structures I always end up writing in Java anyway.


      Its JDO in Java world.


      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.


      Yes, check out Eclipse (www.eclipse.org). I have been using SWT in combination with GCJ to create native windows applications that dust anything created in VB (though C/C++ apps are a couple milliseconds quicker).


      Eight months ago I'd have never said this, but Java isn't my favorite language anymore. C# is.


      I liked .NET. It has some interesting concepts that will spur Sun to improve Java. I think SharpDevelop is a nice IDE worth checking out for anyone wanting to get into .NET without buying Visual Studio. Also of interest is the Mono project (www.go-mono.org) which is a open source implementation of .NET framework.


      And even association with the vile and repugnant Microsoft isn't enough to sour it.


      I think both Microsoft and Sun suck at being at the helm of both languages. Borland does a better job with C/C++ over Microsoft and IBM does better work with Java compared to Sun.

  2. Microsoft learned a tough lesson by Anonymous Coward · · Score: 5, Interesting

    About making their own Java not built to standards and without Sun's support. It looks like RedHat learned it, too.

  3. Gosling favors Open-Source Java by Domino · · Score: 5, Informative

    James Gosling, the creator of Java, recently mentioned that he favors an Open-Source Java. (See Infowork article).

    Some people withing Sun seem to be scared though that an Open-Source Java standard could be "polluted" by Microsoft.

  4. Time to start up the pool... by Anonymous Coward · · Score: 5, Funny

    How long before SCO claims that Java is a derivative work of the Unix kernel?

  5. eh, not likely by m750 · · Score: 5, Interesting

    http://www.computerworld.com/developmenttopics/dev elopment/java/story/0,10801,82286,00.html?nas=AM-8 2286 'Should Java be made fully open-source? The problem with open-source is that [victory] goes to volume, and that's evident in the Linux community today where ISVs [independent software vendors] are qualifying to Red Hat and abandoning everyone else. Why? Because Red Hat has volume. 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. And to the victor would go the spoils of that nefarious action. '

    --
    www.underonesky.com
  6. 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.

  7. Re:Native Java by Dingleberry · · Score: 5, Informative

    Java not being open source isn't "holding" this back. Look at the GCJ web site FAQ. They are currently writing peers in GTK and XLIB for AWT. Once that's finished Swing will follow.

  8. Re:Good for the web by Thorgal · · Score: 5, Funny

    Sir, it does really sound weird for Mozilla user to complain about Java's bloat.

    --
    "Man in the Moon and other weird things" - wfmh.org.pl/thorgal/Moon/
  9. Isn't it Kaffe? by Jungle+guy · · Score: 5, Interesting

    According to the Kaffe website, it is a "a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment. The Kaffe virtual machine is free software, licensed under the terms of the GNU Public License."

  10. Um, Classpath? by deblau · · Score: 5, Interesting

    The guys over at GNU are already working on this. The project is called Classpath, it's distributed under a modified GPL so it doesn't contaminate projects it's only linked with, and it's far along already. Most Java 2 classes have been implemented, even though they only claim to be 1.1 compliant.

    --
    This post expresses my opinion, not that of my employer. And yes, IAAL.
  11. 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?
  12. A reason to enlist Sun's Cooperation by Anonymous Coward · · Score: 5, Informative

    Many people have asked why RedHat needs to enlist Sun's cooperation in order to implement a clean room Java. One important reason, is to gain access to the JCK (Java Compatibility Kit), that contains approximately 20,000 test cases that you need to pass in order to be certified as Java Compliant.

  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 f00zbll · · Score: 5, Interesting
      furthermore C# has several useful notions ( delegates, boxed types, attribute annotations,assemblies etc ) not in Java.

      Ok, sounds like you bought the whole PR pitch hook line and sinker. I can say from first hand experience C# is not all it's advertised to be. C# has some nice stuff like properties, but several important pieces are seriously hobbled for enterprise class server applications.

      1. delegates - sounds great on the surface until you realize that writing a multi-threaded/thread-safe application means all calls have to go through delegate. this means for each call to a application running in a dedicated thread, two threads are used. One is used by the delegate. Not only that, for server applications, what you really want is to have direct access to that thread.
      2. assemblies - well recently I experience the same old DLL hell with .NET 1.1 colliding with .NET 1.0. Guess what, there are other critical issues like dynamic loading which do not work as well as Java class loaders. In order to dynamically load/unload assemblies, they have to be loaded in a separate appDomain.
      3. attribute annotation - is nice, but it's hardly critical. Not only that, if you work with a bunch of VB guys, they are so far from annotating their code that you'd have a better chance of getting an experience Java programmer to use attribute annotation correctly. I annotate my code aggressively to point out design decisions and their impact down the line. I also include suggestions and ways to modify the code should the functional requirements change.
      4. thread management using the default threadpool class is weak. There was an article recently in .NET magazine that covered async request handling. The article showed that IIS 6.0 uses the stock ThreadPool, which means improving performance requires writing your own thread pool library.
      5. the caching and default threadpool is really intended as an object cache and isn't well suited to complex multi-threaded applications that manage themselves.
      6. currently there is no object persistence application or layer in .NET. At first glance it doesn't seem like a big deal until you need to handle concurrent access to shared data across multiple systems. Say you have 100 clients that need to access a webservice. The webservices is load balanced across n servers. If multiple users modify common data, how do you manage it? Do you lock the table and use pessimistic locking, or do you naively say we allow for delay and don't care? There are third parties providing object persistence layers for .NET.
      7. stateful application server does not exist in .NET and MSDN states it doesn't plan on providing the support in the near future. For the next several releases the focus is on improving .NET CLR and performance.
      8. session replication across n webservers is not supported natively by IIS. The way it's typically done in IIS is to use database sessions. Tomcat 5 will have session replication built in. There are numerous Java application servers and servlet containers that provide true clustering with fault tolerant sessions.
      9. database clustering is not available as a stock option in Sql Server 2000 or Sql Server 64bit. Typically you have to setup Sql server in partitions and manage the data access with ADO.NET or DAL. Normally when Sql Server is setup in a cluster like TPC benchmarks, it's a custom embedded module. Ask any Sql Server DBA is real-time replication works reliably in Sql Server?
      10. there is no enterprise class messaging server and won't be until Biztalk reaches it's second or third release. If you don't believe me, try to use MSMQ to handle thousands of message per second with tens of thousands of subscribers. It will take 5-8 years before Biztalk can even get close to IBM MQSeries.

      .NET has it's advantage like the XmlTextReader. The default XML parser in Jav

  14. Re:No, it's more likely GCJ by Per+Bothner · · Score: 5, Informative
    gcj only makes native binarys from java source, INFO or byte compiled java code to run on a virtual machine. it is NOT a virtual machine.

    Wrong. The program gcj is a compiler, like javac, but the GCJ project and run-time includes a virtual machine. The command gij is a plug-in replacement for the java command (except for unimplemented features and bugs, of course).