Slashdot Mirror


Red Hat Joins Open Source Java Project

narramissic writes "Red Hat has signed on to Sun's OpenJDK project and agreed to coordinate its own Java development efforts for Linux with the project. Red Hat will align the work it has done on IcedTea (its own implementation of some parts of the Java SE JDK) with OpenJDK. As part of its participation in OpenJDK, Red Hat will eventually create a compatible OpenJDK implementation for its Enterprise Linux distribution and will also use OpenJDK to create a runtime for its JBoss Enterprise Middleware that is optimized for a Linux environment."

29 of 121 comments (clear)

  1. mono by Miguel+de+Icaza · · Score: 2, Funny

    what about mono?

    --
    Before adopting WHATWG, read the moonlight.NET EULA [http://www.microsoft.com/interop/msnovellcollab/moonlight.mspx]
  2. Will anything change for end users? by visualight · · Score: 2, Interesting

    With all the "openness" going on with Java these days will things get even more complicated? I have 3 important commercial apps that run on java, all three have their own run time environments that are incompatible with each other. I have no end of trouble with jre and firefox. I can't count how many times I've had problems with classpaths trying to run java stuff.

    Will the OpenJDK mean another runtime? As in Blackdown, Sun, Open?

    --
    Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    1. Re:Will anything change for end users? by petermgreen · · Score: 2, Informative

      You can already, icedtea contains a java plugin from amd64 based on work from the gnu classpath project.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:Will anything change for end users? by bytesex · · Score: 3, Informative

      That's not the result of the openness of the JDK or the JVM; the specs for both were always open. Sun always gave you the src.zip for the JDK, and they provided the bytecode spec and in what way to run such bytecode openly and free op charge.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    3. Re:Will anything change for end users? by Z00L00K · · Score: 2, Insightful
      If you run three different VM:s that are incompatible then something is amiss unless at least one of them is the Microsoft VM that is known to be incompatible.

      Only a few issues makes it harder to run all on the latest SUN JRE, and none of them are considered good programming practice. I suggest that you take that back to the app vendors and tell them to get it right and working on the latest released Java (1.6).

      The major problem I have recognized is actually related more to the centrally distribution of software packages in a company network where an older JRE is installed and overrides the path of the latest JRE. That causes more problems than you deserve. Of course - in the end it depends on the installation software that thinks that since I'm last to be installed I'm the latest version, which is REALLY WRONG in many cases.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    4. Re:Will anything change for end users? by hey! · · Score: 3, Insightful

      I think the biggest problem with the original write once, run everywhere promise was this: Java was almost, but not quite, an operating system. If you had a system that worked on WinXP but not Vista, you'd fix the problem; you wouldn't tell your customers to install both operating systems on the same machine because he can't. If I had A,B and C that only ran on Windows versions X,Y and Z respectively, I'd take the trouble to make A and B run on Z.

      In Java I can get by with A, B and C each running only on JDK 1.2, 1.4 and 1.6 respectively, but I have to call upon the user, working with the host OS, to deal with any confusion that arises. Now, multiply that by any libraries you use that aren't part of the standard java distribution, and things start to get really interesting.

      In part the problem of Java classpaths is one of an embarrassment of riches. There are so many powerful frameworks and amazingly useful little libraries that are out there, free for the taking. However, once you open that Pandora's box, it isn't simply a matter of write once, run everywhere; you have to deal wit the dependency issues that come out of that box. It can be done, and it's not really all that difficult, it's just one of those craft things that some people seem to have figured out how to do and others seem to leave as an afterthought after all the fun stuff has been finished.

      The embarrassment of riches also applies to the biggest pitfall in Java development: making bad framework choices, which you can do in multiples at the same time on any project. Leaving aside the case where you have a bad framework (the early EJB stuff -- ugh), or where you have made a bad mistake in requirements analysis, there are so many frameworks that are wonderful for one set of requirements and dreadful overkill for others. Working with a set less than optimally chosen frameworks sucks the joy out of a project, as you set aside the pleasure of solving the client's problem for the tedious drudgery of gluing together mismatched bits of architecture.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    5. Re:Will anything change for end users? by M.+Baranczak · · Score: 2, Informative

      The src.zip only contained parts of the source code.

  3. parallel universe by squoozer · · Score: 2, Insightful

    I must have slipped into a parallel universe or something because it's starting to look like Java might finally make it's way onto the Linux platform in a useable way. Fair enough we have been deploying Java apps on Linux boxes for a while but it's been much harder than deploying a PHP, C, C++, etc etc application. That always struck me as strange because I would have thought that Java was the perfect language for open source projects. Fairly quick, simple to develop in, stacks of libraries, popular.

    --
    I used to have a better sig but it broke.
    1. Re:parallel universe by morgan_greywolf · · Score: 5, Informative

      I must have slipped into a parallel universe or something because it's starting to look like Java might finally make it's way onto the Linux platform in a useable way. Java has been available and has worked well on the Linux platform for years. The main problem in trying to deploy Java on most Linux distros is that the more popular distros started putting GNU Java and GNU Classpath as the default Java VM and classpath on Linux. Sun's Java has been available in binary form for as long I've been using Linux (I started using Linux in 1994). I'm not sure when they started offering source, but it's been available, too, and things like Blackdown have been based on it for a long, long time.

      And there are plenty of nice Java apps and environments on Linux -- Eclipse is one of the big ones, obviously. The bottom line is that gcj/gij gave Java on Linux a bad name because standard Java apps and programming examples never have worked on it right. Install Sun's JRE/JDK or Blackdown, and you'll find that Java works great on Linux.
    2. Re:parallel universe by EricTheRed · · Score: 5, Informative

      The main problem with unresponsive Swing apps, is that most developers do everything within the Event thread, so the app is unable to respond in a reasonable manner.

      If Swing developers remember to move intensive operations off the Event thread and into a background thread, then Swing app's are really nice and responsive. It's not that difficult, but for some reason most developers are either unable to, or unwilling to do this simple task.

      Believe me, I've seen the source of plenty of Swing app's that have been written with everything in the Event thread and the developer (one of whom I had employed at that time) refused to do this because they couldn't be bothered.

      As for the look and feel, it's getting better but it still has a long way to go.

      --
      Java gaming nut - http://www.retep.org/ or for the rail http://uktra.in/
    3. Re:parallel universe by Anonymous Coward · · Score: 3, Funny

      public class HelloWorldDemo {public static void main(String args[]){System.out.println("Hello World");}}

      How many lines?

    4. Re:parallel universe by Dragonslicer · · Score: 2, Funny

      You're talking about Perl, right?... When any program you can possibly imagine takes more than one line of code... Fixed that for ya.
    5. Re:parallel universe by EricTheRed · · Score: 2, Informative

      > Which is the same way they do it in every other framework. Swing is slower than the others and now it is all Swing users fault?

      I wasn't blaming swing users, but from past experience most don't follow the Swing event model, even when it's documented well. Virtually all are creating swing objects outside of the Event thread (EDT).

      > I can understand that for very large operations but if I have to create a thread for every event driven operation, I am done for.

      No is did not say for every operation, I said for the expensive ones like file or network IO. When swing appears slow 99% of the time its because of something in the background holding up the Event thread.

      > Multi-threaded programming is just hard.

      Sure it can hard if you have to handle concurrency, but what I was trying to say here isn't that hard.

      Making the Action (running inside the EDT) invoke some code within a thread Executor or thread pool is only a couple of extra lines. Making state changes to a swing component to display the result is a couple of extra lines (using SwingUtilities.invokeLater()). That's not hard at all...

      > Perhaps he felt that he wasn't paid enough for that?

      As for if he wasn't paid enough, that didn't come into the equation. Yes he was a junior developer, but he refused point blank to learn which the other junior developers (not just the Java ones) were eager to do.

      --
      Java gaming nut - http://www.retep.org/ or for the rail http://uktra.in/
    6. Re:parallel universe by jma05 · · Score: 2, Interesting

      > Swing is actually a really freakin' awesome toolkit for creating the building blocks of a GUI and for creating new components. It's just really bad at being an application GUI since your application code is running in the same mix as all the little details of a component.

      This is unfortunately true of all of Java. At one end it tried to provide a low level virtual "machine" and the framework accordingly, and at the same time pretends to be a business class, high level framework. Likewise, the language is fine as a base but unsuitable for productivity. Java language (as opposed to the VM and the framework) should take a backseat similar to how C is regarded everywhere else. It should be a language for the tools, for performance and to provide a standard interface (cf: C data types and the OOP flavor in this case) and then step out of the way. JVM languages should respect this interface but take over what exactly goes on in the methods. Much of this has already been realized in made-for-JVM languages such as Groovy. They just need to get the same love from Sun.

      Java badly needs a REAL framework on top of the present API that can provide productivity in level with Delphi and .NET. I don't mean something along the lines of Swing Application Framework. A proper framework should be flexible and yet simple enough for a VB developer to pick it up in a weekend. Delphi's VCL fits this bill well. With respect to framework design in terms of developer usability, Java has been a step backwards from what was available in 1996. Of course, there are a lot of nice things about Java when compared to the tools then but the disadvantages seem unwarranted.

    7. Re:parallel universe by noldrin · · Score: 2, Interesting

      Actually Sun precompiled Java consistently causes processes to hang and I end up needed to kill -9 firefox. Now that I have the open source sun java compiled by Fedora the system is rock solid and haven't needed to kill -9 firefox once. I've had the same results with flash vs gnash. Besides being overly restricting, closed sourced software just tends to suck more.

  4. Sun has found religion.. by downix · · Score: 4, Interesting

    Open Sourced Solaris, SPARC, now Java... Halleluiah cries the OSS choir.

    But seriously, this business move by Sun has made it far more attractive to my company, enabling us to test out Solaris on our existing server before we perform a rollout. In addition, having the source code for the UltraSPARC T1 has enabled us to do research into how the chip functions on a lower level, with an eye to further optimizing our software to perform even faster on it. Sun, you might win over my heart just yet.

    --
    Karma Whoring for Fun and Profit.
    1. Re:Sun has found religion.. by publicworker · · Score: 3, Insightful

      Sun, you might win over my heart just yet.

      I don't think they care about your heart. It's your wallet they are going after. For most geeks the way to their wallet is via their heart.
  5. FYI by Saija · · Score: 5, Informative

    The official news on the red hat site:http://www.redhat.com/about/news/prarchive/2007/sun_java.html/
    because i can't find references on the sun & openjdk site.

    --
    Slashdot ya no es que lo era! ;)
  6. I truly hope for the end of gcj/gij by Anonymous Coward · · Score: 5, Informative

    Why? Sure, it was a novell idea to try and create an open sourced java but the whole arguments which backed it up were false. Many people seriously believed that Sun was not opening up the Java source code period, while in fact that was a mere lie. The Java source code was available but simply licensed in such a way which didn't really go well with some. And so they simply declared it "closed source" and fooled many people into thinking that the Java sourcecode wasn't available period.

    Why I mention this? Because it was perfectly legal to adopt certain pieces and sniplets of code, check the way things were build an adapting those ideas. All of that might have made a difference for the gcj/gij projects. Personally I condemn those 2 projects, but having said that I will have to admit that they did make a good effort.

    But the main reason I hate this stuff with a passion is because its not compatible with Java, and it is my belief that all the nonsense (gcj/gij + the bs about the closed source java) has left Java with a bad name / reputation on the Linux platform. Which I think is unfair and an utter shame. Would this have not been the case I think Java could have lifted some interoperable development movements to higher levels. Sure; it has already done this to some extend and Linux is still a big market for Sun, but when the bs was still spreading you could already easily download binary installers (self extractors) to install Java on Linux. But I have met simply way too many people who had problems to "do java on linux" and when you started disecting the problems it all boiled down to Linux distributions shipping gcj/gij thus resulting in non-working Java software. And as well all know; a good user doesn't blame his tools but the product he's trying.

    I once spend 45 minutes on the Sun Java tutorial and couldn't get some examples to work. Eventually I tried on another platform, that did work, and so I knew where to look. Eventually I ended up dumping gcj/gij and replacing it, unfortunately I think many others ended up dumping Java.

    1. Re:I truly hope for the end of gcj/gij by basiles · · Score: 4, Interesting

      Yes, but a (maybe minor) feature of GCJ is its ability to build self-contained Java applications, i.e. to compile some Java source code into an executable which does not require any previous JVM installed, etc...

      I admit that there are few Java applications (at least on Debian) which are compiled by GCJ and packaged as plain old binary executables. Of course, this means avoiding some fancy Java tricks (the dynamic class loader, some reflection abilities, etc...).

      Still, I believe GCJ does have at least such a niche market (for those few applications which don't want to depend on a JVM being installed).

      Besides, GCJ is GCC based, and GCC is still a nice project (even if it is old).

    2. Re:I truly hope for the end of gcj/gij by Ed+Avis · · Score: 2, Informative

      Well, quite. If Java doesn't have a good-quality, free implementation then I'll dump Java and use something else instead. gcj and gij are heroic efforts but they were always trying to catch up to a semi-proprietary standard.

      'closed source' is an inane term. I don't think anyone from gcj or gij was describing Sun's Java as 'closed source'. It's non-free, which is what matters. Merely being able to look at the source code doesn't mean you have freedom to use, share and change the software.

      --
      -- Ed Avis ed@membled.com
    3. Re:I truly hope for the end of gcj/gij by civilizedINTENSITY · · Score: 5, Informative
      Actually, instead of the end, this is just the official beginning: From the intro at http://gcc.gnu.org/java/

      Compiled applications are linked with the GCJ runtime, libgcj, which provides the core class libraries, a garbage collector, and a bytecode interpreter. libgcj can dynamically load and interpret class files, resulting in mixed compiled/interpreted applications. It has been merged with GNU Classpath and supports most of the 1.4 libraries plus some 1.5 additions.
      From TFA:

      Red Hat has signed Sun's OpenJDK contributor agreement and will now align the work its done on its IcedTea project, which was its own implementation of some parts of the Java SE JDK, with OpenSDK, said Shaun Connolly, vice president of product management for JBoss. IcedTea brought together the Fedora project with key Java technologies in a Linux environment, and currently provides open-source alternatives for the few remaining proprietary sections in the OpenJDK project, he said.
      Yet looking into the IcedTea project:

      Red Hat has launched the IcedTea project, with the goal of creating a hybrid fully free Java implementation based on OpenJDK and GNU Classpath. The project replaces binary plugs that are still non-free with code from GNU Classpath "We have been working within Red Hat to replace these binary plugs with free software based on GNU Classpath and to remove the need for bootstrapping with unfree software. This is important for a number of reasons, the most pressing being that only free software may be used to build operating systems like Fedora", said Andrew Haily on an OpenJDK newsgroup.
      Also, Wikipedia references "Wielaard, Mark (2007-06-07). IcedTea. Retrieved on 2007-06-09":

      IcedTea replaces the binary plugins with the equivalent GNU Classpath code, compiles it all using GCJ and optionally bootstraps itself using the HotSpot Java Virtual Machine and the javac Java compiler it just built.
      So again, this is not the end of end of GCJ but part of its validation.
  7. Re:Other Linux Java Options? by Saija · · Score: 3, Informative

    Thats the reason because sun is working in what they call "the consumer jre", please check this pages: http://weblogs.java.net/blog/chet/archive/2007/05/consumer_jre_le.html/
    and this https://jdk6.dev.java.net/6uNea.html/

    --
    Slashdot ya no es que lo era! ;)
  8. Re:Other Linux Java Options? by quintesse · · Score: 4, Informative

    That number is a bit exaggerated, my install of the latest Java 6 JRE is about 80MB (and the download is only 14MB).

    One of the reasons it's so big is because it has a LOT of functionality. But you're right of course when you say that you don't need all of that to run a simple Java application. So Sun decided to do something about that: in the upcoming Java 6 Update N (what was previously called the "Consumer JRE") only a relatively small "kernel" will be installed which has only the most essential components. The rest will be downloaded "when needed".

  9. Re:Other Linux Java Options? by deander2 · · Score: 5, Informative

    My problem with the Sun JRE is that it is HUGE. Why do I need 100MB+ to run a simple Java application?

    you don't. a simple stroll over to java.sun.com will show you that the JRE is 14M for windows and 18M for linux.

    the "100M+" is if you're also downloading all their development tools and documentation (and possibly netbeans, depending on the link). not atypical in the least.

  10. That's how flash won the web by porkThreeWays · · Score: 2, Informative

    It's probably too late for java to overtake flash in that market segment, but if Sun had originally done this, they would have probably won the web war. The two biggest complaints about java are, the JRE is too big to download, and the programs take too long to start. This is 99% of people's impression of java. They don't care that it's perhaps one of the best general purpose languages out there right now. They care it takes 10 seconds longer than flash to run a simple program. Sun should have never half-assed that aspect. Either do it right or don't do it at all.

    --
    If an officer ever threatens to taze you, say you have a pacemaker.
  11. Re:Other Linux Java Options? by bberens · · Score: 2, Insightful

    If you need Real Time efficiency use specialized hardware, OS, and not Java. If you're making a little app that you want to be able to run on virtually any cell phone on the planet... use Java. Use the right tool for the job. How difficult is that?

    --
    Check out my lame java blog at www.javachopshop.com
  12. Re:Getting harder to choose: Java or Python? by jpfed · · Score: 4, Informative

    They each have their advantages and disadvantages. According to the great computer language shootout, Java is faster by an order of magnitude, but is more verbose and usually consumes about twice as much memory. The ultimate decision depends (at least) on your application's needs and the capabilities of the environments you're targeting.

  13. Re:Other Linux Java Options? by ttfkam · · Score: 3, Informative

    What does the uncompressed local copy have to do with download times? 14MB compressed takes just as long as 14MB uncompressed. If you think that your CPU can't handle fast decompression, just think of all of the web sites that gzip their content for network efficiency.

    As for the complaint about docs, are you serious? Are you seriously complaining that there is too much documentation available in HTML format? And optional documentation at that? Think about what you're saying for a second: that you consider it a drawback that every class, method, and member of the JRE is consistently documented in detail.

    GUI: AWT versus Swing are native widget peers versus internally rendered widgets.

    RPC: RMI, CORBA, and XML-RPC/SOAP are for the following in order: RPC in a 100% Java environment, cross-platform binary RPC, and XML text-based RPC. There is a place for each of those.

    XML parsers: are you referring to the SAX, DOM, and StAX parser APIs -- which would make three? Or do you mean two parsers like Crimson and Xerces. I think the former is self-evidently a good thing. The latter is due to compatibility and consistency through multiple releases as the older parser behavior may be necessary for an older app even if it's a little slower or more memory inefficient.

    I can see your argument against including a scripting language, but Sun wanted to include a reference implementation of their pluggable scripting interface.

    I/O: Blocking vs. non-blocking. What's the problem? Both have their uses.

    What you call bloat, some would call completeness. Let's compare against some other popular languages.

    Common Lisp: 10MB
    Latest Python download for OS X: 17.9MB
    Latest Perl download for OS X: 33.5MB (Linux version is between 18.9 and 24.8MB)
    Latest Ruby (without Rails) download for OS X: 13.71MB

    But don't take my word for it. Download for yourself. The only reason these other languages seem smaller to you is because they are bundled seamlessly with your Linux distribution.

    Want database access, RPC, non-blocking I/O, XML parsing, etc. from those languages? Too bad, that's another download. Sure there are resources like CPAN, but why are their cores so bloated? Somehow Java is able to provide all of those "bloated" APIs at about the same download size as those languages that lack them.

    And don't get me started on C and C++. They don't even have a standard database layer, XML library, or the like for you to download separately. Learned one non-blocking I/O library? Too bad, your new company uses a different one. Do you think ODBC is a good solution? Obviously you've never programmed for it.

    I'm sure I could go on, but you get the picture.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.