Slashdot Mirror


Will Sun's Java Go Open Source?

Ritalin16 writes "CNet report that Sun Microsystems wants to send Java closer to the open-source world, yet keep it safe from harm. "Project Peabody" adds two licenses that make it easier for outsiders to see the code. But Sun stops short of embracing open-source. Sun's licensing practices for Java are closely watched. Proponents of making Java open-source argue that a different license and development process will help accelerate usage of Java, which faces ongoing competition from Web open-source scripting tools, such as PHP, and Microsoft's .Net line of tools."

14 of 519 comments (clear)

  1. off-topic-a-roony by aendeuryu · · Score: 5, Interesting

    Hey, is anybody using the gnu java compiler much? How's the performance on java programs made with it? Obviously there'd be some positive side effects, but exactly how much could the community benefit from having Sun's compiler open-sourced?

    1. Re:off-topic-a-roony by iamacat · · Score: 5, Interesting
      The community would benifit from having a Open Source java implimentation

      Well, there are already at least a couple - Kaffe and GCJ, why not just contribute? Sun already did the hard part - theoretical research, design, marketing - for free. Actual coding of well-researched projects is not that difficult. You can even study Sun's source code to learn general concepts for your own project as opposed to just "lifting" it.

      See, there is no shortage of C/C++ compilers and nobody is grumbling about AT&T not releasing their stuff under GPL.

      ...because it would allow distributions to distribute java runtime enviroments...

      SUSE and gentoo already do, I would guess someone (Debian?) made their own decision not to ship Java rather than being disallowed by Sun.

      Like you could begin writing Java-based GUI applications and then distibute them yourself without requiring your audiance to agree to restrictive licenses and download and install Java on their own.

      Enjoy a license-free download! And the winner is:

      Probably a bit to late for all that, unfortunately. Sun had it's chance and now Linux has managed code in the form of Mono (open source .NET implimentation) and C#. So sun has much more stiffer compitition then it would of had in the OSS world if they released a java runtime enviroment without restrictive licenses a few years ago.

      Do you mean Microsoft released their own .Net implementation under GPL?? I would say Java platform is far more open than MS stuff. Gnome developers just have some unexplainable love for Windows.Forms as opposed to Swing.

    2. Re:off-topic-a-roony by rabbit78 · · Score: 3, Interesting

      Probably a bit to late for all that, unfortunately. Sun had it's chance and now Linux has managed code in the form of Mono (open source .NET implimentation) and C#

      I don't think Mono is better than Kaffe/GCJ/... The GNU/Classpath based Java VMs are already covering most of the Java API. The biggest/most visible obstacle is probably the Swing implementation, but OTOH Mono also doesn't have a complete Windows.Forms implementation. Don't say GTK#, this is also accesible in Java via java-gnome or SWT, which both work fine.

      Gnome developers just have some unexplainable love for Windows.Forms as opposed to Swing.

      Huh? I always though Gnome developers prefer GTK?? How much applications in Gnome are actually coded using Mono? None, AFAICS. This is all self-fulfilling PR crap.

  2. No, they want to keep their integrity. by CompotatoJ · · Score: 5, Interesting

    "Sun has elected not to use an open-source license at this time because its commercial customers are concerned with "forking," or the creation of incompatible editions of the base Java software" Currently, Java seems to be close to, if not the lead in cross-compatibility. They do not seem like they want to lose their integrity as a stable cross-platform language.

    1. Re:No, they want to keep their integrity. by Baki · · Score: 4, Interesting

      Others might argue that the same forking might happen to PHP, perl etc. However, do not forget that MSFT actually has tried to fork an incompatible version of Java, they never tried such a thing with other 'cross-platform' language.

      Why? Because Java is the only real threat. Java's real importance is in 'enterprise' development; many large companies have been developing in Java for the last 3-5 years, the importance of Java in such environments dwarfs any other development platform, except maybe for cobol. Thus Java remains the most likely target for sabotage actions, and needs to be protected vehemently.

      Especially now that Java is in direct competition with .NET, further sabotage actions are not unlikely. .NET is just as protected, if not more (also protected by patents probably). For Java at least the spec is open: anyone may make an alternative implementation. For .NET there is no open formal spec at all, and alternative implementations have an unclear legal status.

    2. Re:No, they want to keep their integrity. by killjoe · · Score: 5, Interesting

      MS did fork java, they called it C# and .NET.

      Ms no longer cares about java now that they have their own version of it.

      --
      evil is as evil does
    3. Re:No, they want to keep their integrity. by Baki · · Score: 3, Interesting

      Of course MSFT would not openly adopt java and modify it again, since officially they are using .NET. However since .NET and Java are in fierce competition, for enterprise development .NET is still in its infancy but MSFT is trying to change this, I could imagine MSFT to sponsor or otherwise help 'grassroots' development of competing java versions.

      These versions of course would add some candy to attract developers (such as operator overloading) while destroying the 100% compatability that java offers, creating confusion and thus discrediting java for enterprise development.

      By the way, someone wrote that .NET is open and specified at ECMA. This is not entirely true: Only C# the language and CLR the VM are, but .NET including its framework and libraries are not (e.g. windows forms). For Java OTOH, the complete JDK, i.e. everything you need to build applications not only parts of it, is openly specified and available cross platform.

  3. What's so significant? by Jovian_Storm · · Score: 3, Interesting

    Slightly off-topic, but what impact will Sun's open-sourcing of the JVM have? We already have several Open Source JVMs, Kaffe and IBM's RVM(Research Virtual Machine). Since the Java specs are anyway open, is there any point if Sun opens up the JVM implementation?

  4. Java and "Unsupported" Platforms by linguae · · Score: 4, Interesting

    It would be great if the Java JDK were open-source, or at least distributed with a less restrictive license. Installing Java on "unsupported" platforms is a nightmare. Take FreeBSD, for example. First, I have to install the Linux version of Java, because for some reason, the native Java port requires the Linux version for bootstrapping purposes. Next, I have to manually fetch the sources for Java from Sun (since Sun prohibits redistribution other than from Sun's site, and the latest precompiled package for Java is for FreeBSD 4.x, which doesn't work under FreeBSD 5.3; not to mention that I can't really do anything with the sources other than compile them; the license is very restrictive). Finally, I have to compile them, which took me 18 hours to compile on my computer (I'm not trolling; the fastest computer I own is a 475MHz K6-2 with 64MB RAM; I'm poor). For Sun to advertise that programming in Java is about "writing once and running everywhere," I guess "everywhere" is defined by Sun's view on the world. The only reason why I compiled the JDK in the first place is because I need it for my upcoming classes.

    It would be great for all developers if Java were open sourced under an agreeable, OSI-compliant license. Developers of "unsupported" platforms would be able to port the JDK to their favorite operating systems (and redistribute sources and binaries of the JDK, too), which would raise the number of developers using Java, which in turn raises the number of people using Java-based applications. Next, I don't think Sun has to worry much about Java being forked. Look at C, C++, Python, Perl, and Ruby. C and C++ are ANSI-certified, and Perl, Python, and Ruby are open source. As far as I know, there aren't any forks of C, Perl, and the other languages that I've listed.

    In the meanwhile, I wonder how good are the free, open source interpretations of Java and how they stack up to the Sun JDK?

  5. gcj is nice by DavidNWelton · · Score: 4, Interesting

    I've been using gcj to develop Hecl ( http://www.hecl.org/ ) with, and so far I've been pretty happy. I found one compiler bug, which I reported and which was then promptly fixed. At FOSDEM, I also had occasion to go visit the Free Java developer room, and the impression I get is that these guys are making enough headway that it doesn't matter what Sun does at this point. Redhat had something like 3 or 4 very sharp developers (Tom Tromey, for instance) working more or less full time on gcj and ClassPath. Sure, Sun has way more people, but for now, all the free guys have to do is play catch up with the spec, not surpass Sun. That comes next;-)

    By the way, I don't think blackdown is actually open source in that it's based on the Sun code.

    I'm curious - does the new Fedora actually ship with gcj and gij as 'Java'? That will be an interesting development to watch.

  6. Re:and how's that working out? by JimDabell · · Score: 4, Interesting

    Now, lets look at some fairly popular languages that have been open-source since the beginning: perl, python, tcl, ruby. Gee, not one of them has shown the faintest sign of forking.

    Actually, there are at least six forks of Python:

    • CPython (the canonical version)
    • Jython (compiles to Java bytecode)
    • Psyco (JIT compilation of a sort)
    • Pypy (Python implemented in Python)
    • ActivePython (ActiveState's fork)
    • IronPython (compiles to .NET bytecode)

    In practice, it's not much of a problem, I don't see why people are so scared of forking.

  7. Re:and how's that working out? by mav[LAG] · · Score: 4, Interesting

    Psyco (JIT compilation of a sort)

    Psyco is just an extension module for CPython, not a fork. And you can add Pyrex to that list - a fork of CPython which adds C data types.

    --
    --- Hot Shot City is particularly good.
  8. Re:Mono viability by lupus-slash · · Score: 5, Interesting

    Given than mono can run basically the same java programs as the free java VMs (since they all use GNU classpath and the lib implementation is the limiting factor) and it runs many .net programs out of the box, mono is much more viable than any free software java implementation.

  9. debugging VM bugs by Pastis · · Score: 3, Interesting

    One of the key thing that opening Java would give is the possibility to debug issues ourselves.

    For example I have crashes with the official Sun's VM. I am unable to debug the problem properly without access to the code (and I won't do that with a proper license). For sun I have to go all the way to create a test case, which is not easy when it comes to isolate a problem in a complex application.

    I am sure I would go faster with access to the code. Instead of spending time making a test case, which I am not sure Sun is going to have a look at.