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

102 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 Anonymous Coward · · Score: 3, Interesting

      OK i keep seeing this .NET stuff and never ask about it cause obviosly so many know and i'm not in the know. And i admit i'm somewhat behind things sometimes, so obviosly i missed this somewhere. What is .NET exactly?

    2. Re:Much needed by Dave2+Wickham · · Score: 2, Informative

      I'm probably talking complete and utter balls...but...

      This reference of .NET refers to the ".NET bytecode" or whatever it's called, which .NET programmes are compiled into, which allows easy compatibility between different .NET languages and platforms.

      Again, I'm probably talking out of my arse, though...

    3. 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
    4. Re:Much needed by ikkonoishi · · Score: 2, Informative

      .NET is MS's latest development platform.

      At it's heart it is meant to be a way for various programming languages and protocols to communicate with each other and work together.

      The main problem is (of course) that to truly become platform independant MS would have to release a large amount of the code that runs it.

      Microsft's .NET Site
    5. 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.
    6. 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!
    7. Re: Much needed by Deusy · · Score: 2, Informative

      it only makes sense to create an open source version of the core platform.

      I thought there were already open source java's out there...

      I guess Blackdown and Kaffe are mirages.

      --

      Free Gamer - Free games list and commentary

    8. Re:Much needed by matts.nu · · Score: 2, Insightful

      What is .NET exactly?

      I can tell you what it is not.

    9. 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
    10. Re:Much needed by sbrown123 · · Score: 2, Informative


      The .Net framework is ~22 megs. That's not that big, really. I know the JDK is almost 100 megs, and that's only a 5 min download.


      The .NET framework does not include the compiler and associated development pieces that come with the JDK. A better comparison is the .NET framework vs. Java JRE (Java Runtime Environment). And I have absolutely no idea where you found a JDK at 100M in size! The latest is less than 30M.

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

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

    13. Re:Much needed by jawahar · · Score: 2, Interesting

      One more point: The memory foot print of typical JVM is 3.5 MB and that of CLR is 20 MB.

    14. Re:Much needed by schmaltz · · Score: 2, Insightful

      Example: I have a static method of a class which returns a new object of a subclass based on requested input. Occasionally, I need to return a new object of the superclass. How do I know which new() method i'm calling? I can't build an interface for it. My options are to either rely on reflection, which is always slow, clumsy, and half the company doesn't understand it, or pass a delegate a static method in the subclass, which is usually pretty fast.

      Ever try a Factory method? I thought at first that's what you were describing, but maybe you don't know. Generally a static method, you pass it parameters which it uses to decide which class in the hierarchy to instantiate and return.

      Check out Design Patterns by Gamma, Helm, Johnson, and Vlissides. It covers the Factory pattern and much more.

      --
      Big Daddy, Johnny, Burp, Aunt Zelda, Scott, Slurp, Big Momma ... where's Siggy?
    15. Re:Much needed by jamie(really) · · Score: 2, Insightful

      Ah, the usual slashdot "modded up because it sounds like he knows what he's talking about" problem.

      1.Delegates are slower than interfaces.

      And interfaces are slower than function pointers. Storing a pointer to an "interface" is actually storing a pointer to an object, which is in turn just an empty object with one data member which is a pointer to a vtable. So it takes two levels of indirection. You cant complain that delegates arent the most efficient way forward when interfaces arent either.

      Surely what you mean to say is that interfaces are slow, and we should all just use function pointers? Ah, but function pointers dont carry a this pointer, which means we dont know who called us. But not call-backs are for objects. Some are for global or static objects, so the this pointer is a waste.

      Alternatively, perhaps you could create a functor that would create at run time a class that calls your object specifically. Ah, wait, thats delegates!

      At the end of day, the extra machine instructions for implementing interfaces and delegates is neglibible compared to the kind of code that gets executed as a result. For example I use delegates a lot for windows messages, which usually result in several thousand to a million pixels being redrawn. Five extra assembly instructions and memory cache miss dont seem like a terrible price to pay for better OO design now does it? And so we come to point 2.

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

      No programmers break OO. If you think that the class/instance method is the be all and end all of object oriented programming then you need to take a look at Smalltalk or OpenCyc. Using classes does not make you an OO programmer.

      Can you write horrible, non-oo code using delegates? Yes. Can you write horrible non-oo code using classes and interfaces? Yes. Is all code using delegates non-OO? No. Is all code using classes non-OO? No.

      3. Anonymous inner classes allow you to define the function close to where it is used. With delegates you can have a method body pages away from where it is registered with an event.

      So with delegates they are bad because a programmer could write unclear code by putting the delegated function definition well away from where the delegate is initalised? This is as compared to the horrible unreadable code you'll find if you put "anonymous inner class java" into google. If you had to create 10 such inner classes would you advocate putting this code all in one initialisation function (such that it is very big), or would you create 10 seperate initialiser functions that the first calls (such that the code that calls the initialisers is possible pages away from the actual code of the initialiser)?

      And the method very often has little do to with the class that contains it?

      And anonymous inner classes prevent this how? Oh. They dont.

      Give it up mate. Java is an old, hacked, bungled, proprietary language from a monopolistic company. If there's going to be an open source language, get behind Mono, and make open source .NET.

    16. Re:Much needed by TummyX · · Score: 2, Informative


      So with delegates they are bad because a programmer could write unclear code by putting the delegated function definition well away from where the delegate is initalised? This is as compared to the horrible unreadable code you'll find if you put "anonymous inner class java" into google. If you had to create 10 such inner classes would you advocate putting this code all in one initialisation function (such that it is very big), or would you create 10 seperate initialiser functions that the first calls (such that the code that calls the initialisers is possible pages away from the actual code of the initialiser)?


      You'd write ten inner classes if you must.


      And anonymous inner classes prevent this how? Oh. They dont.


      They prevent it because the handling code is in a seperate distinct module (a class).


      Give it up mate. Java is an old, hacked, bungled, proprietary language from a monopolistic company. If there's going to be an open source language, get behind Mono, and make open source .NET.


      I'm working on both mono and pnet.

  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. Native Java by buckinm · · Score: 4, Interesting

    Having a open-source version of Java should allow swing to be compiled via GCJ. There would no longer be anything holding natively compiled Java back.

    --
    This isn't any ordinary darkness. It's advanced darkness.
    1. 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.

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

    3. Re:Native Java by Glock27 · · Score: 2, Informative
      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.

      The whole point of Swing was to eliminate native peers - all Swing needs is a 2D frame buffer. In theory, you could have a very broken AWT native peer implementation and Swing would be just fine.

      Personally, I think SWT is a good alternative - and it already works with gcj.

      The rest of your post is basically a non-sequitor.

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    4. Re:Native Java by toriver · · Score: 2, Informative

      The whole point of Swing was to eliminate native peers - all Swing needs is a 2D frame buffer.

      Most of Swing, yes. The exceptions are the top-level containers (JFrame, JDialog, JWindow and JApplet) which extend the AWT components.

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

    1. Re:Gosling favors Open-Source Java by FatherOfONe · · Score: 4, Interesting

      The issue is that RedHat has made a decision to only ship open source software in their distro. So you won't get the good video drivers or a good JVM.

      This could easily be solved if they just shipped Sun's JVM with it, and had the installer agree to the terms.

      Personally I would love a separate RedHat CD or DVD that had "NON GPL" software. I then could load stuff like a good JVM, and good video drivers.

      --
      The more I learn about science, the more my faith in God increases.
    2. Re:Gosling favors Open-Source Java by MagikSlinger · · Score: 4, Interesting
      Newsflash: Microsoft has gone and made a better Java -- C#, and funnily enough they not only standardized it with recognized standards bodies (which Sun has never done with Java), they've also released their own shared source version and have not at all stood in the way of third parties making their own implementations (dotGNU, Mono, etc).

      Newsflash: Microsoft patented the CRL layer, so all those "third parties" could be toast anytime Microsoft finds them "inonvenient".

      --
      The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
    3. 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.

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

    5. Re:Gosling favors Open-Source Java by iabervon · · Score: 2, Informative

      We're talking about a platform implementation, not the standard. The standard will surely remain Sun's property. The "Java" trademark will also remain Sun's, and Sun will retain the right to dictate how it is used.

      The Sun v. MicroSoft case was based on MS shipping a "Java" environment which did not follow the standard to Sun's satisfaction. The copyright on the environment was never in question: it belonged to MicroSoft.

      If there's a GPL Java environment, you can only call it "Java(tm)" if it has not been changed such that it fails to follow the standard. This would most likely mean that extensions remain internal to a given project, or are reference implementations or research for proposed modifications to the standard, etc.; on the other hand, you're perfectly free to port it to a different platform, change implementation details, add your new optimization, and so forth. You could also change things that the standard leaves to the implementation to decide (like command-line options to the tools).

    6. Re:Gosling favors Open-Source Java by RickHunter · · Score: 3, Interesting

      Strangely, this fact seems to be constantly ignored by those driving the .GNU and Mono projects. I wonder why?

    7. Re:Gosling favors Open-Source Java by 73939133 · · Score: 2, Informative

      Newsflash: Microsoft has not yet patented .NET, they have merely applied for a patent. Even if they get the patent, it will apparently be a patent on the totality of .NET, not every piece of it. In particular, something like Mono seems perfectly safe: it implements ECMA C# and a lot of non-.NET libraries.

      Newsflash: Sun has plenty of patents on key aspects of Java APIs and the JVM (check the uspto site).

    8. Re:Gosling favors Open-Source Java by jone · · Score: 2, Informative

      This isn't really an issue with the JDK. The source is available, and in fact, some distributions (gentoo) actually do allow you install the JDK from source.

      Admittedly, it not released under an approved open source license, but it is not correct to say that you are unable to examine the source.

    9. Re:Gosling favors Open-Source Java by 73939133 · · Score: 2, Interesting

      When looking at who holds what patents, you must also look at the past actions of the holders.

      No, you should not. You should look only at what rights and obligations are legally associated with the license that you get, and what patents and other intellectual property are known.

      Here, we are talking about Java, and the JCP and JSPA don't satisfy me as licenses for an open standard. Furthermore, as a practical matter, there simply is no complete, open source implementation of the Java 2 platform. Overall, that means that Java doesn't pass muster as an open source platform. Whether .NET or Mono are any worse from an intellectual property point of view is irrelevant; this is not an either/or choice between Java and .NET. Just because the .NET intellectual property situation could be even worse than the Java intellectual property situation doesn't mean we should all rush to Java.

      Reminds me of a drug dealer: first one is always free.

      Well, with Java, Sun is offering the drug ("free-as-in-beer Java for Linux"), together with plenty of broken promises ("we will make it an ECMA/ISO/ANSI standard"). In contrast, Microsoft didn't hand a not-quite-free implementation of .NET to Linux developers and say "here, it's free"; if the Mono developers are digging their own grave by cloning .NET, it's their own fault.

      So, it seems to me the "first one is always free" analogy applies more to Sun than to Microsoft.

    10. Re:Gosling favors Open-Source Java by hackus · · Score: 2, Insightful

      Absolutely.

      There is nothing open or standard about Microsoft's .Net platform.

      The entire platform wasn't even created to solve a business problem, it was simply created to kill Java.

      Well, that and because of .Net's distributed DCOM/DCOM wrappers (which by the way that is all .net is, is repackaged COM/DCOM via the web) was invented so that you buy MORE Microsoft software.

      Java was created to solve an industry wide, 30 year problem. How do you turn software from an expense, into an asset?

      You do that by making the software independant of hardware, and making it a part of your IP property of your business process.

      Which should be perpetual, respond only to a business need, and not a vendors whim.

      The reason why Java was invented was to free companies from buying a PeopleSoft implementation for 10 million and then having your investment totally invalidated by someone who buys the company and destroys your investment.

      Like Oracle plans to do.

      Open Sourcing Java would simply free licensed implementations from being engaged by the certification process.

      I am not so sure, that is great for Java. Sun has been extremely magnanimous in managing Java.

      Having a bunch of Open Source implementations running around with no means of making sure they all work the same way is not what I would call a positive thing for Java...GPL'ed or otherwise.

      Remember, Java write once run everywhere is critical. Perhaps not in the US, but too all my European and Chinese and Japenese customers, who are quickly moving away from anything Microsoft, and everything Linux, it is very very important.

      Some sort of release mechnism will have to be developed to insure that Java GPL'ed implementations are not allowed to fork with non standard runtime libs.

      -Hack

      --
      Got Geometrodynamics? Awe, too hard to figure out? Too bad.
  5. 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?

    1. Re:Time to start up the pool... by jared_hanson · · Score: 2

      How is this funny, this is completely overrated, and I am screaming for moderator points right now. A Unix kernel has nothing to do with a Java interpreter.

      A bytecode interpreter is an abstraction above the kernel, and is made so that said bytecode can run on any kernel (theoretically).

      If your going to make a funny comment, make sure their is some connection between the two things you're comparing. This is just shameless bashing on SCO, with no humor whatsoever. I'm appalled.

      --
      -- Fighting mediocrity one bad post at a time.
  6. 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?

  7. There by Ann+Coulter · · Score: 4, Informative

    is already some source code available. :)

    1. Re:There by Monkey-Man2000 · · Score: 4, Informative

      It sounds like they're interested in doing a clean-room implementation that isn't tied down by proprietary licenses like the one Sun provides (and the link you gave). This is a _good_ thing.

      --
      This post was generated by a Cadre of Uber Monkeys for Monkey-Man2000 (603495).
  8. What was Blackdown? by Anonymous Coward · · Score: 2, Informative

    Wasn't it originally a clean-room open source JDK for Linux that Sun adopted?

    1. Re:What was Blackdown? by Anonymous Coward · · Score: 4, Informative

      No. Blackdown was not a clean-room implementation, and was based in part on Sun's Java. Especially in the class libraries area.

    2. Re:What was Blackdown? by Anonymous Coward · · Score: 3, Informative

      No - Blackdown was simply a port of the Sun JDK to Linux. Same source base.

  9. Its actually fairy easy... by Anonymous Coward · · Score: 4, Funny

    Java's source is really, really simple, actually.

    Just take one pound of fresh, dry-roasted beans (I prefer Sumatra myself, though Peruvian and Venezuelan are nice, too). Grind these to the desired consistancy, depending on one's brewing method of choice (I'm a 'french press' kinda guy myself, but auto-drip is the norm). Next, load the beans into the appropriate container (filters for the drips, wire mesh baskets for us pressers). Apply nearly-boiling hot water, allow a moment for the beans to steep. Pour into your favorite cup and voila! Instant Java.

    Jeesh. Why everyone makes such a big deal out of that, is just beyond me. No wonder all these tech companies go out of business - they can't even make a goddamn cup of coffee!

  10. 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
    1. Re:eh, not likely by Delphis · · Score: 2, Funny

      Maybe it needs to be released under an alternative license, say the MSFO license that states it is illegal to reuse said source code in any company product if that company name starts with the letter 'M' and ends in 'icrosoft'.

      Surely the reader can determine what the letters 'FO' stand for in the license acronym...

      --
      Delphis
    2. Re:eh, not likely by nate1138 · · Score: 2, Interesting

      I guess that all depends on what license the Open-source version is released under. In reality, Microsoft has already killed client side Java. Fortunately, the server is another animal altogether. I don't know a single Java developer that would ever consider using a MS Java implementation. Lastly, I don't see what volume has to do with MS corrupting an open source Java.

      Enlighten me.

      --
      Where's my lobbyist? Right here.
  11. sun should go for it by autopr0n · · Score: 3, Interesting

    It would be a win-win situation for them, and they can use their trademark to protect the 'purity'. I.E. if it's not "Pure java" it can't be called "Pure java". And microsoft seems to have gotten out of the java game anyway, so their corruption isn't much of an issue. I doubt the open source maintainers would allow contributions that would violate sun's standards, and Microsoft would never fork a GPL project since they hate the GPL so much.

    And plus, sun wouldn't need to do any of the work themselves :P

    --
    autopr0n is like, down and stuff.
  12. Blackdown? by mickwd · · Score: 3, Insightful

    Does Blackdown have any role in this ?

    1. Re:Blackdown? by triskaidekaphile · · Score: 3, Informative
      --
      @HbFyo0$k8 tH!$
    2. Re:Blackdown? by wfrp01 · · Score: 2, Interesting

      Also GNU Classpath. Seems to me that if Redhat wants a free Java implementation, they would do well to contribute to existing effort, rather than starting yet another one.

      --

      --Lawrence Lessig for Congress!
  13. Good for the web by narfbot · · Score: 4, Interesting

    I don't use java with mozilla because it's bloaty and not very open source friendly. This it sometimes a pain though, not having it available. And of course there are those java programs I can never try. Having an open source version with Sun's support will improve the current mess.

    Somebody make a current open source shockwave plugin!

    1. 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/
  14. RedHat's Rawhide by thule · · Score: 3, Interesting

    Recently Rawhide had Eclipse and Tomcat in it. I was pleasantly surpised to see Eclipse running on ppc Rawhide! It looked like they were running it against gcc's java, but after reading that article I was possibly mistaken. Did anyone else look at the Rawhide version of Eclipse?

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

    1. Re:be careful by Strudelkugel · · Score: 2, Insightful

      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

      Now I get to ask my other favorite tech-biz question:

      What exactly is Sun's business model?

      Sun does not make money from Java, it's an expense. They support it because it provides an alternative to Windows in terms of availability, and .Net as a comprehensive framework. But for this to work to Sun's advantage, the message has to be "Java is everywhere, but for best results, you really should run it on a Sun platform. All those other platforms are just there so you can have a common codebase." How will opening the source benefit Sun? Seems that will allow others to make optimized versions for non-Sun hardware or OSes. Sun has to pretend "We're all in this together against big bad M$", while at the same time wondering how to undermine Linux - a nightmare for them.

      So far, every promise of opening up Java by Sun has turned out to be a smokescreen and a distraction.

      For what seems to be a clear reason.

      --
      Imagine how much harder physics would be if electrons had feelings! -Feynman, maybe
  16. Sun's Jonathan Schwartz Opposes Open Source Java by tomkerigan · · Score: 4, Informative

    SAN FRANCISCO -- Jonathan Schwartz, executive vice president of software at Sun Microsystems Inc., spoke with Computerworld during the recent JavaOne conference here about the possibility of Java becoming open-source, the potential market for Java in mobile devices and Java's relationship with IBM. Excerpts from that interview follow.

    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. To the extraordinary credit of the Java Community Process [JCP], we have a uniform compatible standard that now spans hundreds of millions of devices, hundreds of millions of smart cards, hundreds of millions of desktops and tens of thousands, if not hundreds of thousands, of servers. So you have to really be careful in understanding the distinction between open-source and open standards.

    More at http://www.computerworld.com/developmenttopics/dev elopment/story/0,10801,82286,00.html

  17. That'll never happen! by Jon+Abbott · · Score: 4, Funny
    According to a ComputerWire article, RedHat is in discussions with Sun about launching an open source version of the Java platform.
    Ha! That'll happen when pigs fly, and when Apple comes out with a system that is faster than a PC. Oh wait...
  18. Re:Cool by nostriluu · · Score: 3, Insightful

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

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

  20. Why start from scratch? by jyoull · · Score: 3, Interesting

    So they already have source code that works... tell me again why someone has to start from scratch in a "clean room" to build something that validates against the API ? I must have slept through that part.

  21. 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.
  22. stupid question? by kurosawdust · · Score: 2, Interesting
    There's always been an interest in an open source implementation of Java developed in a clean room that adheres to the Java standards..'We're in discussions with Sun. We'd like to do this with their support."

    If you're going to do it with Sun's support, then why do you need a clean room? Or, if you're going to do it in a clean room, why do you need Sun's support?

  23. I don't see the need... by Cnik70 · · Score: 4, Interesting

    As a java programmer, I have never found java to be limited as a closed source language. The overall structure of the language is easily expandable and adaptable enough to fit my daily needs. And by introducing a new non-sun version of java leads to the same problems that M$ had with J++ where 100% pure sun java code is incompatible with other flavors. Sometimes I believe that certain things, especially programming languages, are better left untouched by multiple sources. It strengthens the language when it remains uniform.

    --
    -Cnik
  24. Was this Larry Ellison's idea? by Mannerism · · Score: 4, Interesting

    I wonder how long it would take Oracle to turn an open source JVM into an Oracle product in much the same way as they turned Apache into 9iAS.

  25. 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.
    1. Re:OT: THANK YOU! by Dalcius · · Score: 2, Interesting

      "please explain your mind... how exactly is this a major player to .NET??"

      C and even C++ are becoming tedious for some folks. While the control is nice (I appreciate it quite a bit), speed of programming is becoming an issue as it portability. With newer languages, the development process is becoming less and less.

      This is where .NET and Java come in. Higher level, language interoperable (for Java, think CORBA -- Sun helped with that standard), etc. The "new language market" is a big competition ground and the next "language standard" (yes, ye olde folk, C will eventually be replaced ;)) is being chosen. .NET and Java seem to be the contenders. Please correct me if you see a flaw in my analysis, I haven't discussed this much.

      ---
      "the only community getting any great benefit from an OSS java is the OSS community... surprise surprise."

      I guess you're not an OSS programmer? Sun will get a great deal of help out of this one, depending on how workable the new code is with Sun's exising system (or whether Sun switches to this new codebase -- longshot, I know). Currently, Sun has the copyright, but Java is down to a commodity market -- Sun doesn't make much money off of it compared to their servers (akin to Windows vs Office).

      Sun won't lose much by opening things up. Sun will, however, benefit from OSS folks going apeshiat and adding new features and speeding things up -- this is likely the only reason Netscape is still in some use at all. OSS has some serious potential, and adding that potential energy to Java might be enough to push it over the top.

      Hope that explained it... I'd like to hear back if you have a different view.

      --
      ~Dalcius
      Rome wasn't burnt in a day.
  26. Open Source less than Open Standards? by mkc · · Score: 2, Interesting

    Sun Software VP Jonathan Schwartz seems to consider open standards more important than Open Source. See the CNet article from a couple of months ago.

    Perhaps there's a sense that locking down more of the Java developer market is more important than keeping the intellectual property in the implementation of Java "hidden". Once you put the open source version out, you can hope yours will become the defacto standard. But why go to Red Hat to open the Java source? Couldn't you just open it up yourself?

    Maybe Sun just needs a high-volume distributor to developers everywhere. Developers who might use Java more if they didn't have to download it, if it were just there. Who serves up more downloads? Red Hat when they release another version of their distro? Sun when they release another version of Solaris? If you want to reach developers and M$ doesn't want to help, wouldn't you go for the next largest crowd?

  27. Hey troll/Tool Of The Man (tm) by SuperKendall · · Score: 2, Insightful

    Ever hear of the JCP? That's the Java standards body.

    And, it's not a puppet body like some other bodies you might be able to think of.

    They added some nice features in .Net, but Java will again leapfrog them with 1.5. In the meantime there is marginal benefit and a lot of downside with using .Net for anything that matters.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Hey troll/Tool Of The Man (tm) by jpmorgan · · Score: 2, Informative
      Ever hear of the JCP? That's the Java standards body.

      And, it's not a puppet body like some other bodies you might be able to think of.

      Dude, pass me that crack. ECMA and ISO have way more credibility than JCP. ISO is the standards organization.

    2. Re:Hey troll/Tool Of The Man (tm) by Mindbridge · · Score: 2, Informative
      Dude, pass me that crack. ECMA and ISO have way more credibility than JCP. ISO is the standards organization

      ... and they have standardised less than 10% of the .NET APIs (just the CLR and C#). Compare this with what the JCP has standardized (hint: pretty much everything and beyond)

      What's the use of the ECMA standard, really? Perhaps the fact that Mono has to use Wine is not a good enough reality check for you?

  28. Java making progress by nepheles · · Score: 3, Interesting

    It seems that Sun is recognising that Java in general was in danger of stagnation. Recently, we've had a major push into the mobile phone arena, the bundling of JREs with Dell and HP PCs, SDK 1.5, and now this.

    This might well be in reaction to the threat posed by .NET, but it seems that Sun are actively seeking to innovate once again, before .NET has a chance to catch up

    And that's, long-term, probably a good thing for the development community
    --
    ((lambda x ((x))) (lambda x ((x))))
  29. 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?
  30. Java is more open than .NET by Anonymous Coward · · Score: 2, Interesting

    Only the equivalent of "The C++ library" has been standardized for C#. No technology that's used in most apps today, like a web technologies or GUI apps has been standardized.

    Meanwhile, Java's JCP process allows open source projects like Apache and JBoss to contribute to the standardization of Java. No part of Java is not standardized this way, and as a result, nearly all JCPs have open source implementations including Tomcat and JBoss. These implementations, more often than not, dominate the field over proprietary implementations.

    In short, Java is more open than .NET will every be. Mono is dreaming if it think it can pull .NET way from being a Microsoft technology. When developers use .NET, they look at Microsoft's implementation first, ECMA standards next. If Mono is ECMA standardized and Microsoft does an "embrace and extend" so that it's not, then developers will choose Microsoft's .NET over Mono, even if Mono is "correct".

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

    1. Re:Isn't blackdown OpenSource? by tuzzer · · Score: 2, Interesting

      As a Blackdown developer I can assure you that the Blackdown port of the JDK/JRE etc. is not open source. I had to sign NDAs for both version 1.1.x and 1.2.x to get access to the CVS repository.
      You can download the binaries for free, but the source is not provided. In the past context diffs used to be present for the 'plain' Java source, but this is no longer the case.

      --

      bash$ less COPYING
      bash$ more CREDITS
  32. 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.

  33. This has been a good idea for a while. by Captain+Rotundo · · Score: 2, Interesting

    It would be so great if there was a open implmentation of java. I know there are groups working on it, but if only sun would get involved then it would have a greater chance of staying current. I've always thought it wouldn't hurt Sun to open up the Java SDK and classes a little, what exactly is the benifit they get from it being closed? The version they released would still be considered the standard regardless of its openess or of potention forks.

    Forget GCJ, just think of the advantages to Sun if there was a kernel driver to run plain java natively, if done right, and of course open enough to be compatible it could only bolster java greatly, especially now that .net is a big threat.

    I have to admit I like java for some tasks but am apprehensive that the two biggest hyped technologies nowadays are both controlled by a single company each, and both have closed source reference implementations.

  34. Done Before, or done right now? by CptnKirk · · Score: 3, Interesting

    I personally like this idea. I think that open sourcing Java would allow other projects to take off much easier (I'm thinking gcj, but I'm sure there are others).

    However how is this effort different from:

    Kaffe - Open Source, way behind the times, in general more annoying that useful, IMO.

    Blackdown JVMs - Best Java JVM available for free on Linux (again IMO). Uses Sun's code, has valuable contributions, but isn't maintained by a large group. As far as I know, only a handful of dedicated people, and only one or two are very public.

    Also, why would Sun suddenly be willing to Open Source Java now when they weren't before? Have any of the open issues changed?

    As far as I know it's a compatibility/brand issue. If Java were open source, anyone could grab the source, tweak it and release their own JVM. If there are a zillion JVMs running around it's possible some won't be compliant.

    What about the JCK? It works fine, but you still run into the embrace and extend issue. Someone takes Java 1.4 and builds custom enhancements to support his/her own Javaesque features. Programms written for this JVM now no longer work on a stock 1.4 VM. Is this VM now legal "Java". I think Sun would say no.

    What about the Java Community Process? Many anti-fork advocates might suggest just contributing to Java via regular channels. Do these channels work? If not, should they be repaired instead of or in addition to Open Source Java?

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

  36. oh boy, here we go... by Kunta+Kinte · · Score: 4, Informative
    Newsflash: Microsoft has gone and made a better Java -- C#, and funnily enough they not only standardized it with recognized standards bodies (which Sun has never done with Java), they've also released their own shared source version and have not at all stood in the way of third parties making their own implementations (dotGNU, Mono, etc).

    • Microsoft still have options to deter the development of an open-source .NET implementation if they want to. They have the patents.>
    • EMCA standards do not garantee much. EMCAScript anyone? We're still coding for JScript, and Javascript, even if EMCA "standardized" the language.
    • Sun has the JCP @ JCP. Most Java standards development has been done through the JCP for years now. Sun recently had 4 of they JSRs turned down! They won't happy, but had to accept that the specifications won't be accepted as they are. I believe the specific standard increased the minimum requirements for Mobile Java. The process is open and does work.
    • Oracle, IBM, and some of the largest software development companies in the world have billions riding on Java. These companies have always had and continue to have a say in how Java is done. I'd trust that situation over a bought specification to a patent-protected technology owned by a monopolist anyday.

    I suspect Microsoft will tolerate dotGNU, Mono, as long as they see it beneficial to do so. Also, the language and runtime is not much. The true power of .NET and Java is in the wide amount of libraries available to these languages. I really wish the Mono team good like to replicating that in a source compatible manner. It would be no small feat.

    --
    Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
  37. No, it's more likely GCJ by Per+Bothner · · Score: 4, Informative

    Remember that GCJ was developed at Cygnus (starting in 1996), and that Red Hat bought Cygnus. While Red Hat has not put a lot of resources in GCJ, they still employ some of the early GCJ engineers, who are still active in GCJ in at least on a part-time volunteer basis. In Red Hat 8.0, what you get when you run "java" is the interpreter component of GCJ. And it looks like they are getting serious about Java, and GCJ.

    My guess (as original "inventor" of GCJ, but no longer associated with Red Hat except as share holder): To the extent that Sun is willing to open-source parts of JDK, they'll use that; if Sun is unwilling, they will use GCJ.

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

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

    2. Re:too little, too late by agslashdot · · Score: 2, Interesting

      "Real competitive advantage" in which market ?

      There's no generic real competition advantage - its a very domain-specific thingy.

      Real competition advantage in microcontrollers & firmware for cameras will continue to be C & assembler for a long time.

      For the wall-street crowd,where every quant analyst has a thousand Excel macros & math models, windows terminals are a reality. Java AWT client on windows is a joke - small set of UI controls, no built-in grid-support, no inter-op with Excel, no built-in charts/graphs, the list goes on. The swing clients are another story - getting a Java plugin installed, huge jar downloads, no versioning - clearing the Plugin cached jars every so often, jeez, I've been thru enuf nightmares.

      For that particular subset of users, which btw is a pretty LARGE subset, C# is the real competitive advantage. They give two hoots about a JDBC driver that has to use an ODBC bridge to talk to their local MS Access database. ( Typically, interesting data-sets are extracted from a huge Oracle DB into a much smaller MSAccess DB - like an cache, so that Excel can mathmodel your data. C# taks this notion to a whole new level - notion of disconnected DB-access, where you use an in-memory cache to download interesting tables/rows from your DB, disconnect & operate on that subset, & then sync up your data. Read up on it, its quite original & non-trivial, certainly no "dumb little language trick". )

    3. Re:too little, too late by shrhoads · · Score: 2, Insightful

      I'm a fan of C#, but IMO the reason C# is trailing and will continue to trail Java a lack of cross platform support. Ironically, the solution to Java GUI cross platform support (SWT) will save C#. Check out the various project to port SWT (for Java) to C# here.

    4. Re:too little, too late by deanj · · Score: 2, Interesting

      C# isn't poised to sky rocket as much as you think.

      Think about this: I recently talked to a publisher at a tradeshow. He told me that there were getting to be more C# books than Java books. Only problem is, *they're not moving*. Java books are still in demand, and they're looking for more. Not so with C#.

      That's not a good sign for C#.

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

  39. do not download that source code by 73939133 · · Score: 2, Insightful

    If you look at Sun's source code, you may be unable to work on any Java or Mono-related open source project in the future, as Sun may consider them derivative works. The Sun Community License is a death trap for open source developers. Don't touch any code covered by it.

    Any open source version of Java must be either a clean-room implementation, or it must wait for Sun to release the JDK sources under the LGPL, GPL, or BSD licenses. And even then, you may still have to worry about Sun's patents in some cases.

  40. If you don't like swing... by Dalcius · · Score: 4, Informative

    You might consider SWT. It's an open source Java widget toolkit (GUI API) that sits on top of native system widgets. I just started developing with it, so I can't speak for much, but it seems to be quite fast and is pretty easy to implement.

    Some info:
    The Eclipse project (of which SWT is a part of)
    SWT Guide (good intro to SWT)
    SWT API Specification
    SWT Articles (many regarding topics internal to the API) -- scroll down to SWT

    --
    ~Dalcius
    Rome wasn't burnt in a day.
    1. 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.
  41. 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?

  42. Re:Sun's Jonathan Schwartz Opposes Open Source Jav by fastdecade · · Score: 2, Interesting

    Java may be able to run on hundreds of millions of desktops, but unfortunately it's very complicated and time-consuming for an end-user to download and run a Java app in the same way that they could download and run an executable. Schwartz makes a good point about the MS risk, but there is also the possibility that more open-source involvement will lead to a higher quality platform within the popular operating systems.

    To take Java to the next stage, ie mass consumer usage, Sun needs to do all in its power to promote ease-of-install. Java Web Start just hasn't had that impact, to date. Open-source projects may help a lot.

  43. Re:Cool by TV-SET · · Score: 2, Interesting
    "The best thing about standards is there are so many to choose from."

    ...and that of course was Andrew S. Tanenbaum, but than again I cannot provide the link to the original. :)

    --
    Leonid Mamtchenkov ...i don't need your civil war...
  44. However... by SuperKendall · · Score: 2, Informative

    When a standard is submitted through the JCP (Java Community Process) a condition of including that IP in the standard is that you allow others to use any IP embedded in the standard for free, in perpetuity. So whatever patents Sun has around Java can be used by others in the Java world.

    There are already real, working Java implementations from third parties like GCJ and IBM's VM, which have been around for a while... Mono has not really been around long enough to see if they have really escaped a patent trap.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  45. Too Late by shrhoads · · Score: 3, Interesting

    As mentioned before, Java is already headed to the land of fully open source native cross platform binaries. The fine GCJ folks have already implemented most of the 1.4 JDK with libjava. Throw in SWT and you have the holy grail of open source software applications development. A single code base that compiles to native binaries for Windows, Linux, MacOS, Solaris, AIX, HP-UX, etc.

  46. RedHat should make better use of their time by MarkSwanson · · Score: 2, Insightful

    As others have mentioned the Java source is already freely available. As someone who spends most of their time in Java I can already fix bugs if I need to - having a separate license (GPL) is meaningless to me.

    It would be a much better use of time and talent to make Java work better on Linux wrt:
    1. FUTEX support
    2. NPTL threads
    3. full screen and 2D graphics are horribly slow under Linux because for some reason Sun doesn't seem to use MIT-SHM, or their pixmap caching code is doing the wrong thing...
    4. Why not even spend time helping with Sun's ALSA port for Java 1.4.2.

    Heck, I'm sure the Blackdown team would have dozens of ideas on how to improve the existing code base.

    Rewriting from scratch? Is working together so hard? It would be such a shame to have great Linux coders work to build something that didn't work perfectly and was never used.

    --
    Schedule your world with ScheduleWorld.com http://www.ScheduleWorld.com/ (Java Web Startable)
    1. Re:RedHat should make better use of their time by MarkSwanson · · Score: 2, Informative

      A couple of quick points:

      1. FUTEX - a fast user-mode mutex. In the likely (hopefully) usual case no context switch happens when you get a futex. This can be a big win under certain synchronization loads. Imagine grabbing a futex in 15 clks vs 1,500 - 6,000 clks (these numbers may be slightly off and will vary quite a bit between machines, glibc and linux kernel versions)

      2. NPTL - the New Posix Threading Library - a great improvement in both Posix compliance, performance, latency, and in the maximum number of usable threads. Ingo (one of the authors) announced the creation and destruction of 100,000 threads in one second. This is available in RedHat 9. (I don't know if futexes are available in the RedHat 9 kernel yet).

      3. Graphics - Hey, I'm a Linux/Java fan and I'd like to be able to agree with you here but no. Doing a search in Sun's Java bug list will show up a lot of bugs in Linux graphics performance. In fact, check out http://www.javagaming.org/ and browse some of the posts there about it. There are tons of benchmarks of actual games that get 1/10 of the video throughput under Linux vs Win32. Sorry. (BTW, it seems the Blackdown folks are claiming an 80% 2D speedup in their latest port. I haven't tried it yet but it may help).

      4. About ALSA - it rocks! What I meant to say was that perhaps RedHat could help the ALSA project support more cards and remove the completely stunned ARTS/ESD/etc... hacks and replace them with the proper ALSA DMIX plugin. This would allow multiple /dev/dsp open()s to work on cards that don't provide hardware mixing. This means you can play Java sounds and run KDE/Gnome sounds at the same time.
      (JDK 1.4.2-beta already has ALSA and DMIX support BTW - comments welcome on how well it works).

      --
      Schedule your world with ScheduleWorld.com http://www.ScheduleWorld.com/ (Java Web Startable)
  47. interest in Java by noldrin · · Score: 2, Insightful

    Interest in java seems to be going downhill. I think releasing it under the GPL might spur more interest and innovation with Java.

  48. Re:Not as a whole but by 73939133 · · Score: 2, Insightful

    The point of licences in irrelivant when you can just write an implmenetation for free under whatever licences you like.

    There is only one implementation of Java, together with its derivatives by licensees. As long as that is all there is, its license matters, because nobody has demonstrated so far that they are capable of producing an independent implementation.

    Why not? I see you dropped my point about keeping old libraries around for old releases of Java if they work better.

    You can't just mix and match libraries. If you run a version of Java linked against old libraries, it won't be able to load code linked against new libraries, it will have security holes associated with the old libraries, etc.

    I see no, zero, nada, zilch difference between a distro release and something like a solaris release. There is none. The distro maintainers keep stable versions of Java around the same way Sun does.

    Sun doesn't "keep stable versions of Java around", Sun has the option of recompiling Java and fixing bugs and incompatibilities in Java when they make a new operating system release. Because Sun owns the copyright, Sun gets to make those choices. Linux distributors, on the other hand, face the possibility that Sun stops making Java available or breaks the Java distribution whenever it suits Sun.

    The ability to fix bugs and recompile packages from source is at the core of open source systems. It is what has made Linux such a success. It makes no sense for open source developers to say that open source is a good idea, but, hey, for Java we don't really need it.

    None of them caught on because they offered poor coompatibility, because Windows is not a published spec - unlike Java which is.

    The Windows and Java APIs are documented in pretty much the same way: as a huge collection of vendor-supplied documents aimed primarily at programmers. Neither set of documentation rises to the level of a "specification", and both have significant gaps. That's why making a third party Windows implementation was very difficult, and the same appears to be true for Java. Sun Java really is like Microsoft Windows in that regard.

    If you're at all a fan of Linux, then you need to think about what a world where Java (the most commonly used enterprise programming language by far) is owned by MS and runs best on Windows servers. By-By Linux! Seriously, that is how it would be.

    You say that it is perfectly fine if there exists only a single, proprietary implementation of Java as long as it is owned by Sun, but if that implementation were owned by Microsoft, it would be bad? Where is the logic in that?

    I don't see any difference between Java being proprietary to Sun and Java being proprietary to Microsoft. Both Sun and Microsoft are companies that would like to see Linux go away because it eats into their business, and both have a strong incentive to make sure that Java runs best on their own servers and performs less well on Linux. That is exactly the problem.

    Fortunately, it hasn't gotten to that point yet at all, since Java is not very important on Linux yet. As soon as there exists a full open source implementation of the Java platform on Linux, an implementation that neither Sun nor Microsoft can mess with, I'm all for widespread use of Java on Linux. Until then, Linux users should stay away from Java.