Slashdot Mirror


Sun Completes Java Core Tech Open-Sourcing

MsManhattan writes "A year after announcing its plans, Sun Microsystems has made almost all of the core technology in Java available as open-source software under the GNU general public license version 2 (GPLv2). However, some of the code remains 'encumbered'; that is, Sun doesn't have sufficient rights to release it under GPLv2, and the company is requesting the open-source community's help in resolving these issues. Rich Sands, community marketing manager for OpenJDK community at Sun, would not say what percentage of Java's 6.5 million lines of code are encumbered, but explained that it is largely Java 2D graphics technology, such as font and graphics rasterizing."

11 of 141 comments (clear)

  1. Not much of a surprise. by AKAImBatman · · Score: 5, Informative

    Rich Sands, community marketing manager for OpenJDK community at Sun, would not say what percentage of Java's 6.5 million lines of code are encumbered, but explained that it is largely Java 2D graphics technology, such as font and graphics rasterizing.

    In case anyone is wondering, this isn't much of a surprise to the Java community. When Sun was creating the latest and greatest Java libraries, they designed the APIs themselves to be generic. However, Sun generally licensed the underlying libraries for their reference implementation rather than developing them in-house. In the case of the Java2D APIs, they used code from Kodak to do all the fancy 2D rasterizations and transformations. This is why many Java coders thought that Sun's reference implementation would never be Open Sourced. (Happy to be wrong, BTW.)

    That code by itself could probably be replaced with a modern 2D rasterizer (similar to the types found in SVG and Canvas implementations), but it would need to be heavily overhauled to backport the VolatileImage support added in Java 1.4. (Basically, the JVM is able to manage the video card memory to store images for faster rendering and backbuffering.) I'm thinking that something OpenGL-based would be the best bet.

    However, that's not the only major library used. JavaSound also uses Dolby Headspace to render sound. It barely uses a fraction of the library's capabilities, but it would still need to be replaced. I don't know what was used for cryptography, but that would be replacable with a library like Bouncy Castle.

    All in all, the final code shouldn't be too hard to replace as long as Open Source equivalents can be found. However, these areas *do* require significant expertise, so don't expect that joe random can jump in the code and make it happen.
    1. Re:Not much of a surprise. by AchiIIe · · Score: 5, Interesting

      I would love to help myself
      As a longtime java developer, and advocate of the open source java, I think it's time to put my time where my mouth is. Albeit a few questions:
      * Where is the effort being organised
      * Is there a list of the methods that need to be reimplemented?
      * Have I been tainted -- I've seen java code before, If I reimplement something and it might look like the previous code, how do I guard against this?
      * Can we make java better?

      --
      Nature journal lied in Britannica vs Wikipedia Ask to retrac
    2. Re:Not much of a surprise. by AKAImBatman · · Score: 4, Informative

      * Where is the effort being organised

      https://openjdk.dev.java.net/

      * Is there a list of the methods that need to be reimplemented?

      I imagine that the Graphics2D class as well as the VolatileImage class need to be implemented. The BufferedImage implementation may need to be modified to obtain the "Automatic Image" behavior seen in the Sun JVM. Depending on how much Sun has withheld, you may need to implement the GraphicsEnvironment code as well. I recommend asking on the mailing list for specifics.

      * Have I been tainted -- I've seen java code before, If I reimplement something and it might look like the previous code, how do I guard against this?

      The "tainting" problem was always an OSS community invention based on Sun's license wording. As long as the code you've seen is in the OpenJDK, it's quite impossible for you to be "tainted" as Sun has given it to you under the terms of the GPL. Of course, you should always consult a lawyer for the latest in paranoid-protective behavior, but I sincerely doubt that Sun would try and sue you over something they just gave you.

      * Can we make java better?

      You can do whatever the GPL license allows you to do. However, I imagine that OpenJDK won't accept anything more than implementation enhancements. New APIs need to go through the JCP for standardization before they can be accepted into a mainline JDK distribution. Again, ask on the mailing list for more details.
    3. Re:Not much of a surprise. by AKAImBatman · · Score: 4, Informative

      Update: Check here instead - http://openjdk.java.net/

  2. Re:Serious question: Java, Apache 2, and GPLv2 by AKAImBatman · · Score: 4, Informative
    From the GPLv2, last published June 1991:

    If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.


    In addition:

    However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.


    The second part is tenuous given the wording, but could be made to apply given Java's attempt to be the execution platform. However, the former part carries far more weight. Programming to the Java specification does not imply that you are basing it on a GPLed version.
  3. Re:Serious question: Java, Apache 2, and GPLv2 by mhall119 · · Score: 5, Informative

    I'm giving up mod points on this article, but given the amount of misinformation you're getting, its better that I post a reply.

    Sun isn't using GPLv2, they are using GPLv2 + the Classpath exception. This is a modification to the GPLv2 pioneered by the GNU Classpath project. It basically makes Java's code GPL, but doesn't require code running on the JVM, or using the J2SE libraries, to be GPLv2 complaint.

    Links here:
    http://www.sun.com/software/opensource/java/faq.js p#g5
    http://www.javalobby.org/java/forums/t84256.html
    http://en.wikipedia.org/wiki/GPL_linking_exception

    --
    http://www.mhall119.com
  4. Re:SUN and GPL by LDoggg_ · · Score: 4, Interesting

    No need to look the gift horse in the mouth here.

    Sun should be commended for this. It's not just a spec, but the best implementation avaialable.

    And don't forget, it's the same company that gave us open office.

    --

    "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
  5. The Sun Experiment by krelian · · Score: 5, Insightful

    (I posted this under the wrong story so I am copy pasting here....)

    I think most people in the F/OSS community don't see the importance of Sun's actions in the last couple of years regarding the economic viability of F/OSS.

    This is a company who opened sourced (or is open sourcing right now) a very large important and complex portfolio of it's software. It is also a company which is considered a major player in its field and a lot for these software products where successfully sold for big bucks in the past.

    F/OSS takes a lot of criticism regarding it economic model which most businessmen see as non existent. If Sun can pull it through and improve its financial results after making such a big commitment to F/OSS software, only than will the F/OSS community will have a winner in their hands to show off in front of skeptics. This is not the same as Red Hat who made a business out of F/OSS but a company which is rejecting the old ways of closed source and is taking a big gamble that F/OSS is not only the right thing to do morally, but that it can also become a better business model than closed source software.

  6. Re:SUN and GPL by TheRaven64 · · Score: 5, Funny
    Yeah, Sun sucks. They haven't contributed anything worthwhile to the community. Well, except OpenOffice. And that whole NFS thing. Oh, and OpenSolaris. Well, and Java now...

    I stand by companies like IBM. I'm running Open Source AIX here right now. Oh, wait...

    --
    I am TheRaven on Soylent News
  7. Re:One word! by eviltypeguy · · Score: 4, Insightful

    OpenSolaris is open source and *free software* minus a few encumbered portions, just like Java. So I'm uncertain as to what you are referring to.

  8. Thank you Sun and thank you RMS for the GPL by Anonymous Coward · · Score: 4, Insightful

    Sun contributes a lot to Open Source and produces very interesting hardware. Thanks for Java, thanks for OOo (which I find to be a huge pig but then I also find MS Office to be a mega pig), thanks for OpenSolaris... And thanks to RMS for the GPL. It's good to see Sun choosing the GPL (with exceptions) as their open source Java licence.

    Trolls are already in the thread saying that OOo is unusable and that (Open)Solaris is the most insecure Unix ever. The trolliest of them all even dare to say that Java is a failure... On this last point nobody should be mistaken: Java is a langage and a VM whose success is beyond any language author's wildest dreams.

    As stated by James Gosling himself not long ago: it is basically impossible to do a financial transaction today without having Java involved at one point or another... And this is a Good Thing (TM) Why is the banking industry so in love with Java? The bullet-proof JVM and portability of the languages. Not a single language before Java had ever offered such an incredibly good VM running on so many different hardware/software configurations.

    There are countries where tens of millions of people are carrying "Java SmartCards" on them. More than 90% of all cellphones sold worldwide have a J2ME VM (agreed: not Java's most glorious example, but nearly 20% of all games sold worldwide are little Java games for cellphones sold to casual gamers... Food for thought to anyone dismissing J2ME).

    Java is a success that has grown beyond anyone's wildest imagination and it just keeps getting better and better. I was an very early Java believer (back in the days where it was really messy to do Java development on Linux) and back in the days there were many misconceptions regarding Java. Nowadays it's simply unexcusable to try to deny that Java is a huge success. Like COBOL today, Java will still be the technology making the real-world work in decades (insert your lame jokes about COBOL here... I personally laugh everytime some COBOL is involved when you're making a real-world transaction [and, yup, I've done COBOL programming]).

    Note that (contrarily to C#/.Net) "Java the language" and "Java the VM" have been chosen because they were very impressive technologies, not because the company creating them had a monopoly on a certain market. C# is a copy (7 years later or so) of "Java the language", with some things done better (thankfully, 7 years later, that they got some things right ;) and some others done worse (*). This is a testimony to Java's quality as a third-generation OOPL (I'm not saying that third-generation language are the be-all end-all of programming nor that OO is the be-all end-all of programming, but simply that as an 3rd generation OOPL Java is very good).

    Thanks Sun.

    (*) C# has then been basically forced down the throats of programmers locked in the MS monopoly. If C# hadn't Microsoft's illegally maintained monopoly (the "illegally maintained monopoly" is a fact, checks your facts if you disagree) backing it wouldn't be anywhere near where it is today.