Slashdot Mirror


On the Horizon: an Apache-License Version of Java

mparaz writes "Geir Magnusson of the Apache Software Foundation announced a J2SE 5 implementation project called 'Harmony.' It covers the virtual machine and the class libraries, and aims to pass the Sun specification. A FAQ is available."

31 of 268 comments (clear)

  1. great news by Sv-Manowar · · Score: 4, Insightful

    Could this be an essential aid to Tomcat and the increasing number of projects the apache foundation are managing within the Java space, such as ANT. This can only be a good thing

    1. Re:great news by Taladar · · Score: 2, Insightful

      You are right about "good enough" although I think the Sun Implementation is a perfect example of this "good enough" quality and far from perfect.

    2. Re:great news by Master+of+Transhuman · · Score: 2, Insightful


      As for the JVM, do note that the list of people involved includes at least half a dozen with "commercial JVM experience."

      If they come up with a JVM that can implement the core of Java, the existing Java class libraries would presumably not have to be entirely rewritten immediately but would run on the compatible JVM. The class libraries could then be rewritten over time.

      Obviously somebody thinks that Sun is not going to open source Java anytime soon and has decided to up the ante. Given the amount of projects Apache is supporting which are Java based, this is a good idea. It can only improve the spread of these OSS projects if the underlying language is also open source.

      Another concept that should be explored is porting these Java projects to Mono - assuming that Miquel can keep the Mono project from being sued out of existence by Microsoft at some point.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    3. Re:great news by afabbro · · Score: 3, Insightful
      Flash back to 1993...

      Will anyone ever reimplement the Unix kernel? So far it's just a message on USENET. Implementing the Unix kernel itself is no trivial task and it would take years years to reach the performance and stability of Sun's kernel even with huge resources. They have chosen their own unique architecture so I don't think code reuse is in their plan.

      Then there is /usr/lib, which has sprawled to a massive scale...

      --
      Advice: on VPS providers
  2. Better for the Linux User by MoogMan · · Score: 5, Insightful

    Cool! This will be useful for the majority of Linux desktops, because it means it could be installed as part of a default install, rather than having to download it and install it afterwards (==hell for lots of users).

    1. Re:Better for the Linux User by dtk13 · · Score: 1, Insightful

      yea defanatly especaly people on dial up... its damn hard to download ANYTHING!

    2. Re:Better for the Linux User by petermgreen · · Score: 2, Insightful

      reimplementing stuff that people need but that isn't availible as free software is what made it possible to have a completely free software os.

      sun has imo played a very sneaky trick by making java not truely free software but just free/open enough to keep the demand for a clone at a fairly low level.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    3. Re:Better for the Linux User by IamTheRealMike · · Score: 3, Insightful

      The real question that's on most peoples lips and conspicuously not answered in the FAQ is what is wrong with the GNU implementation. They mention that Classpath and GCJ already exist but fail to mention why these are not open source enough. Red Hat is putting a lot of effort into Free Java - why does Apache feel the need to compete with this?

    4. Re:Better for the Linux User by beforewisdom · · Score: 4, Insightful

      "sneaky" ?

      I really hate to defend Sun,...really, I do, but they are the ones who spent a ton of money and work developing Java.

      They make it available for free of charge.

      what jerks

    5. Re:Better for the Linux User by Master+of+Transhuman · · Score: 2, Insightful


      So? The world isn't going anywhere (just yet). If it takes another ten years to get a free Java, what's the harm?

      It took over ten years for Linux to be truly useful to people. Should the Linux hackers all have stopped because of that?

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    6. Re:Better for the Linux User by FireBreathingDog · · Score: 3, Insightful
      Garbage collection can't guarantee code that's completely free of memory leaks. You can still leak memory in Java is you have a long-lived data structure (Set or Map, for example) that holds references longer than it needs to.

      Let's say you've got an improperly written session management routine where users are added to a Set when they log in, but there's a bug that forgets to remove them when they log our or their session expires. Over time, you'll start having memory issues.

      Of course, it's still true that there's much less likelihood of leaks in a GC environment.

    7. Re:Better for the Linux User by DrXym · · Score: 2, Insightful
      The harm is that Java, which is a massively powerful and useful environment doesn't ship with any non-commercial version of Linux. Yes, you can download it, but no dist except JDS can't use or rely upon it in any way because it is an optional component. Ruby, Python, Perl etc. have their place but they're nowhere near as powerful as Java either in the breadth of applications or speed even.


      Furthermore, the absence of an open source and reliable Java introduces a pile of uncertainty to anyone developing J2EE apps who's investigating what platform to deploy it on. Much as I dislike Solaris, I'd probably use Sun if I were deploying J2EE stuff simply because Sun have obligation to support Linux or ensure the performance is on par with Solaris.


      Just as bad, because there is no open source Java in wide use, Sun can chop and change theirs as they see fit without fear of breaking anything. Just look at the effect that Apache, gcc have on their commercial counterparts to see what I mean.


      So yes time is important. Either Sun needs to open up their Java (or classes) or a viable open source version needs to appear. And by viable I mean totally interchangeable. Ten years delay means billions and billions of dollars that would have been invested in Linux in one form or other go somewhere else.

    8. Re:Better for the Linux User by greenrd · · Score: 2, Insightful
      I sincerely doubt they would cut off Linux support within the next decade or so. Seriously. It can't cost that much to support, and the userbase of Java-on-Linux must be huge. Besides, OpenSolaris is going to be open sourced in a few months, so Sun wouldn't make a lot of money if they forced people to switch to Solaris.

  3. basic architectural blueprint by anandpur · · Score: 4, Insightful
  4. Re:Divide and Conquer by maharg · · Score: 2, Insightful

    The great beauty of the linux desktop is that it, like all *x desktop windowing systems, is not standardised - and therefore, you don't have to use a bloated implementation. Personally, I use openbox, which as about as far from bloated as you can get (assuming you something a little more sophisticated than twm..).

    Also, the point of the sun specification for Java is (in part) to ensure that the JVM performs consistently across platforms.

    --

    $ strings FTP.EXE | grep Copyright
    @(#) Copyright (c) 1983 The Regents of the University of California.
  5. Re:Divide and Conquer by multipartmixed · · Score: 4, Insightful

    C *is* cross-platform.

    The system libraries, on the other hand.. well, that has nothing to do with the language. If you want cross-platform code, use cross-platform libraries.

    If you can stick to using only functions in K&R and the POSIX Programmer's Reference Guide, you will find that your code (if written properly) will run damn near anywhere.

    If you want a little more functionality (as much as you need, really) without GUI, adding the Apache Runtime Library will get you there -- portably. Especially under unices and workalikes.

    C++ -- I'm not qualified to comment on that.

    --

    Do daemons dream of electric sleep()?
  6. Re:JamVM by Anonymous Coward · · Score: 1, Insightful

    The JamVM code is pretty standard as far as the VM goes. They all have to deal with the same things: the interpreter opcode loop (or JIT if they're masochists), the loader, the threads, hashing, string, base class, gc. If you've seen one Java VM implementation, you've seen them all. Writing the VM is easy - most VM projects are written by single individuals in a year or two. Writing the class libraries is infinitely more difficult and time consuming requiring dozens (if not hundreds) of programmers doing really dull non-flashy coding. Apache Harmony will only succeed if they can motivate indiviuals to basically recode the work that Classpath has already done. I do not think it is possible.

  7. Re:Divide and Conquer by ssj_195 · · Score: 3, Insightful
    What is "fragmented" about it? If you have a computer with more than 256MB of RAM, then you can happily run either KDE or GNOME - the difference is merely one of personal preferences. An application written for GNOME works damn-near perfectly under KDE, and vice-versa, due in large part to the efforts of freedesktop.org. If you are talking about distros, then the only two that a "Joe Sixpack"-type of home user will need to know about are Ubuntu and SUSE (I'd go with Ubunutu, personally). Granted, packages are not interoperable between the two, but since both have good, up-to-date versions of the same software a mouse-click away, who cares?

    I'm sorry, but I'm just really not seeing this supposed "fragmentation" as a barrier to Linux on the desktop.

  8. Mono Mono Mono by synthespian · · Score: 2, Insightful

    Quit the Java dependency. Head towards open standards.

    How long will it take for the open source community to understand that C# is not only "a Java replacement", but a better technology? How long till people start reading the docs behind C#'s design?

    Let's get this clear: Mono is free software, Java is not!

    My intent is not to troll, but simply point out that, in the long run IMHO we should stick to Mono. Sun had its chance. It's done too little, too late.

    Why all this investment of time on something that doesn't even have a standard by a credible overseer, like ISO, ANSI or ECMA?

    This is perpetuating the Java/Sun dependency. Kick the habit!

    --
    Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
    1. Re:Mono Mono Mono by HiThere · · Score: 2, Insightful

      In 17 years I'll trust the current Mono implementation to be free from MS traps.

      Do you remember the GIF patent affair? The traps don't need to be in an obvious place to be dangerous. Compuserve didn't intend any problems when it allowed the gif format to be standardized, then, after it was common a third party steps in and says "Now about my patent rights...". While I'm fairly certain that Compuserve was innocent in this affair, I don't feel the same way about MS. I expect that they have this already set up, with a patent pool agreement covering them against their partner.

      I could be wrong, but MS isn't a trustworthy partner, and Mono is taking their bait. It *could* be innocent this time, but that's not the way to bet.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    2. Re:Mono Mono Mono by synthespian · · Score: 2, Insightful

      Mono is just Java with minor alterations.

      On the surface. However, on the Common Language Runtime, there's huge difference. You're one of those people who haven't read anything substantial on Mono, and dismiss it quickly on wrong premises.

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
  9. Java Rivals by Doc+Ruby · · Score: 2, Insightful

    Pentiums didn't become really high-performance and free of notorious bugs until AMD made Pentium instructions run on a competing processor. Maybe Java needs more competition among virtual processors to see more innovations reach consumers.

    --

    --
    make install -not war

  10. So this is "cool"... by kryps · · Score: 2, Insightful


    ... and open-source Solaris is "vaporware" even though there is no/nada/nil code available for the Apache J2SE 5.0 implementation. Some people need to have their heads screwed on right.

    -- kryps

  11. I'm rooting for them, but by beforewisdom · · Score: 2, Insightful

    I'm rooting for them, but that is a huge project.

    There is no shortage of half finished FOSS implementations of Java.

    I'll believe it when I see it, and I will be grateful to Apache for making it happen.

  12. The usual point that comes up with this issue. by beforewisdom · · Score: 2, Insightful

    Whenever open source and Java come up in a thread someone will always make the point that keeping Java under Sun's control prevents it from being bastardized.

    The example of C starting out as a multiplatform language always comes up.

    This reasoning may be correct, or it may not be.

    I know python implementations are not exactly the same across platforms. There are some things I can do on linux with python that I can't do on windows.

    Are there any examples of multiplatform, open source languages out there, running, that do not require the program to learn about platform specific issues?

  13. And I remember by Julian+Morrison · · Score: 2, Insightful

    ...that project Harmony was the reason TrollTech chose to GPL (as versus seeing their strategic role usurped by an LGPL workalike). At which point Harmony dried up as redundant. So while it didn't per se do much, its historic impact isn't negligible.

  14. As a c programmer, I have one word for you: by fyngyrz · · Score: 2, Insightful
    Python.

    I love Python. I left Java by the wayside when I found Python. I love the sparse look and feel, I love the strength of the language, I love the fact that I don't have to deal with 1000 different indentation styles when I read other people's code, I hugely appreciate all the python modules people have written that implement everything from databases to graphing packages.

    And Python is all over the place, installed and ready to run. My old RH9 system has Python; my Mac has Python; my Windows box has Python.

    Python. C when you have to have the performance, certainly. Python otherwise. :-)

    --
    I've fallen off your lawn, and I can't get up.
  15. Re:Divide and Conquer by Master+of+Transhuman · · Score: 4, Insightful


    I shouldn't have posted above while I had mod points, since this troll crap is modded "Insightful" by the Windows trolls moderators and other idiots.

    Look, stupid, this is not just a "licensing fetish" (although as has been discussed, there is a perfectly good reason for Apache to not use the GPL or like Sun's license.)

    The point of this project is to provide a compatible free Java that Apache can use to underpin its numerous Java-based projects.

    It's an excellent idea - unless Sun ever comes out with a truly OSS license. And if they do, it will probably be because such a project is gaining traction.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  16. Re:Why not have Sun do it? by Master+of+Transhuman · · Score: 2, Insightful


    If Sun ever does do a completely OSS license, projects such as this are likely to be the cause.

    That alone justifies the project.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  17. Re:Windows Focus by mccalli · · Score: 2, Insightful
    If windows is not the target operating system. I see failure or at lease non-support.

    Windows isn't where the main focus of Java use is. True, deployment of GUI apps is getting nicer with webstart and what have you, but the real focus is on the server side. And that means Linux and Solaris.

    The Sun Solaris JVM, for example, is an utter pig to tune. It requires some of the most obscure settings imaginable, and by the time you're finished learning some virtual machine backwards you may as well have written it for the metal anyway (disclaimer: I develop in Java, the apps I write tend to need passable processing done with latencies of under a millisecond. The machines we use are big).

    With Apache themselves being primarily on the server side, I would have thought they'd be concentrating on the various Unix derivatives first - with particular focus on Linux and Solaris.

    Another interesting point - IBM have tended to use the Apache foundation to get open source code to the world through. I wonder if they're thinking of donating as much as they can (by license) of their own JVM?

    Cheers,
    Ian

  18. Re:Harmony could use Parrot by curunir · · Score: 2, Insightful

    It sounds like you're essentially suggesting that open source create something similar to the .NET CLR. It's an interesting idea, but it would be really difficult to get everyone to work together and agree on design details. .NET has the advantage that Microsoft gets to make all the decisions, so when an implementation choice would favor one language over another, they decide based on which language will make them more money. Open source projects won't subjugate themselves when it comes to these kinds of decisions. It could very easily end up in a situation where everyone argues and nothing ever gets done right or done at all.

    Something like that stands a much better chance of happening if someone just goes off and does it. It would be neat if this new JVM includes an extension mechanism that allows people to write JIT compilers for other languages. But I just don't see Java users getting behind a runtime that doesn't place Java concerns ahead of all else. So I think it's doubtful that Parrot itself would ever end up being used as the basis for a new JVM.

    --
    "Don't blame me, I voted for Kodos!"