Slashdot Mirror


IBM Collaborating With Open Source Java Project

lord_rob the only on writes "According to news.com, IBM has begun participating in the open-source Java project Harmony and intends to contribute code to the initiative, according to a Big Blue executive. At this point, IBM's participation is limited to thoughts on design, but the company has plans to contribute code to the project in the future." From the article: "We really like to see the community get started, and they're still working out the rough edges of what they want to deliver. And we didn't want to disrupt that,"

149 comments

  1. Eclipse? by VolciMaster · · Score: 3, Informative

    This should line up with their efforts with Eclipse, too. I might get into a little Java programming if the environment were open-source.

    1. Re:Eclipse? by Rhoon · · Score: 2, Insightful

      I always thought Eclipse was open source... I could be wrong on that. I do however hope they plan on making the Java Doc inside the code better than Eclipse's piss poor attempt(was there even an attempt?). There wouldn't be a need to write tutorials on how to use the SWT/JFace APIs if the Java Doc was complete... or even there in some cases.

      --
      "If all the world's a stage, I want to operate the trap door." - Paul Beatty
    2. Re:Eclipse? by cached · · Score: 0

      What's this with people's bias towards open source? Sure, it is very nice to know how things work, but atleast I find it wrong to blindly bias yourself towards a certain language/platform for that reason alone. One clear example I note is Visual C#. The lone fact that it was made by MSFT (which you all know is basically the arch nemesis of the open source community) causes it to not be as popular as some other languages, even though some people that avoid it call it a "great language".

      --
      +1 funny, -2 overrated. Life isn't fair.
    3. Re:Eclipse? by LDoggg_ · · Score: 4, Informative

      Eclipse is indeed open source.
      In fact, fedora core 4 comes with a natively compiled version of eclipse and a 100% open source jvm implementation.
      Still needs quite a bit of work, but has definetly come a long way

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    4. Re:Eclipse? by bluGill · · Score: 3, Insightful

      I'm a programmer. I've been burned by bugs in my tools before. Sure MOST bugs are my fault, but once in a while I'm pretty sure it is the tool's fault. With open source I can fix those bugs and move one. With closed source I'm at the mercy of vendors who rarely care about my project.

      Then too, a lot of documentation is bad. Either it doesn't exist, or the program doesn't work like the docs say. The source code is definitive about what is really going to happen, and I can read it. IF you are not a programmer it doesn't matter because you can't read the source, but I can, so it matters.

    5. Re:Eclipse? by evilpenguin · · Score: 2, Insightful

      There is an open source C#. Take a look at Mono, which is a completely open source CLR and C# compiler. They have implemented most of .NET (although not the Windows GUI, they have a GTK GUI which also runs on Windows, so you can write C# on *nix and run them on Windows directly).

      I have read that Mono is complete enough to run VB ASP.NET applications natively on a *nix box. (But not VB GUI apps since they don't have the Windows GUI classes implemented).

      As for "Open Source" bias, it ranges from a political belief that all software should be Free (Stallman), to a more practical belief that no one shoul be subject to proprietary lock-in, which is awlays a risk with a single-vendor closed product.

      For some it is just the desire that software be free (as in pay no money for it).

      I personally subscribe to the "Free Software" philosophy. I believe that we should always be able to see, use, and extend the code we use.

      This is why whenever possible I release my code under the GPL. (Mind you, I haven't put anything out there that anyone has really wanted to use! But it is there, in no small part as payment for all the great Free Software I have been able to use.)

    6. Re:Eclipse? by halivar · · Score: 2, Insightful

      I might get into a little Java programming if the environment were open-source.

      Why wait when Mono is open-source and C# kicks ass? I say this having done both server and GUI Java development for 5 years, and a having been a very vocal detractor of C# at its inception, until I finally tried it out.

      Try Mono; I think you'll be pleasantly surprised.

    7. Re:Eclipse? by superpulpsicle · · Score: 2, Informative

      Need I mention the Eclipse that natively comes with Fedora redhat core4 crashes the OS immediately on execute. So many forums out there cover the hardcore details. To sum it up, Fedora core grows faster than people can test it. It's becoming M$-ish buggy.

    8. Re:Eclipse? by cached · · Score: 0

      Don't get me wrong, I support open source as well, but in cases where you are going to view the source rarely, if ever, why bother? In other words, if someone has an annoying bug, it should be easier to google it than to look at the source, understand what is going on, then either modifying the compiler to fit your needs or just modifying your code. Thanks for pointing out Mono though.

      --
      +1 funny, -2 overrated. Life isn't fair.
    9. Re:Eclipse? by delire · · Score: 2, Insightful


      I'll say it again. Fedora will always be buggy, unstable and untested. That is what it was designed to do, serve as a community testing ground for products and services that may or may not make it into the commercially supported enterprise editions.

      Redhat themselves are very clear about this on the Fedora project page

      Stop complaining about Fedora and get a tested, 'stable', desktop focussed distribution. Most importantly, stop encouraging those new to Linux to try it.

    10. Re:Eclipse? by Anonymous Coward · · Score: 0

      One problem with this is that if you've installed the open source JVM implementations, which are turned on in a default install, then you go try to install Sun Java it's a real pain in the ass. I really couldn't see any real Java developers using one of the current open source implementations simply because they're so far behind, lack so many important features and are known for memory leaks. Until we have an open source JVM that can do everything Sun's can do and just as well then people will use it and not until then. Harmony hopefully will be able to accomplish this.

      Or Sun could just stop being idiots and release the last bit of code that isn't open source.

    11. Re:Eclipse? by Pxtl · · Score: 3, Insightful

      Simple - what happens if the platform goes away? What happens if microsoft moves away from .NET, and you want to move to a new platform (PowerPC for example). Hell, what happens if 20 years from now you find you need an old tool you made in C#? Will it still work? Will there be a compatible .NET run-time for 256-bit computers?

      Part of the commercial reason to use opensource is to future-proof yourself against long-term eventualities like this. If Java decides to stop letting you bundle the JVM with your OS, then you can't provide OpenOffice anymore without paying them. If MS stops supporting a platform, then you're screwed if there's an unworkable bug and you're stuck on the platform.

      Fundamentally, when you invest labour on designing products and infrastructure based on a closed-license platform, you gain fealty to them. They now control you - they can make you lose the use of the product of your labour. They can stop providing their product, they can refuse to fix un-workaround-able bugs, or they can just go out of business and leave you high and dry.

      With opensource, you can lose your support provider, but you can never lose the platform - at worst, you may have to maintain it yourself.

      Yes, you may even have a solid, bullet-proof contract with your provider - but what happens when they go out of business?

    12. Re:Eclipse? by LDoggg_ · · Score: 1

      Crashes the OS?

      I have found it to be too buggy to use for java at work, so I'm still doing most development using regular eclipse on top of the Sun jvm.
      Never had it crash the entire OS.

      Only played a little with the c++ dev environment, so I can't vouch for stablility there.
      I am looking forward to trying out native eclipse to do some php development once phpeclipse.sourceforge.net upgrades to the 3.1 eclipse version from 3.0.x

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    13. Re:Eclipse? by A.K.A_Magnet · · Score: 2, Insightful

      Grandparent said it, he (as well as many) support the Free Software philisophy, it's not the same thing as OpenSource (which is more a label aimed at entreprises).

      Each and every free software activist want the opening of ALL source code, no matter if they're actually wanting to have a look at it. As one of many, I don't see any area where I woudln't free my code, but unlike some, I can understand that resources may be non-free (e.g, in a videogame, while the engine should be free, say dual licenced GPL / and commercial licence for the company to make some money, like MySQL, I understand that graphics and creation, music, could be non-free). It doesn't mean music, art in general shouldn't be free but it always depends on your business model.

      So to say, Free software isn't about the ability of the user to fix a bug. It's not about users at all, in fact. It's about the software itself, and its freedom. This is why we talk about philosophy when it comes to free software, since it is a movement of idea, whereas opensource is a business model that uses free software (and which was at first aimed at advertising free software).

      Programming languages are not about being free. They're about being standards (good) or not (bad). People in the free software community want these languages *implementations* (ie compilers, libraries) to be free because some Linux distro (eg Debian) refuse to have non-free packages (at least in the main branch). See the Debian Social Contract.

    14. Re:Eclipse? by LDoggg_ · · Score: 1

      I agree. Fedora splits up java stuff in different places and puts the java executable in /usr/bin. To override this you need to put JAVA_HOME/bin before it in your PATH.
      If the whole thing was somewhere like in /usr/local/gpl_jdk then you could just have a symlink for it as /usr/local/java and also have things like /usr/local/jdk1.4 and /usr/local/jdk1.5 in there.
      PATH could then just include /usr/local/java/bin and you could easily switch JVMs just by changing the symlink.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    15. Re:Eclipse? by andersonbd1 · · Score: 2, Insightful

      Have you ever programmed in java before? We're talking about the jvm/compiler/and core api. All 3 of these aspects are very well documented, and all 3 perform as they should. I challenge you to find a bug and if you do, I'm sure Sun will fix it. A certian open-source mentality doesn't apply here. Sun pays professional developers to develop java - you're not just going to run into bugs here and there that you could have easily fixed if it were open source. I love open source, use it everyday, and wish sun would release their code under a different license, but at least make a valid argument.

    16. Re:Eclipse? by Anonymous Coward · · Score: 0

      Yes, you may even have a solid, bullet-proof contract with your provider - but what happens when they go out of business?

      It's called Escrow.

    17. Re:Eclipse? by tolkienfan · · Score: 1
      This is so true.

      I learned Smalltalk before Java. C before both.

      With Smalltalk, I learned more from the existing code of the platform, than from everything else combined.

      Access to the source code is so beneficial, you could say it's critically important.

      Going back to proprietary platforms, and black-box APIs is so painful!

    18. Re:Eclipse? by bluGill · · Score: 0, Flamebait

      I haven't programed java since 1.0.3...

      Perhaps Java is as stable as you say, I wouldn't know. I do know that many other products are not as stable as the hype would lead you to believe. Therefore I don't trust Java either.

    19. Re:Eclipse? by Mr.+Shiny+And+New · · Score: 2, Insightful

      The source code for the Java API is available, but not with a Free license. It ships with every JDK. What's not available is the JVM source... at least, also not with a Free license. But I've been programming Java for years and rarely look at the API source, and have never needed the JDK source.

    20. Re:Eclipse? by TheDauthi · · Score: 1

      I agree with parent poster, with the exception of one item:
      No one is really certain that Microsoft, creator of C#, will not try to hold some type of litigation against Mono. If such happened, at the least, the libraries would change, and at the most, mono itself would disappear. In fact, such an argument is the primary reason management at my job turned down C# for a large cross-platform project, instead favoring java, or even C++ over it. _IF_ the legal status of Mono was clear, I would happily code almost any smaller application I wrote in it. It's really an excellent language.

    21. Re:Eclipse? by FictionPimp · · Score: 1

      Because non open source programs and languages can be changed and there is nothing we can do about it. Microsoft can drop C# support like they did VB6 and we can't fork it and keep on working with it. We get screwed and have to redo a lot of work to get up to speed on the next flavor of the week. If open source development changes direction or dies and enough people like it, they can fork the project and keep it going in the like minded direction.

    22. Re:Eclipse? by iwadasn · · Score: 1


      You're right about most things, but in the case of Sun's java, you can read the source behind the core classes. Rarely would the source behind the hotspot compiler (doubtless one of the most complicated pieces of software ever written) help you.

      Not that I disagree that opensource would be better, but I'm not sure that it's best to spend the effort to attack a system that is very close, when there are so many that are not close at all.

      That being said, it's good to have large, complex systems like this opensourced. Maybe then it can finally be put in as the top level of Linux and dispell all the libc/x11/posix/kde/GTK nastiness once and for all. One API to rule them all.....

    23. Re:Eclipse? by jericho4.0 · · Score: 1
      I'm a beliver in useing the right tool for the job, and if that tool is propietary, so be it. But given the choice, I'll always take the open solution.

      I can't really understand why anyone wouldn't be biased this way. It's our common property, and the more use it gets, the better it becomes.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    24. Re:Eclipse? by crazyphilman · · Score: 1

      Au contraire!

      I decided to focus on C# precisely BECAUSE it has an open-source implementation (and because it's an ECMA standard, which is a very nice feature). Sun can completely change the whole Java language whenever they feel like it -- that bothers me. You can't change an ECMA standard on a whim -- if you learn C#, you've learned something that'll be fairly static for a while.

      Come to think of it, Sun could sell Java to someone else, they could decide just to stop developing it, etc. In a way, the Mono project is much safer BECAUSE it's open source. If the Mono guys were to go psycho on us, someone would just fork the project. Not that they ever would. They seem to be really nice guys.

      Anyway, with IBM collaborating with Apache on this (I hope they really pile resources on it), soon there'll be a completely open-source Java and it will be as exciting a target as C#.

      Side benefit: open source java will probably get a LOT of improvements and tweaks, because that's what happens with every open source project. I'm looking forward to seeing what they come up with.

      Good for them, I say.

      --
      Farewell! It's been a fine buncha years!
    25. Re:Eclipse? by HiThere · · Score: 1

      Yes, and if a company wants your business badly enough it will agree to an escrow contract. It frequently doubles the cost, or more.

      Have you heard of MS agreeing to escrow contracts? Who with? What about Ashton-Tate, you know, the compnay that used to own the PC database business?

      When a company feels in a powerful position relative to it's customers, it will rarely agree to an escrow contract that has any utility. Even when it IS a valid escrow contract, how do you know what you'll be getting? One contract a company I used to work for had an escrow provision...and we ended up getting a bunch of assembler code for a machine we no longer had access to...and hadn't had access to for quite awhile. It appears that the updates and software revisions hadn't made it into the escrow copy.

      UGH!

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    26. Re:Eclipse? by Khelder · · Score: 1

      Hear, hear. For example, I think Swing is pretty darned good now, but in the early days (~1997) it was buggy and the documentation was not complete. Being able to look at the source was a *huge* help.

  2. harmony / kaffe by ChristTrekker · · Score: 1

    What is the relationship between Harmony and Kaffe? Anybody know?

    1. Re:harmony / kaffe by olafura · · Score: 1

      Kaffe started before anything and had a company behind it at one time. Then GNU Classpath started and Kaffe joined that effort. Now Harmony has arrived and they are going to use GNU Classpath, and Kaffe fokes are helping with the design. If that answare your question.

    2. Re:harmony / kaffe by thisisauniqueid · · Score: 1

      You mean both Classpath and Kaffe will be relicensed under the APL?

    3. Re:harmony / kaffe by psykocrime · · Score: 1

      You mean both Classpath and Kaffe will be relicensed under the APL?

      I don't think that's a "given" at this point, but some of the people who are involved with both Classpath and Kaffe, have expressed support for, and interest in, Harmony. Whether that will extend to those projects actually offering their code to Harmony or not, is still up in the air, AFAIK.

      --
      // TODO: Insert Cool Sig
    4. Re:harmony / kaffe by arose · · Score: 1

      According to this mail the ASF is ok with the current GNU Classpath licensing, whatever that means is a different question.

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
    5. Re:harmony / kaffe by arose · · Score: 1

      More reading suggests that this is not quite accurate, however the ASF and the FSF are apparently trying to remove any hurdles to cooperation.

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
    6. Re:harmony / kaffe by Anonymous Coward · · Score: 0

      Relicensing Kaffe won't happen, due to various practical reasons:

      a) just like the linux kernel, it has a bazillion of different copyright holders who would all have to agree. More than 9 years of accumulating contributions, actually. Some of the copyright holders are dead companies, some are dead people.

      b) Other, more easily (due to a single copyright holder) relicenseable alternatives exist, and have been offered to the Harmony project (JCVM, for example).

      c) Being licensed under the GPL is a good thing, as it allows Kaffe to integrate improvements done on various GPL-licensed research forks (JanosVM, Jessica, ...), and exchange code with GPLd runtimes (CacaoJVM, gcj). Cutting oneself off from that would not seem to make much sense to me.

      d) Kaffe is gradually going in the direction where Harmony will be going as well, modular runtimes for all purposes, and code reuse from other projects. Ideally Kaffe will end up being able to leverage gcjed class libraries (gcj, jcvm) using a hot-spot like engine (latte) with a fast generated interpreter (vmgen), speedy (jit4) and optimising (cacaojvm) jitters and so on. So the designs one ends up with in Harmony may help other VMs in the GNU Classpath world to more easily exchange components between each other, too.

      cheers,
      dalibor topic

  3. Talk about fragmenting the standard... by jarich · · Score: 4, Insightful
    Sun's reasoning for not open sourcing Java is that they didn't want to fragment the Java language with competing verions of Java.

    Looks like ~not~ open sourcing Java is fragmenting the Java language after all!

    1. Re:Talk about fragmenting the standard... by Knome_fan · · Score: 1

      As Sun is still controlling what can be called Java and what not I don't see a reason why this would lead to fragmentation, as I don't see why Sun open sourcing it would have let to fragmentation.

    2. Re:Talk about fragmenting the standard... by ballstothat · · Score: 4, Insightful
      I completely agree with Sun's stance on not fragmenting their code. While their licensing isn't agreeable, there are millions of java powered items out there. If Java turned into a bunch of different flavors (insert mocha, vanilla, hazelnut joke here), then it would be a headache.

      The JRE for Windows XP is already 15.4 MB. If there was 5 different REs that I had to download to use all the Java flavors, that wouldn't be cool.

      I feel that Sun's thinking is sound from a business and usefulness perspective, even if it is starting to backfire.

      --
      10
      20 Print "Balls To That"
    3. Re:Talk about fragmenting the standard... by Jason+Earl · · Score: 3, Insightful

      No matter how compliant Harmony purports to be it is still going to be different than Sun's JVM. Any sysadmin that has ever had to juggle multiple JVMs can tell you that Sun's Write Once Run Anywhere motto can quickly become Write Once Debug Everywhere.

      It's also entirely possible that Harmony won't even try for complete compliance. Don't forget that IBM is still pushing their non-Java SWT instead of Swing. Red Hat already has its own Java stack that's good enough to run most Java Free Software (including Eclipse), but no one is pretending that it's Java.

      Sun has stated that it doesn't want to "free" its J2SE stack because it is afraid that source availability would lead to forks. However, no fork of Sun's code is likely to diverge from Sun's fold as much as a completely new Free Software Java-like implementation.

    4. Re:Talk about fragmenting the standard... by Anonymous Coward · · Score: 1, Insightful

      Just look what happened to C!

    5. Re:Talk about fragmenting the standard... by luiss · · Score: 5, Informative

      This project is implementing a Java Virtual Machine. How in the world does this fragment the Java Language any more than let's say Apple or IBM's many JVM implementations?

      Now, if Harmony intends to "extend" the Java Language by lets say, adding new keywords, just as Microsoft did with J++ at one point, then you can start worrying about Java Language fragmentation (in which case Sun would not allow Harmony to call itself a Java(TM) Virtual Machine).

    6. Re:Talk about fragmenting the standard... by Anonymous Coward · · Score: 0

      Sun won't "open source" their Java implementation for the same reason they still keep iron control over the spec and ensure they have permanent control over the joke "Java Community Process". Sun sees Java as *its* language and only tosses occasional crumbs to other companies who entangle themselves in their IP trap...

      I mean, look at Sun/Java/Linux... Java on Linux is a mess. A total disgrace. Swing is fucking nightmarishly awful under Linux... with no prospect of ever getting better. In fact, Java system is only going to get the shaft under Linux, since Sun has every reason to sabotage it (either through idiotic implementation, or just doing everything late) and convince companies needing Java to run their Open(cough)Solaris... because, y'know, Linux just doesn't work right.

    7. Re:Talk about fragmenting the standard... by Knome_fan · · Score: 3, Insightful

      "No matter how compliant Harmony purports to be it is still going to be different than Sun's JVM. Any sysadmin that has ever had to juggle multiple JVMs can tell you that Sun's Write Once Run Anywhere motto can quickly become Write Once Debug Everywhere."

      But this is a general problem of having different JVMs. So now also having one that is open source doesn't change the situation in any way.

      "It's also entirely possible that Harmony won't even try for complete compliance. Don't forget that IBM is still pushing their non-Java SWT instead of Swing. Red Hat already has its own Java stack that's good enough to run most Java Free Software (including Eclipse), but no one is pretending that it's Java."

      It's possible, but not very likely considering that the statet goal of Harmony is to "create a compatible implementation of J2SE 5".
      As to Red Hat, it isn't Java, because it isn't mature enough and only implements parts of the Java specs. But doesn't this example show that your worries are unfounded, as Red Hat is neither trying to create something different from Java, nor to call something Java that doesn't meat the criteria?

      "Sun has stated that it doesn't want to "free" its J2SE stack because it is afraid that source availability would lead to forks. However, no fork of Sun's code is likely to diverge from Sun's fold as much as a completely new Free Software Java-like implementation."

      Again, you are supposing it is a free software java-like implementation, whereas the goal is to create a free java implementation.
      While you are of course right that having such an implementation would make it easier to fork Java, I don't see why anybody should try to do this, as the chances for the success of such a fork are minimal at best.

    8. Re:Talk about fragmenting the standard... by ForumTroll · · Score: 1

      Harmony has a goal of being compliant with Sun Java and that's one of the main points of the project, a completely 100% compliant open source JVM. If anyone's going to use it in business or enterprise level applications it's going to have to be compliant and as polished as the Sun JVM. IBM isn't going to attempt to put SWT into this JVM as the vast majority of people in the Java community have realized that SWT is a huge mess and it's currently running into tons of problems because of the architecture IBM decided to take with it. They're running into problems Swing solved 5 years ago and now they have to either abandon it or make SWT's architecture more like Swing. Furthermore, flaws in SWT go unfixed for months at a time and many times when debugging those bugs you need to look at code written in C which is just a huge pain in the ass for Java developers.

      Not to mention that if they included SWT instead of Swing they wouldn't be compliant and most applications out there wouldn't be able to run on this JVM without added Swing libraries. Then if they included both they just made the JVM way more bloated then necessary. IBM is perfectly happy with having people download SWT if they want it and then have developers include the libraries when distributing applications that use it. They're not going to try something as stupid as trying to put it into this JVM.

      --
      "A Lisp programmer knows the value of everything, but the cost of nothing." - Alan Perlis
    9. Re:Talk about fragmenting the standard... by Anonymous Coward · · Score: 0

      No... JVMs are ten a penny (I could knock one up in a day *)... this is mostly about the class libraries, which are by far the biggest part of the project.

      * Yes, one day. A fast, clever JVM is a big job... a working quick and dirty one is a doddle.

    10. Re:Talk about fragmenting the standard... by Knetzar · · Score: 1

      I don't think IBM would try and include SWT instead of Swing, but they might try and include SWT in addition to Swing.

    11. Re:Talk about fragmenting the standard... by ForumTroll · · Score: 1

      Agreed, I also believe this is more likely. However, I think it would be a big drawback if the new open source JVM was more bloated than Sun's current JVM. A lot of people are becoming more and more angry and vocal about the bloat that is being included directly into the JVM and the base class libraries. I mean they're including a JavaScript engine in the next release you couldn't get much more overkill than that.... Was dropping a Jar from one of the many available JavaScript engines into the project too much to handle for these people? I guess we'll have to wait and see though.

      --
      "A Lisp programmer knows the value of everything, but the cost of nothing." - Alan Perlis
    12. Re:Talk about fragmenting the standard... by Linus+Torvaalds · · Score: 2, Interesting

      Talk about missing the point!

      The person you are replying to was pointing out that Sun's stance causes fragmentation of the Java platform.

      Pointing out that Sun not wanting to fragment the Java platform is entirely beside the point. The best thing they could do to avoid fragmentation would be to make their implementation open-source. Anything else, and it will force many people to create new implementations rather than use Sun's.

    13. Re:Talk about fragmenting the standard... by Decaff · · Score: 1

      Any sysadmin that has ever had to juggle multiple JVMs can tell you that Sun's Write Once Run Anywhere motto can quickly become Write Once Debug Everywhere.

      Do you have an example? I have never found this; even substantial applications like NetBeans run on different VMs, and even different vendors VMs.

      Don't forget that IBM is still pushing their non-Java SWT instead of Swing.

      Apart from the fact that few people are using SWT, it is not an instead-of situation; any distribution of Java called Java has to include Swing.

    14. Re:Talk about fragmenting the standard... by flynn_nrg · · Score: 1

      I've always thought that the forking argument was simply bullshit, and I'll tell you why.

      If java was free software you could get your binary package certified by Sun (i.e. run the official tests and pay the fee to be able to stick the Java brand). That means Sun could actually save development money because people could port the jdk/jre to certain niche platforms that are currently unsupported, without Sun having to spend a single dollar on that.

      And another reason why this argument doesn't hold any water, how many forks of python, ruby or perl are there? That's what I thought. They have a point because Microsoft tried to fuck them with their modified java runtime, but if somebody does that they can't call it Java anymore, so the point is now moot.

    15. Re:Talk about fragmenting the standard... by a_ghostwheel · · Score: 1

      Easy - JNDI context implementation is incompatible on IBM JDK and Sun JDK. Which means you will never get a reference to remote EJB if client uses different class libraries. And this is basic J2EE stuff.

  4. Neat by Anonymous Coward · · Score: 5, Interesting
    There's been this interesting and very quiet power struggle within the JCP between Sun and IBM. IBM keeps wanting to assert influence over Java and grow the language/platform in ways that they think would be good. Sun keeps trying to simultaneously
    1. keep IBM from taking the language in directions other than Sun wanted to take it in, and
    2. make the JCP a democratic and open process whereby any involved company can take the language in any direction they want.
    This isn't because Sun is evil or malicious or anything; they're just confused about what they want. They honestly want Java to be an open, democratic standard, and they honestly want to control it.

    The "control it" side of things keeps winning, because in the end Sun makes the JVM so they can technically decide what goes in and how it gets distributed.

    This is why I think Harmony is interesting. Sun will no longer control the only good JVM, and if Sun can't stay at least as good as Harmony, then Sun will no longer control the primary JVM. This makes the JCP's democratic ideals a lot more attainable because Sun's just lost their biggest degree of control. IBM trying to weigh in on the side of Harmony, given this context, makes a LOT of sense. They can begin to grow the language how THEY wanted again.

    This is going to be good for IBM, good for open source, and in the long run good for Sun once they realize that trying to control Java too much isn't really in their best interest.
    1. Re:Neat by mpcooke3 · · Score: 1, Interesting

      because in the end Sun makes the JVM

      This is something I confess to not really understanding. The IBM java SDK is as good as the Sun one (probably the only other full fast implementation) why don't they release this as open source. I'd always presumed they couldn't open source is due to Java trademark rules but then if harmony is allowed to do it that can't be the reason.

      Or does the IBM Java SDK contain code they don't own and they can't be bothered to rewrite it?

    2. Re:Neat by danme · · Score: 2, Insightful

      >>Sun will no longer control the only good JVM, and if Sun can't stay at least as good as Harmony, then Sun will no longer control the primary JVM.

      How does this differ from the incompatible Java framework released years ago by Microsoft? If Harmony takes "the lead" - will it be possible that it can be taken to court by Sun? Or is it simly because of the monopoly market situation that Microsoft is and were in?

    3. Re:Neat by TheRaven64 · · Score: 2, Informative
      A Java implementation comes in two parts. Part 1 is the JVM. Sun have one, IBM have one, and there are a few others. This is the (comparatively) easy part. Part 2 is the huge class library. Java is a platform - people writing Java code expect everything in the class library to be available. Currently (at least, last time I checked) everyone who distributes Java distributes Sun's implementation of the standard class library (possibly modified slightly at the edges for platform integration).

      If IBM had a complete Java implementation, then they could release it as open source, but if it were modified by the community then it would have to be re-certified as Java before every release.

      --
      I am TheRaven on Soylent News
    4. Re:Neat by Anonymous Coward · · Score: 0
      Microsoft was taken to court by Sun because
      1. They were violating an existing contract with Sun,
      2. They were using Sun's trademarks outside the scope of applicable license.
      As long as Apache doesn't enter into any contracts with Sun they don't intend to keep, and as long as they don't claim to be Java compliant if they are not, Harmony is fine.

      Also be aware that it's possible to extend the java language while still being java compliant. You just have to do it within the normal JCP process. Sun specifically and purposefully set up a system whereby the java language and platform could extend and grow without sacficing the platform's write-once-run-anywhere principles! Microsoft, however, was purposefully spurning this system because breaking Java was their goal. This is why Microsoft was a problem and Harmony was not.
    5. Re:Neat by mpcooke3 · · Score: 1

      Thanks, I didn't realise that IBM were redistributing SUNs libs. That would certainly explain the mysterious licensing restrictions!

    6. Re:Neat by LDoggg_ · · Score: 1

      Exactly!
      What we need is IBM's JVM to be open-sourced PLUS a finished GNU classpath.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    7. Re:Neat by mark_lybarger · · Score: 1

      ibm licenses the class libraries from sun and rebuilds them as they see fit for their particular jvm. for instance, each included separate versions of apache xalan to handle jaxp stuff in the 1.4 series.

      i think sun has dropped (hopefully) xalan from their distro. it's hard for a web application to use it's own version of xerces when it's supplied by the jvm. you get only one shot to use the endorsed folder per jvm, not per web app deployed to the container.

  5. so? by ThatGeek · · Score: 5, Funny

    "IBM's participation is limited to thoughts on design, but the company likely will contribute code to the project".

    I put this through BabelFish's translator. Apparently, this could be taken to mean:

    "A big company is going to do little to help out, but is willing to share credit for an open source project."

    Me? cynical? Never!

    --
    What are you eating? isItVeg?.
    1. Re:so? by Anonymous Coward · · Score: 1, Insightful

      Yeah because as we all know, IBM's never done anything for Java.

  6. What about GCJ? by AnuradhaRatnaweera · · Score: 2, Interesting

    After the FSF call for volunteers, GNU Java compiler / VM has come of age. It was reported here, too. RedHat Fedora Core 4 even includes a native version (doesn't depend on JVM, but runs as a "normal" binary) of Eclipse, compiled with GCJ.

  7. Jave Everywhere by kidtux1 · · Score: 1

    Even if java isn't open source there are so many different flavors of it. It's been changed so much to allow it to fit anywhere, phones, idcards, computers. I think they already have a split java language! http://www.kunae.blogspot.com/

  8. Having an open source Java... by tcopeland · · Score: 0, Offtopic

    ...will help prevent code like this, too. Removing useless code can't help but improve performance, not to mention readability...

    [plug]
    Support your local open source static code analysis utility!
    [/plug]

    1. Re:Having an open source Java... by Anonymous Coward · · Score: 0

      Err...there are some perfectly valid reasons for some of the items that would flag warnings. You know...reality-based programming.

      An empty catch block? Useful for ignoring non-critical errors.

      Empty If statements? Sometimes, when precedence is important and multiple programmers are working on a project, this more clearly communicates the precedence to other programmers.

    2. Re:Having an open source Java... by tcopeland · · Score: 1

      > there are some perfectly valid reasons

      Yup, true.

      > An empty catch block? Useful for
      > ignoring non-critical errors.

      Yup, true.

      > Empty If statements? Sometimes [...]

      Occasionally but rarely true. But I'd venture to say that the vast majority of empty if blocks are either bugs or just sloppy coding and should be cleaned up.

      So yes, you're right, sometimes the warnings can be ignored. But in many cases, they are legitimate.

    3. Re:Having an open source Java... by Anonymous Coward · · Score: 0

      About half of the files in that list are from Apache so what does being open source have to do with anything?

    4. Re:Having an open source Java... by tcopeland · · Score: 1

      > About half of the files in that list
      > are from Apache

      Touche!

  9. And Harmony is? by gorbachev · · Score: 1, Funny

    Some sort of Open Source dating service?

    --
    In Soviet Russia, I ruled you
    1. Re:And Harmony is? by turgid · · Score: 1

      It used to be a project to develop a Free clone of QT back in the day.

  10. in summary: by nickos · · Score: 2, Insightful

    IBM says "this is what we want, now get on with making it for us".

  11. Here we go by $RANDOMLUSER · · Score: 5, Interesting

    The Richard Stallmans of the world have long wanted Java to be an open source language, while Sun Microsystems has said that they want to be the single point of control for the language. The biug lawsuit between Sun and Microsoft was about Microsoft making unauthorised changes to the language spec. Through the Java Community Process, Sun has allowed developers at large to make suggestions and improvements to the language if Sun approved of them. Sun controls the specification of the language and the reference JVM implimentation. The battle isn't about the JVM being open source, it's about the language specification. Sun's fear is that by opening the specification, someone's going to say "You know, I've always felt the language should have pointers", and the language will fall into Creeping Featurism the way C++ did. The recent (1.5) introduction of template-like behavior, at the demands of the "more features" crowd is already a step in that direction. No matter how you slice it, it seems we're doomed to a Java with more and more new features (remove run-time array bounds checking for performance, anyone?) and more and more fragmentation.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    1. Re:Here we go by ackdesha · · Score: 1

      "Sun's fear is that by opening the specification, someone's going to say "You know, I've always felt the language should have pointers", and the language will fall into Creeping Featurism the way C++ did."

      I don't think that would be the case at all. When I think Java, I think of the complexity peddling market. It's always been in Sun's best interest to grow complexity. If Java was straightforward, there wouldn't need to be any support or consulting from the likes of IBM and Sun. I think that is why we're seeing more and more C++ like features. FOSS supporters tend to keep things as simple as possible. Corporations tend to make them as complex as possible.

    2. Re:Here we go by iwadasn · · Score: 1


      Exactly. There are a lot of programmers who don't understand that less is better. Java has already allowed too much, though my gripes are likely a little non-standard. For instance, curly braces after an if/for/while should be mandatory, not optional....

      The whole point of a language is to codify thought in a unambiguous and easy to understand manner. Having 20 ways of doing anything doesn't help. The guys who love C++ also tend to be the loudest, most obnoxious bunch when it comes to standards. If java was released, they would push and push until they go operator overloading, function pointers, pointers, malloc, free, etc... into the language. This is what happened to C#, and it makes the thing unbearable to use if you don't care about the religion, but just want to do your job.

      Furthermore, most of the suggestions would fundametally undermine the (supposed) purpose of Java, protected memory through type safety alone. This is provably possible with java (provided you have a competent VM and no JNI), but provably impossible with any system that allows unrestricted pointers and similar trash.

      Java remains futureproofed as long as it is well defined enough that it doesn't depend on underlying hardware. Throw in too much trash, and you'll lose that, and people will (like they did with C++) wonder just why the language sucks so bad, and where all these bugs came from.

    3. Re:Here we go by kaffiene · · Score: 1

      Bullshit.

      The language is controled by the Java Community Process. That involves Sun, 3rd Party companies and community spokespeople.

  12. Swing? by ravenspear · · Score: 4, Informative

    GCJ still only provides limited support for Swing. I don't think it can be said that it has "come of age" until that support is there in a form that at least remotely resembles javac.

    1. Re:Swing? by Jason+Earl · · Score: 2, Insightful

      If you are willing to forgo Swing and use SWT then GCJ is a pretty compelling choice.

    2. Re:Swing? by Anonymous Coward · · Score: 0

      I consider the lack of Swing to be a blessing... much like my lack of rabies or diptheria.

    3. Re:Swing? by david.gilbert · · Score: 1

      If you take a look at the ChangeLog for GNU Classpath, you'll see a lot of work being done on javax.swing in recent weeks:

      http://savannah.gnu.org/cgi-bin/viewcvs/classpath/ classpath/ChangeLog

      If you want javax.swing.* to be complete, why not join in and make it happen?

    4. Re:Swing? by Tobias+Luetke · · Score: 1
      If you are willing to forgo Swing and use SWT then GCJ is a pretty compelling choice.

      And god forbit, your users might not be so drastically punished for your terrible error of judgement to use java to write a desktop application!

      Its a win win!

      (for completeness: swing is supposed to become better with the next java release)

    5. Re:Swing? by owlstead · · Score: 1

      Eh? I think you are trying to compare apples and pears here. GCJ uses ClassPath, the open source implementation of the API. GCJ is, as the name implies, the GNU Compiler for Java. GCJ will never support Swing, but ClassPath might.

      I thouroughly hate Swing. It's very usefull, has great concepts of a good GUI implementation, but it forgets that about 90% of the users want their native widgets put to good use. SWT is quite enough for me. Both Eclipse and Azureus are on top of the heap for Java GUI implementations. Swing really does not even come close.

    6. Re:Swing? by Anonymous Coward · · Score: 0

      What are your problems with swing?
      I keep hearnig bad things about it, but it seems very easy to code with and the last couple versions seem fast enough.
      The API is put together in a logical order, and the event model is straight forward enough.

    7. Re:Swing? by Anonymous Coward · · Score: 0

      If only SWT didn't have stupid constructors requiring ORed lists of constants.
      Why not just use Bean type default empty constructors with property getter/setters like every other java API?

      IMHO 90% of users don't give a shit about whether or not a widget is native as long as the application is responsive and doesn't look so off that wall that they can't tell a button from a drop-down list or text field.

    8. Re:Swing? by Anonymous Coward · · Score: 0

      Fast enough for what? Swing is ass-slow. It will always be ass-slow unless you throw gobs of hardware at it. Sun has been promising that all the problems with Swing will be sorted out in the "next version", and they never have.

      Swing under Windows is faster than it used to be (but it's still slower than native and ugly *and* stands out a mile from the native apps) because Sun spent ages developing it to use DirectX. Under Linux, it's practically criminal. It still looks like ass, runs like ass and uses staggering amounts of RAM. I don't care whether the API is nice (it is quite pleasant to write to), because none of that matters if the end result is shit.

  13. A question about Java by bogaboga · · Score: 1
    Can someone inform you why SUN will not allow Linux distros distribute java? I know it about licensing but what is the logic behind this? If I were SUN, the distribution of java could only be good news as this would enable java spread...and this can only be good news...because it definitely helps popularize java and increases the potential for sales of other services based on java.

    That is how MS-word became popular since M$ allowed Word to be pirated. The same applied to Windows.

    1. Re:A question about Java by silviuc · · Score: 1

      The question is why doesn't Sun let Java "go" ?

      Vendors don't put java in the "community" releases because of licensing issues (hint: not free). It's more of a philosophical thing. For the same reason you don't find mp3 players in some of them.

      I don't understand why you try to make a connection to spreading java by including it in a distro and spreading windows by pirating it. It's not the same thing. I have java on my linux system and I got legally from Sun's webpage.

    2. Re:A question about Java by bogaboga · · Score: 1
      > I don't understand why you try to make a connection to spreading java by including it in a distro and spreading windows by pirating it. It's not the same thing. I have java on my linux system and I got legally from Sun's webpage.

      The concept was about "spreading" a piece of software...not the concept of pirating vs legally obtaining a software.

      But I understand your point and totally agree with it.

    3. Re:A question about Java by thedak · · Score: 1

      I do agree. I think it would help Sun's case alot, especially with the development of this jvm to allow linux distros to get theirs out, if the large portion of consumers already have sun's jvm, why would they download this one? And that would help keep Sun on top.

      My sort of off-topic comment is next. Why does an open source jvm/wanting to open source the language appeal to everyone? Well okay, the idea of an open source jvm isn't so bad since with Sun's licensing, we can't get it bundled with our distros so it makes admins do some extra work etc. But, open sourcing the language? Personally, that scares the bejeebies out of me. As much as I am for open source, want to start my own open source project of some sort.. I don't think open sourcing a language is really that great idea, it allows democratic control and alot of forks, possibly harming the language while having it controlled by sun avoids these problems and lets it be ruled with an iron fist. When it comes to a programming language people know and use, it'd be nice not to have the risk of changes to earlier code, even if it does help a little bit, a change ot syntax would break alot of programs running through a new jvm version. Not good for the language.. Anyways, just my 2cents.

    4. Re:A question about Java by Anonymous Coward · · Score: 2, Informative

      Can someone inform you why SUN will not allow Linux distros distribute java? I know it about licensing but what is the logic behind this?

      The last thing Sun wants is Linux distros being competitive. The "let's support Linux" war was lost at Sun a couple of years ago... Java and its licensing is a weapon in that war. Why make it possible for Linux distros to legally distribute Java easily when it would take sales/support money away from OpenSolaris? *That's* why an open source Java is needed... or preferably, fuck Java altogether and use something better designed and more open... like Mono (whose spec is at least standardised with an international standards body... something Sun refuses to do with Java).

    5. Re:A question about Java by 97718 · · Score: 1

      You said that open sourcing java would scare you.

      Do open source languages such as Python, Perl, Ruby, GCC, PHP scare you?

      I can make my own fork of Python. However people would probably still stick with regular Python unless the my new fork was a better product.

      I do currently use and would continue to use Sun's JVM if open sourced.

      Besides, couldn't they open the source while protecting the Java trademark? Sun's customers who want Java still would get the Sun version, and forks would have to be called something else.

      I view it similar to how Red Hat is dealing with CentOS. All of RedHat's customers aren't flocking to CentOS, people are still paying RedHat a lot of money.

    6. Re:A question about Java by turgid · · Score: 1
      Can someone inform you why SUN will not allow Linux distros distribute java?

      Sun does allow Linux distributions to distribute Java. For example, Slackware comes with the Java SDK as standard.

  14. Sun, IBM, and Compatibility. by reporter · · Score: 3, Interesting
    According to "Sun Lashes Out at Open Source J2SE", Sun hates the Harmony project.

    Yet, IBM loves it and is now, apparently, committing to it. Once IBM backs an open-source product (e.g. Linux) and ships it to customers, then IBM ensures that the product performs flawlessly. Who can doubt that IBM is a significant contributor to the high-reliability of today's Linux build? The strength of IBM is its commitment to its customers.

    What is interesting is that, from a business perspective, there is no need for Harmony to be fully compliant with Sun's closed Java standards. The route to divergence is to (1) define a new language called "Harmony", (2) place it with a standards body, (3) maintain full compatibility with only the current version of Java (in order to support all of IBM's current customers and developers) but deliberately diverge from compatibility for future versions of Java, (4) arrange for IBM to jettison use of future versions of Java and to fully utilize Harmony, (5) generously borrow the best concepts from Java while ensuring that the word "Java" is never used (in order to avoid a lawsuit), and (6) build support for Harmony in GCC. This strategy could work.

    C# is a ripoff of Java and is quite popular.

    There is nothing magical about the Java name. Just consistently use the name, "Harmony", on this proposed Java variant. Everyone will know that "Harmony" is Java -- plus additional stuff. Even if "Harmony" is only 98% compatible with future versions of Java, "Harmony" could grab the software development if the open-source community backs it.

    1. Re:Sun, IBM, and Compatibility. by what+about · · Score: 1

      I wanted to moderate interesting but I am not sure of what you actually mean. What I understood is:

      IBM loves Java and it is committed to it.

      But IBM wants to open Java and make it incompatible, creating another free standard.

      So, who is going to be happy with this ?

      Java developers that have another standard to support (beside SWT)

      IBM, after they hurt Sun attempt to have a standard platform ?

      Will the free community be happy after every one can create their own language ? (They can already do that, just do not call it Java)

      I am completly for a "free" JVM that is compatible the standard Java, I am against another ripoff of Java not from Microsoft this time but from IBM.

    2. Re:Sun, IBM, and Compatibility. by braindead · · Score: 2, Interesting

      What is interesting is that, from a business perspective, there is no need for Harmony to be fully compliant with Sun's closed Java standards. The route to divergence is...

      I think that full compliance is important. There's a world of difference between getting people to use a new VM for an existing language, and proposing a new language.

      If Harmony is a fork of Java, then I want nothing to do with it.

    3. Re:Sun, IBM, and Compatibility. by HiThere · · Score: 1

      Are you addicted to your current language?

      The postulate was that Harmony would be compatible with the CURRENT release of Java, but would diverge in the future. This would seem to imply a rather slow divergence, with a large shared core language.

      Now personally my idea of the desireability of Sun as a language designer is such that I stopped using Java BEFORE I decided that I didn't like their EULA. (I must admit it's not a horrible EULA, but the provision that all distribution must come from Sun is one that after thought I found unacceptable...so I stopped accepting it. I may eventually use gcj, ... but I don't really like Java. I prefer Python or Ruby or D (Digital Mars D, not one of the others), or even Eiffel (despite the Eiffel community's inability to maintain backwards compatibility with it's libraries). I might well prefer Scheme or Lisp, but I've never really gotten far enough into them to know. (In other words, I think that as a language design Java is nowhere near the top of the heap. It's generally worse than Ada, and is only redeemed by having built-in garbage collection.)

      As you can tell, I don't feel strong commitment to any particular language...and I have a taste that dislike pointers and likes garbage collection. And I still don't like Java. I'll grant you that a large part of it is the design of the library classes... but what does anyone like about Java? Anything that many other languages don't have? Bet'cha it's the library classes...you know, the things that I think are so poorly designed.

      I'll grant you that having a large selection of library classes is important. I would counter-claim, however, that having a well designed set of library classes is nearly as important. And I will further assert that any language where it takes 10 "lines" of code to open a file and read a couple of formatted text records isn't well designed. (I may be exaggerating, but I was thoroughly apalled by the shenanigans that were required to read and write files from Java. It's one saving grace was that it DID have a class for doing random-IO, which not all languages do. (Eiffel for one...none of the dialects seem to have such a library without adding the POSIX compatibility layer, which requires two separate libraries maintained by people independent of the compiler projects, and which the compiler writers seem to enjoy breaking with new releases). And many languages DO make hard sledding of implementing simple seek and tell operations.

      My needs don't describe those of everyone, but how is the prospect of Harmony not being compatible with FUTURE versions of Java unreasonable. It certainly couldn't promise to be compatible, what with the mad frenzy of patenting absurd features of software, so it's definitely GOT to keep the option of diverging at least open.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  15. Harmony by kevin_conaway · · Score: 1, Redundant

    And for those of us who don't read the article and don't know what Harmony is:

    Harmony is the Apache Foundations project to create an open source edition of Java SE (Standard Edition).

    1. Re:Harmony by ChristTrekker · · Score: 1

      I'd be more interested in support of J2EE 1.4 than J2SE 5. But that's just me.

    2. Re:Harmony by Anonymous Coward · · Score: 0

      Jboss?

  16. Re:harmony / kaffe / sablevm by Anonymous Coward · · Score: 1, Interesting

    Not to mention the sablevm project, who already collaborate with Classpath...

  17. IBM JVM & Sun source code by Anonymous Coward · · Score: 0


    IBM is going to have to be very careful about this. Their JVM is based on Sun's source code, so anyone who's come within spitting distance of it will have to be kept far, far away from this project.

    Son of SCO anyone?

  18. become one with the Microsoft.. by Tominva1045 · · Score: 1



    Harmony.. Java.. whilst you wrestle with what you ought to be and the collection of features you might someday have .Net assimilating generations of developers in the prime of their coding life- developers bringing applications to market.

    Resistance is futile..

    You too will become one with the Microsoft.. once you have kids, wives, car payments, and mortgages.

    Join us, won't you :-)

    --
    Cogito Ergo Sum
    1. Re:become one with the Microsoft.. by Anonymous Coward · · Score: 0


      yup, just like VB. All hail VB!

      now I need to go for a shower, I feel dirty. :(

    2. Re:become one with the Microsoft.. by Anonymous Coward · · Score: 0
      You too will become one with the Microsoft.. once you have kids, wives, car payments, and mortgages.

      Phew! I don't have car payments...

    3. Re:become one with the Microsoft.. by CrazedWalrus · · Score: 1

      As a professional Linux/Unix developer in my 3rd major international corporation, I have to wonder why this obviously silly argument keeps coming up. I realize that you are probably being sarcastic, but plenty of people say the same thing, and are actually serious.

      Linux/FOSS has not only been accepted at major corporations, it's thriving. While the desktop market share of Linux may be relatively small, to suggest that this implies that no 'serious' work can be done with FOSS is simply unrealistic.

      The job market here is incredible for people with *nix development skills, and Linux experience is a huge plus on the resume. In fact, *nix developers are *better* paid than Windows developers -- at least here in NYC, where Linux and OSS are increasingly helping to make the world turn (technologically speaking).

      Generally, only front-end work is done on the Windows platform, and even this is increasingly being shifted toward web-based interfaces. Almost always, the heavy lifting is done on a Unix variant.

      I don't want to dwell on this too much, but you'd have a hard time convincing me that your statement is true. Me, and my wife and two kids.

  19. fix java by Anonymous Coward · · Score: 0

    well someone needs to fix java before people find D and realize how totally shitty java is...

  20. JVM versus platform by Anonymous Coward · · Score: 1, Informative

    One of the things muddling any discussion of this type is people who forget the Java VM, or rather the Java language, and the Java platform, or rather the language plus the Java class libraries, are very different.

    The language is not simple, but it is well documented and understood. Creating a JVM which is absolutely correct and compliant with Sun's is not hard.

    What is hard is implementing the class libraries. These are huge, beastly, and not all that clearly documented. And unless you count gnu-classpath (you shouldn't), there's only one implementation of it. These, the class libraries, are where the Write Once Debug Everywhere problems come from.

    However, here's the trick: The class libraries are portable. They're written in Java! That is, if you have a compliant JVM, you can probably run the same class libraries any other JVM can. In the bad old days of AWT, the class libraries were very closely tied into the JVM and were in large part written in nonportable C. This isn't the case anymore.

    So: Let's say Harmony gets big. Let's furthermore say Harmony goes with some kind of crazy gnu-classpath workalike which isn't quite the Sun Java class libraries. This might be okay! We can almost certainly just install the Sun Java class libraries on Harmony, or the Harmony class libraries on sun's jvm. All it would take is for Sun to loosen up a little about their class library licensing. Once Sun realizes that they're at real risk of fragmenting the community and having the entire linux/open source world switch to their own homebrewed class library if they don't do so, they might consider it.

    1. Re:JVM versus platform by tod_miller · · Score: 1

      Once Sun realizes that they're at real risk of fragmenting the community and having the entire linux/open source world switch to their own homebrewed class library if they don't do so, they might consider it.

      Rubbish. 'fragmenting the community' is nothing to do with open sourcing Java. I also think that 'linux/open source' is a geekcist remark, and I won't tollerate geekism. Not everyone in these communities agrees with that, I would say most would choose the cowboy neal option in a poll and carry on writing their enterprise apps.

      --
      #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
  21. Cue SCO by jdavidb · · Score: 1

    Good. This way a few years from now, SCO, or whoever else has bought the rights to the decrepit old proprietary UNIX I mean Java codebase can sue IBM for allegedly contributing code they didn't have the rights to to Harmony.

    I mean, nobody could build a Java virtual machine without copying code, right? That would be an impossible superhuman feat!

  22. Eclipse is Open Source by Nailer · · Score: 1

    And can be built and run on a completely OSS Java stack using GCJ, thanks to the work of a whole bunch of guys at Red Hat.

    It ships with Fedora Core 4 as the main IDE and Red Hat sells commercial support for it as Red Hat Developer Suite.

  23. Making assumptions by Geek+Dash+Boy · · Score: 1

    I was beginning to doubt that Harmony would ever get out of the starting gate, but with IBM cracking the whip, maybe they have a chance.

    There has been some backlash over the way the Harmony project is being managed, some of it kinder than others.

    Personally, I agree with Charles Miller - start the project with some working code. down the road, you may have to refactor, but that's a part of software development.

    --
    I say we take off and nuke the entire site from orbit. It's the only way to be sure.
  24. Bad sign for Sun by 0xABADC0DA · · Score: 2, Informative

    I think this is a very bad sign for Sun, because it sound to me like IBM hedging its bets for what might happen if Sun is bought out or sells Java. IBM's java virtual machine is based on Sun code, so if Sun sells the rights to Java then IBM is beholden to somebody else (maybe even Microsoft, who would buy Sun just to finally kill Java). As sad as it is to say, I think IBM sees the writing on the wall that Sun just doesn't seem like the reliable bet these days.

  25. What a surprise! by Anonymous Coward · · Score: 0

    Lets see, IBM is already drinking the Java Kool-aid, IBM is the main force behind the open source project Eclipse, and IBM abandoned their own proprietary webserver in favor of apache awhile ago. So is it really that big of a fucking surprise that IBM would be interested in Harmony? I think not.

    This is only the news if you are too stupid to think.

  26. No, you're not quite right. by Anonymous Coward · · Score: 2, Informative

    If you'll look at harmony's website, you'll see that they aren't just implementing the Java Virtual Machine as you put it. They are implementing J2SE. J2SE is not just a language. It is a platform.

    Platform fragmentation is as, or more important than, language fragmentation*. A language cannot stand alone. You need libraries. Platform fragmentation is what Sun is worried about right now, not language fragmentation. The JVM is not even part of the "open source java" debate, since open source JVMs already exist and Sun is more or less encouraging them!

    Please see my other comment here.

    * Language fragmentation can still happen if Harmony chooses to implement different JSRs than Sun does for some reason. However it is incredibly unlikely that this would be a bad thing. As long as Harmony stays within the accepted protocols for extending the Java language, and keeps any experimental/unapproved-JSR features cleanly quarantined within the -XX "pragma" flags (both of which things, Microsoft did NOT), this will be fine.

  27. IBM could create Harmony overnight by thisisauniqueid · · Score: 1

    IBM already has a complete JDK which actually used to be much better than Sun's in terms of efficiency etc. (not sure how it compares right now). They could just release the whole thing as F/OSS under the new JCP rules, and create Harmony overnight. Why have they not done this yet?

    1. Re:IBM could create Harmony overnight by psykocrime · · Score: 4, Informative

      IBM already has a complete JDK which actually used to be much better than Sun's in terms of efficiency etc. (not sure how it compares right now). They could just release the whole thing as F/OSS under the new JCP rules, and create Harmony overnight. Why have they not done this yet?

      Because IBM's JDK wasn't written from scratch. It's based, to some degree, on Sun's code. I don't know how much Sun code is in IBM's JDK, or the exact details of the license between Sun and IBM, but I know IBM's JDK is subject to Sun licensing.

      --
      // TODO: Insert Cool Sig
    2. Re:IBM could create Harmony overnight by dudeman2 · · Score: 2, Informative

      I believe you are correct, IBM's JDK was not a clean-room implementation - it owes a lot to Sun's JDK. IBM is bound by their licensing agreements with Sun, and the IBM developers that worked with Sun JDK source code are likely 'tainted' enough so that they cannot now work on a clean room implementation.

    3. Re:IBM could create Harmony overnight by TerrapinOrange · · Score: 2, Insightful

      IBM's JVM is based on Sun's. They may be able to contribute bits and pieces, but certainly not the whole thing.

    4. Re:IBM could create Harmony overnight by Dan+Berlin · · Score: 3, Informative

      This isn't true anymore. The old JVM was based on sun's code. The new one is completely cleanroom.

    5. Re:IBM could create Harmony overnight by Anonymous Coward · · Score: 0

      Actually that's wrong. IBM does have a version of the Java class libraries that's based on Sun code. IBM also has a clean-room implementation of the J2ME and J2SE stacks.

    6. Re:IBM could create Harmony overnight by Anonymous Coward · · Score: 1, Informative

      This is 50% correct.

      IBM has two Java offerings. One is the IBM JDK you can freely download off their web page, http://www-128.ibm.com/developerworks/java/jdk/ as "Java Standard Edition" for Linux and other platforms.

      Indeed, this version is an adaptation of the source code found in Sun's JDK. As it is easy to get, up to date (and the only really working JDK for ppc these days), this is the one (of the many Java VMs) provided in, say, Gentoo.

      However, IBM is a big company, which sometimes buy other, smaller companies. Somewhere along the way, the acquired a clean room implementation mysteriously referred to as J9. This is what they use on AIX, for one. To the world, it is being marketed for embedded systems, as a Micro Edition Java.

      When I checked a few months ago, you could only get it as part of other IBM offerings, such as their WebStudio suite.

      The two can easily be distinguised by a java -version. The Standard JDK will identify itself as

      Classic VM (build 1.4.2, J2RE 1.4.2 IBM build cxia321420-20040626 (JIT enabled: jitc))

      whereas the J9 will look something like

      J2RE 1.4.2 IBM J9 2.2 Windows XP x86-32 j9n142ifx-20041102 (JIT enabled) J9VM

    7. Re:IBM could create Harmony overnight by joto · · Score: 1
      This isn't true anymore. The old JVM was based on sun's code. The new one is completely cleanroom.

      Yeah, but we already have plenty of JVMs to choose from. The problem is the rest of the JDK.

    8. Re:IBM could create Harmony overnight by Anonymous Coward · · Score: 0

      Please mod parent up.

      I don't know if I can say that J9 was acquired. A couple of years ago IBM acquired OTI (a successful Smalltalk software firm). One of OTI's products was a Smalltalk VM called K8. A series of events transpired which led newly acquired OTI to morph K8 into a Java VM, aptly named J9.

      OTI has now become the IBM Ottawa Lab (along with the Rational office). The Ottawa Lab also works on something called J9 JCL (Java Class Libraries) which is the J2ME stack you refer to.

    9. Re:IBM could create Harmony overnight by psykocrime · · Score: 1

      Aaah, OK. I only know a little about J9, and to be honest, I thought it was J2ME only or something. The only talk I ever heard about it around IBM, seemed to be relative to pervasive computing and embedding it in devices and such.

      So it's a full-blown J2SE implementation then? If so, that's cool. Maybe IBM will wind up contributing some or all of it to the OSS world. That would be nice.

      --
      // TODO: Insert Cool Sig
  28. Apache license? by thisisauniqueid · · Score: 1

    The GNOME desktop has been looking for a managed language to make app development faster/better. Does the Apache license cause problems for this? A lot of people don't care if the FSF cares, but what does the FSF think about the Apache license?

    1. Re:Apache license? by Anonymous Coward · · Score: 0

      The party line on the apache license is that it's open but not free.

    2. Re:Apache license? by david.gilbert · · Score: 1
      Well, actually, no. It is listed by the Free Software Foundation as a Free Software License that is not compatible with the GPL:

      http://www.fsf.org/licensing/licenses/index_html#G PLIncompatibleLicenses

    3. Re:Apache license? by aztracker1 · · Score: 1

      see: Mono (C# + gtk#) and you have a managed environment for gnome headed by one of the gnome founders, and backed by Novell (SuSE/Ximian)...

      --
      Michael J. Ryan - tracker1.info
    4. Re:Apache license? by thisisauniqueid · · Score: 1

      Yes, but that's MIT licensed for one, and secondly half the GNOME developers would rather sell a limb than use a MS-backed technology, whether the core language has been submitted as an EMCA standard or not. Regardless of how good a technology it is, and regardless of how rational they are being about it, that's where it stands.

  29. IBM's motive by Anonymous Coward · · Score: 0

    It would seem IBM's motive is simply to stop development of their own JVM. They license Sun's code, of course, and then change it to no end -- resulting in numerous IBM-specific bugs and less compatibility than any other JVM I've used.

    My guess is IBM wants to get into Harmony and drive it where they want it to go without doing as much of the work -- at least in the long run.

    Also, it seems strange that IBM is worrying about Harmony when there is as of yet no sign of a Java 5 IBM JRE. IBM's site has articles on how to use various backports to get Java 5 features on Java 1.4 rather than just providing a Java 5 like every other JVM vendor. This is similar to GCJ, etc, which do not provide anything like full recent JVM version support as they're busy rewriting everything from scratch. Sorry, but for the real world I can't see using anything that does not provide Java 5 support right now.

  30. answering my own question by ChristTrekker · · Score: 2, Interesting

    Once I found the Harmony site from someone else's post (hint: it's in the Apache incubator, not a full-fledged project yet), I saw this in the FAQ:

    13) Does this compete with Kaffe and Classpath?

    People from Kaffe and Classpath are helping start this project! Their experience in the open source VM and class library is invaluable, and they bring problems that the larger architecture community discussion can help solve.

    We will have an implementation under the Apache License, but we think of this as complementary rather than competitive. And when we solve a few small license interoperability issues, we expect we'll be able to complement each other even more.

    So, it sounds like a cooperative deal between various players. I've been hoping for an OSS JVM because there is no Java for some of the platforms I use. Having a few big-name drivers behind it will definitely help.

  31. Do you know how to read? by brunes69 · · Score: 1

    Simple - what happens if the platform goes away? What happens if microsoft moves away from .NET, and you want to move to a new platform (PowerPC for example).

    Who gives a crap - I have never touched the Microsoft .Net runtime. You don't need Microsoft anything to run or use Mono.

    Hell, what happens if 20 years from now you find you need an old tool you made in C#? Will it still work? Will there be a compatible .NET run-time for 256-bit computers?

    You re-compile Mono for the 256 bit computer?

    it is called open Source for a reason - it is open. Nothing ties mono to anything else, unless you argue patents, which could be applied to any other VM implementation as well so it is basically a moot point.

    1. Re:Do you know how to read? by Pxtl · · Score: 1

      Don't get me wrong, I support open source as well, but in cases where you are going to view the source rarely, if ever, why bother?

      This sounds like an argument saying that whether or not a product is open-sourced is irrelevant.

      My point wasn't arguing against .net - I use it happily, and am comfortable knowing that Mono is available. I'm just pointing out the folley of people who say "why does it matter if product X is open-source?" -- One should avoid basing a product on a platform where only commercial impelemntations are available.

    2. Re:Do you know how to read? by crazyphilman · · Score: 1

      I thought the patent issue was relatively harmless to Mono -- didn't Microsoft grant anyone who wanted to work with the ECMA standard a non discriminatory, royalty free patent license? I remember seeing some commentary by a few of the people involved in the project about how it's no big deal.

      I think they said that the only thing that has patent issues is Windows.Forms.

      It seems to me that most Linux guys are going to use glade#, gtk#, or qt#, so I don't think that's much of an issue long-term.

      --
      Farewell! It's been a fine buncha years!
  32. If IBM is supportive, you know it's dead by Anonymous Coward · · Score: 0

    IBM has absolutely the worst history with software as any company can have. They have no idea what they are doing when it comes to software. They have a bazillion dead projects lying around.

    I have even worked on some of their projects. They're just scatterbrained. Some good people mixing with complete morons altogether with no direction at all.

    All this says to me is that Java is a lost cause.

  33. IBM strategy by Anonymous Coward · · Score: 0

    It's no secret that IBM's jvm performance beats the crap out of the others' namely BEA and Sun. They've been exploring ways to get their jvm out in the community but not as an "alternative" to Sun's (like BEA's jrockit). They want the top spot, and they have the better product. They don't want to burn bridges and appear like they're "fragmenting" the Java space by releasing a mostly-compatible VM that is performant but has its own quirks (somewhat like Eclipse/SWT vs. pure java). Their jvm is also optimized for IBM hardware and AIX/Linux, so community adoption would put serious pressure on other vendors like BEA and Oracle as they would now have to certify compliance against IBM, not Sun anymore because the market decided, not so called "standards".

    The only technical problem is that it's not as reliable or stable as Sun's VM... but that's mostly a quality issue that can be ironed out as the community pounds on it like it did for Eclipse.

    Open sourcing their VM will get them one step closer to "eclipsing" Sun. Eclipse is not an IDE, it's a STRATEGY!

  34. I tried .NET and C# by Baki · · Score: 1

    Not mono but "the original" without regard to open source or not, and I was horrified.

    All good style from the Java world (that I have grown accustomed to after 5 years of java, done 10 years C++ before that) is gone, the .net class library is a horrible mess, C# has awful style and features. For quite normal file handling stuff I had to resort to the JNI equivalent to bind WIN32 API calls. I can't stand the getters and setters, the capitalized method names, the absense of checked exceptions, and operator overloading (way too unclear, already in C++ we avoided it like the plague).

    I doubt that mono, being a copy of C#, is much better.

    1. Re:I tried .NET and C# by aztracker1 · · Score: 1

      Okay, WTF are you doing that you'd need to do API calls for file handling.. System.IO is pretty damned complete in this regard. I've used it for straight text, moving/renaming file, to using record/row level binary file use....

      As for checked exceptions, this is allong the lines of checking for memory issues in C++, it adds additional, and generally un-needed complexity and overhead.

      And you don't *HAVE* to use operator overloading in your own code..

      Beyond all of this, it's way easier to make calls to compiled libraries (like the win32api) in C#/.Net than Java can *EVER* hope to see. I'm pretty sure that you didn't even read *anything* on C# or even a google search before, since you wound up doing api calls for "quite normal file handling stuff" ... which leads me to beleive in and of itself you don't know what you're talking about.

      --
      Michael J. Ryan - tracker1.info
    2. Re:I tried .NET and C# by gidds · · Score: 1
      And you don't *HAVE* to use operator overloading in your own code..

      I hope you're happy on your little island.

      Here in the Real World(TM), we have to work with other people's code too. Code from our team or project members, code from other projects, code from third-party systems, code from libraries and plug-ins, code from that ghastly project from a couple of years back where they were all incompetent and have now moved on but we still have to use it and we haven't got the budget to rework all the code...

      So yes, unless you have very strict standards and the power to enforce them come what may, if a feature's in the language, you'll probably have to deal with it, whether you like it or not.

      --

      Ceterum censeo subscriptionem esse delendam.

    3. Re:I tried .NET and C# by Anonymous Coward · · Score: 0
      Mono's C# is 100% compatible with POSIX.

      M$ C# 2.0 beta2 Framework isn't (it's bad as C:\n\r\n\t).

  35. Sun SUPPORTS Harmony by WebMink · · Score: 1

    Sun actually supports Harmony and said so the day it was announced - VNU has it wrong (as usual). Congratulations, you found the only report that neglected to mention that both the senior Sun engineer responsible for Java strategy and the person responsible for future open source strategy at Sun both expressed support for harmony at a level pretty similar to IBM's support ("jolly good, and we may contribute at some point in the future"). While Gosling's misreported off-the-cuff comments make for good tabloid sensationalism they don't represent Sun's official view.

  36. Speeeeeeeddddddaaaawwwwwtttt? by Anonymous Coward · · Score: 0

    Back to old AWT and it will be 100 times! faster & easier than any ass-slow Swing & Azureus .

  37. Mod parent up - Java by tod_miller · · Score: 1

    I think the idea behind open sourcing Java is good (be it the default JVM, the Language (?) or the platform (libraries)).

    They have stated the issue is complex, and have open sourced a heap of good stuff, including their Solaris, which has had limited exposure, but what has been seen is awesome, and I am suprised many more slashdotters don't rave about Solaris 10.

    IBM have also open sourced a lot of stuff, however cloudscape and their voice work is less fundemental (and both built on Java anyway).

    Java is a very important platform, and branding and selling the platform to device manufacturers (I have started seeing mobile savvy teens talk about which version of Java their phones have etc).

    Keeping this platform controlled and strong is important. Mono isn't to .net what open source Java would be to Java.

    Gosling himself says he is on the fence about the idea, and wants to see it happen, the only thing I find peculiar is it only seems to be IBM blowing the trumpet about this.

    Personally I would like to see all the internal Java dev efforts better used to further Java adoption in devices (like home media devices, see recent /. story) and allow it to be used to extend devices using simple event handlers and libraries (email me when a recording finished etc).

    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com