Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Sun Completes Java Core Tech Open-Sourcing

Zonk posted more than 7 years ago | from the the-beans-are-gratis dept.

Java 141

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

cancel ×

141 comments

Sorry! There are no comments related to the filter you selected.

One word! (0)

jshriverWVU (810740) | more than 7 years ago | (#19038063)

Woohooooooo! :) Now OpenSolaris

Re:One word! (1)

Doctor Memory (6336) | more than 7 years ago | (#19038507)

There's Nexenta [gnusolaris.org] , which is basically Debian on the OpenSolaris kernel. But you're right, it would be nice to have a completely unencumbered Solaris.

Re:One word! (4, Insightful)

eviltypeguy (521224) | more than 7 years ago | (#19039285)

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.

Re:One word! (3, Informative)

howlingmadhowie (943150) | more than 7 years ago | (#19040365)

there's been a rumour for quite a while now that sun will move solaris10 from the CDDL to GPL3 as soon as GPL3 is finished. (one should also mention that duke nukem forever will also be released under the GPL3 according to a similar rumour)

Re:One word! (1)

ruffnsc (895839) | more than 7 years ago | (#19042047)

Thats three words and some other characters but who is counting.

Re:One word! (0)

Anonymous Coward | more than 7 years ago | (#19042561)

who is counting.

I dunno, just some lame ass kid

Re:One word! (0)

Anonymous Coward | more than 7 years ago | (#19042529)

ZFS!!!11 Das ist ze Zealot FS.[/sorry sun]

Not much of a surprise. (5, Informative)

AKAImBatman (238306) | more than 7 years ago | (#19038077)

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 [bouncycastle.org] .

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.

Re:Not much of a surprise. (5, Interesting)

AchiIIe (974900) | more than 7 years ago | (#19038469)

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?

Re:Not much of a surprise. (2, Funny)

thePowerOfGrayskull (905905) | more than 7 years ago | (#19038805)

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?
It seems to me that java.sun.com is the place to start looking for these answers, and not slashdot ;)

Re:Not much of a surprise. (4, Informative)

AKAImBatman (238306) | more than 7 years ago | (#19038825)

* Where is the effort being organised

https://openjdk.dev.java.net/ [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.

Re:Not much of a surprise. (4, Informative)

AKAImBatman (238306) | more than 7 years ago | (#19038923)

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

Re:Not much of a surprise. (0)

pauljlucas (529435) | more than 7 years ago | (#19038835)

Can we make java better?
Yes: add typedef to the language.

Re:Not much of a surprise. (0)

Anonymous Coward | more than 7 years ago | (#19040427)

If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.

I don't think you fully grasp how communication works. There are always assumptions and inferences. Otherwise you'd have to write a book in order to communicate a single idea.

Help out with Harmony (1)

jaaron (551839) | more than 7 years ago | (#19039497)

You could always help out with Apache Harmony [apache.org] to create a full, open sourced JVM!

Re:Help out with Harmony (3, Insightful)

Bert64 (520050) | more than 7 years ago | (#19039793)

But why? Sun's JVM is much closer to completion, and also open source.
Why not get one open source JVM working first, and work on others later?

Re:Help out with Harmony (0)

Anonymous Coward | more than 7 years ago | (#19039931)

Once the few parts of the Sun JVM are rewritten, the Sun JVM will be a full, open source JVM... The Sun JVM is also much, much faster and has gone through many years of testing. Why bother with Harmony when you could help out with the few parts of the Sun JVM that need to be rewritten?

Re:Not much of a surprise. (1)

EsbenMoseHansen (731150) | more than 7 years ago | (#19039947)

* Can we make java better?

Making it stop throwing away type information (generics) would be very, very nice. This is imho one of the greatest current flaws in Java. I fear it will mean changing the JVM, though.

In case anyone wonders: From the perspective of the JVM, List<String> is the same as List. If you can't see why this is bad, take a breath and think again. Think casts. Think interfaces.

Besides this, I could make a very, very long wishlist for Java. Though I suppose I'd just end up with C++, minus the old annoying baggage.

Re:Not much of a surprise. (1)

mhall119 (1035984) | more than 7 years ago | (#19041057)

Making it stop throwing away type information (generics) would be very, very nice. This is imho one of the greatest current flaws in Java. I fear it will mean changing the JVM, though.
Which is exactly why Sun opted to make generics a compiler constraint, so that generified code would still run on older VMs. I agree though, that since Java 6 introduced changes to the bytecode, they could have included generic type information at that point.

Besides this, I could make a very, very long wishlist for Java. Though I suppose I'd just end up with C++, minus the old annoying baggage.
Isn't that an old saying? "Those who don't understand C are doomed to reinvent it"? Or maybe it was Lisp.

Re:Not much of a surprise. (1)

heinousjay (683506) | more than 7 years ago | (#19041927)

I think the problem can be summed up more as "those who think C should be the only language will do everything in their power to denigrate everything else."

Not as pithy, I'm aware.

Re:Not much of a surprise. (2)

TheLazySci-FiAuthor (1089561) | more than 7 years ago | (#19038491)

I agree, code replacement does seem to be the most reasonable way to resolve this issue. However I cannot help but feel that this would prematurely cause forking and general divergence from the original closed Java.

Additional features and improvements are no doubt going to occur as the result of opening up the code base, but I feel that compatibility should be at the forefront of any design decision when Java is involved.

After all, isn't the whole point of Java interoperability, and hardware agnosticism (generics and enforcement of general good design and coding practices aside)?

Re:Not much of a surprise. (2, Interesting)

ciroknight (601098) | more than 7 years ago | (#19038525)

Wouldn't Cairo (cairographics.org) be the perfect fit for a software 2D rasterizer? Might not be the fastest but it's there, it's usable, even Firefox is jumping on the boat.

Re:Not much of a surprise. (1)

LWATCDR (28044) | more than 7 years ago | (#19038591)

And combine this with JGC and I will be a happy man.

OSS should not be a dumping ground (-1)

Anonymous Coward | more than 7 years ago | (#19038871)

This is just another move in the "our programmers can't get it to work, so let's get the OSS folks to fix it!" line of though.

There was the buggy POS Netscape, now their is the cross-platform, buggy, memory hogging POS of Java. Woop. High profile failures like this aren't really good for the reputation of FOSS. Firefox is getting a lot of buzz, but every release just adds in more junk and more problems.

It's too bad more people spend time on stuff that doesn't matter, rather than making the products more stable. But when everyone is a volunteer, everyone wants to work on their pet project. It's not like they have paying customers to satisfy.

Hardware? (0)

Anonymous Coward | more than 7 years ago | (#19039387)

I hope the software gets the community support it deserves.

http://www.arm.com/products/esd/jazelle_architectu re.html [arm.com]
What's the strategy for if other vendors begin to offer hardware support?

Last time I checked support was considered an encumberence by one or other party and removed from Hotspot.

It would be nice to test the possibilities of the hardware in some open source NAS device conversions (if possible).

Long time since Sun PR outdid Google PR here... (-1, Flamebait)

xxxJonBoyxxx (565205) | more than 7 years ago | (#19038081)

It's been a long time since Sun's public relations department has had more SlashDot "articles" than Google's public relations department.

Serious question: Java, Apache 2, and GPLv2 (2, Interesting)

Anonymous Coward | more than 7 years ago | (#19038179)

Apache currently has many [apache.org] Java [apache.org] -based [apache.org] Apache 2 licensed [apache.org] projects. The Apache 2 license is incompatible with the GPLv2 [fsf.org] .

Does releasing Java under the GPLv2 effectively prevent the use of Apache 2 code (or any commercial code)? Does this mean that the only Java programs that can be used with the GPLv2 copy of Java are those under the GPLv2?

Re:Serious question: Java, Apache 2, and GPLv2 (2, Informative)

gedhrel (241953) | more than 7 years ago | (#19038247)

No, it doesn't. There was quite a deal of work that went into making sure that that was ok.

Re:Serious question: Java, Apache 2, and GPLv2 (5, Informative)

mhall119 (1035984) | more than 7 years ago | (#19038427)

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 [sun.com]
http://www.javalobby.org/java/forums/t84256.html [javalobby.org]
http://en.wikipedia.org/wiki/GPL_linking_exception [wikipedia.org]

Philosophy of exception: usage IS NOT derivation (2, Interesting)

Anonymous Coward | more than 7 years ago | (#19040109)

Since you understand the Classpath exception well, you might be interested in an alternative explanation we've devised, which is both simple and exact.

For elements licensed under the Classpath exception,

USAGE of an element by linking does not imply derivation from that element.

It's this key consequence of the exception that makes it so excellent.

Nobody who is moderately sane thinks that when we use a car then the car-driver combination is a derived work of the car, and that therefore the copyrights covering the car must also cover the driver. Yet, that was the insane worldview of a few in the community who were adamant that simple usage was derivation and therefore engaged the copyright. The Classpath exception makes it certain that this cannot happen.

The exception is a bit of a miracle, I'm not sure how we managed to get it past the GPL politicians. :-) But I'm glad it got through, and restored some basic commonsense.

Re:Philosophy of exception: usage IS NOT derivatio (2, Informative)

mhall119 (1035984) | more than 7 years ago | (#19040273)

The term "linking" has actually caused a lot of confusion due to the difference between how Java links to libraries as opposed to C/C++. For C/C++, linking is much closer to a derivative work than in Java since (to my knowledge, I'm not a C programmer) when you "link" to a C/C++ library, you actually need the source code (or at least header files) from that library in order to compile your code, therefore including elements of that library's source in your final binary. In Java, you can "link" your code to a library's binary without including anything from it's source.

Re:Philosophy of exception: usage IS NOT derivatio (0)

Anonymous Coward | more than 7 years ago | (#19040973)

... I'm not a C programmer) when you "link" to a C/C++ library, you actually need the source code (or at least header files) from that library in order to compile your code

In most cases you need the header files, yes, but that's only because they define the API to the libraries, no other reason. They almost never insert code into your app, but just tell the compiler what it is that you will be using later. And as is extremely well known with decades of legal precedent worldwide, APIs are the cornerstone of interoperability, so you encumber them with attempted restrictions at your peril. The precedents are so overwhelming that nobody even tries it on, except for a few loons like SCO. :-)

That's all a tangent to the point in the parent though, which was about USAGE not being the same thing as creating a derived work. It's a matter of principle and commonsense, as well as being consistent with the definition of derived work as employed in copyright law. And in that respect, usage by linking is not derivation in C or C++ code either, despite the fudging of commonsense in the GPL community. (*)

The Classpath exception got it right, all round.

---
(*) It's worth noting that this didn't refer either to Eben Moglen nor to RMS, who said (paraphrasing, respectively) that "The GPL is not a usage license", and "We know that we can't enforce copyright on linking, even if we'd like to". It was other zealots with more religion than commonsense.

Re:Philosophy of exception: usage IS NOT derivatio (1)

ispeters (621097) | more than 7 years ago | (#19041785)

Perhaps we're wondering off topic here, but, if what you say is true, then what's the difference between licensing a library (ie. a bundle of C/C++ code that is intended to be compiled to a .o file and then linked to some other application) under the GPL vs. the LGPL?

For example, I believe GNU Readline is explicitly GPL and not LGPL whereas glibc is LGPL. IIRC, Readline is GPL because RMS figures it's a pretty awesome library with no closed-source equivalent, so it's a bit of a carrot in the carrot-and-stick game of getting people to switch to Free Software. On the other hand, making glibc LGPL means that closed-source software can be made to run on GPL'd operating systems by using glibc as their C library. If, as you say, the GPL can't cover linking, what stops an entity from writing a closed-source app that links to Readline, but distributes only the Readline source with the otherwise-closed binaries? Have I missed something, or gotten some facts wrong?

Ian

Re:Philosophy of exception: usage IS NOT derivatio (1)

ajs318 (655362) | more than 7 years ago | (#19040615)

It's important because when you call a non-GPL library from a GPL program, or a GPL library from a non-GPL program, the combination (program + library) in the memory of the computer could be considered a derived work of both components.

It's also irrelevant, because making a copy of a computer program in memory, from a source which does not infringe copyright in and of itself (e.g. an original CD that you rightfully own) and for the purpose of running the program, is explicitly permitted by copyright law -- it falls within the scope of Fair Dealing. Otherwise you might be denied the use of something that you had bought and paid for; which would certainly run afoul of the Sale of Goods Act 1979 as amended and/or the Unfair Contract Terms Act 1977 as amended.

Re:Philosophy of exception: usage IS NOT derivatio (-1, Troll)

Anonymous Coward | more than 7 years ago | (#19041629)

Except usage isn't the problem with GPLv2 licensed J2SE. All classes in Java derive from java.lang.Object, which is licensed under the GPLv2 in the open source J2SE.

According to the FSF, subclassing is identical to creating a derivative work, so using java.lang.Object that's under the GPLv2 requires that the code be licensed under the GPLv2.

Some people have managed to miss the fact that this deriving occurs at runtime and not at compile time, so the fact that non-GPLv2 code was originally compiled against a non-GPLed java.lang.Object is irrelevant as the user will still end up creating a derived work at runtime.

By my reading of the Classpath exception, it only covers usage (referring to objects and calling methods on those objects) and does not subclassing. It's not supposed to, since subclassing is considered creating a derivative work.

Therefore, the only valid license for any code run under a JVM where java.lang.Object is under the GPLv2 is the GPLv2, as all Java classes will automatically derive from the GPLv2 java.lang.Object.

Re:Serious question: Java, Apache 2, and GPLv2 (1)

number6x (626555) | more than 7 years ago | (#19038315)

Apache should be able to continue to use the same license it is using now. The Apache 2 license takes a much stronger anti-patent stand than the GPL2, or even the GPL 3 license. This makes Apache 2 less compliant with other open source licenses.

See the OP's link to FSF for more info

Re:Serious question: Java, Apache 2, and GPLv2 (4, Informative)

AKAImBatman (238306) | more than 7 years ago | (#19038341)

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.

Re:Serious question: Java, Apache 2, and GPLv2 (0)

Anonymous Coward | more than 7 years ago | (#19039371)

Yes, it does. From the GPL FAQ [fsf.org] :

In an object-oriented language such as Java, if I use a class that is GPL'ed without modifying, and subclass it, in what way does the GPL affect the larger program?

Subclassing is creating a derivative work. Therefore, the terms of the GPL affect the whole program where you create a subclass of a GPL'ed class.


Every object in Java automatically subclasses java.lang.Object. According to the FSF, if you subclass a GPLed object (and, in Java, everything subclasses java.lang.Object), you have to follow the GPL.

So, according to the FSF, if Sun releases the core Java libraries under the GPL, every Java program must use the GPL or be GPL compatible, since every Java program will subclass java.lang.Object. In practice, there are a number of Java core classes that are intended to be subclasses too, but subclassing java.lang.Object is unavoidable.

Re:Serious question: Java, Apache 2, and GPLv2 (1)

AKAImBatman (238306) | more than 7 years ago | (#19039501)

You don't know WTF you're talking about. If I go download the specification for Java from Sun, then code to that specification, have I agreed to the GPL? No. Therefore it is not binding, and the work is a completely separate work.

Re:Serious question: Java, Apache 2, and GPLv2 (0)

Anonymous Coward | more than 7 years ago | (#19039655)

Good lord, you're an idiot. How to explain this to you in simple terms. Hmm...

Sun is releasing the Java libraries under the GPLv2. The article never really explicitly makes that clear, but given that they're talking about the Java2D library it should be deadly obvious that they're releasing the entire J2SE library under the GPLv2.

That library includes the very core of Java, the java.lang package. Which will be licensed under the GPLv2. This includes, among other core language features, java.lang.Object.

Every class in Java by definition subclasses java.lang.Object. (Except java.lang.Object itself, of course, but that's the only exception.)

According to the FSF, subclassing any GPLv2 class requires the subclass to be under the terms of the GPLv2.

So, quick overview:

* All Java objects subclass java.lang.Object either directly or indirectly.
* Under the GPLv2 version of Java, java.lang.Object is licensed under the GPLv2.
* According to the FSF, subclassing a class that's licensed under the GPLv2 requires the subclass to be under the terms of the GPLv2 as it's a derivative work.

So from there, we can conclude that every class that uses the GPLv2ed Java MUST be released under the GPLv2.

Now, someone else mentioned the "classpath exception" which allows you to use GPLv2ed classes, but does not allow derivations based on these classes, which every Java class used will be, as every class in Java subclasses java.lang.Object.

So the question remains: can Apache 2 code be used with the GPLed Java, and the answer is very clearly "no".

Re:Serious question: Java, Apache 2, and GPLv2 (3, Insightful)

AKAImBatman (238306) | more than 7 years ago | (#19040335)

Sun is releasing the Java libraries under the GPLv2. The article never really explicitly makes that clear, but given that they're talking about the Java2D library it should be deadly obvious that they're releasing the entire J2SE library under the GPLv2.

And? Whoopdie-fracking do. Let me see if I can translate this into idiot for you:

Step 1: Go to http://java.sun.com/ [sun.com] and download a JDK.

Step 2: Ask yourself, "Did I just agree to the GPL?"

Step 3: Ponder the legal implications of never having agreed to the GPL, or in fact, having any GPLed code in your possession.

Alternate:

Step 1: Go to http://jcp.org/en/jsr/tech [jcp.org] and find the Java API you're targetting.

Step 2: Download the skeleton classes and use to create a program.

Step 3: Ponder the legal implications of never having agreed to the GPL, or in fact, having any GPLed code in your possession.

Just because Sun releases a version of the platform under the GPL does not automatically make the entire platform GPL. And in any case, the FSF interpretation of Java code has always been suspect anyway. Their interpretation of Java linking is flawed, and of dubious enforceability.

However, this has always been more of an argument for the LGPL. If you develop with a GPLed version of a JDK, one could make a weak legal argue that you're extending the GPLed code in specific, and not the specification of the code. It would probably fail to hold up in court, but the possibility is there. Which is why the Classpath project issues this clarification [gnu.org] of the license. It basically extends the OS exception to say that the Java classes are covered under similar terms. Not that it's legally necessary, as releasing the Classpath project cannot automatically make Java code fall under the GPL. But clarifies the position of using the Classpath library for development purposes. (Something which they couldn't enforce anyway.)

Unsurprisingly, Sun has the same clarification [sun.com] for the GPLed code.

Re:Serious question: Java, Apache 2, and GPLv2 (1)

nevali (942731) | more than 7 years ago | (#19039753)

Sun is using the Classpath exception to specifically prevent this problem from occurring.

Re:Serious question: Java, Apache 2, and GPLv2 (3, Informative)

slack_prad (942084) | more than 7 years ago | (#19038371)

GCC is GPL, but my gcc compiled malware program is commercial software.

Re:Serious question: Java, Apache 2, and GPLv2 (0)

Anonymous Coward | more than 7 years ago | (#19039109)

Exactly! Thank you! Apache isn't distributing Sun's code. They are distributing their own code which they wrote themselves (which just happens to be written in Java.)

Until recent years, pretty much all of the programming I did was compiled with closed-source commercial C++ compilers (MetroWerks CodeWarrior, MS Visual Studio) but I could distribute the source that I wrote however I wanted. Take Microsoft's Win32 API for example. I could distribute my own open source Windows app if I wanted but I couldn't zip up the Win32 headers and .lib files with the code I was releasing.

Re:Serious question: Java, Apache 2, and GPLv2 (1)

ciroknight (601098) | more than 7 years ago | (#19040159)

"malware program is commercial software." You admit you write malware, and use it commercially? On Slashdot? You are one brave soul. ;)

Re:Serious question: Java, Apache 2, and GPLv2 (0)

Anonymous Coward | more than 7 years ago | (#19040481)

GCC is GPL, but my gcc compiled malware program is commercial software.
That's not quite an appropriate analogy, because Java is more than just a compiler. It's a virtual machine, and most importantly, it's also a huge number of standard libraries. Linking with GPL libraries normally means the software is GPL.

That's not the case in this situation for a different reason, though, because the libraries have been excepted.

(GCC also has an exception that its generated outputs aren't GPL, but that's also besides the point.)

Re:Serious question: Java, Apache 2, and GPLv2 (1)

Constantine XVI (880691) | more than 7 years ago | (#19039301)

Like everything else, the GPL2 only covers the code in question, not the input/output
For example, Sony uses GCC in the PS3 devkits, yet there is not a single OSS game for the PS3
If I write a paper in OpenOffice, the paper is not automagically GPL
etc. etc.

Wow, it's really happened (1)

grey1 (103890) | more than 7 years ago | (#19038281)

Saw the original suggestion last year and mentally wrote it off. Didn't think Sun would drive it through - the fact that it has happened with some areas still to be worked out (the libraries) impresses me the most.

It'll be very interesting to see where this goes next... let's see if the open-source leveraging effect works in practice for something this big (and this awkward).

SUN and GPL (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#19038311)

SUN is just grand standing. It is hard for SUN to convince the open source community that they are as committed to Open source like companies like IBM and RedHat. They ( SUN ) will never release and contribute to open source software that actually counts; just bits and pieces that don't mean much to our community. The community has much more respect for IBM and RedHat for their true commitment not SUN's grand standing.

Re:SUN and GPL (4, Interesting)

LDoggg_ (659725) | more than 7 years ago | (#19038435)

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.

Re:SUN and GPL (0, Flamebait)

zero_offset (200586) | more than 7 years ago | (#19039099)

It's not just a spec, but the best implementation available now that Microsoft has stopped writing JVMs.

Fixed.

(Been awhile since we had a Karma fire.)

Re:SUN and GPL (1)

LDoggg_ (659725) | more than 7 years ago | (#19039271)

Yeah, that 1.14 JVM with windows-only hooks kicked ass.

...and to think Sun only needed a 2 billion dollar apology for it.

Re:SUN and GPL (1)

HiThere (15173) | more than 7 years ago | (#19039281)

Well, it's been a long time since I used an MS "jvm" implementation. I didn't find it superior, or even as good. Perhaps it depends on what you are doing.

P.S.: I put jvm in quotes when referring to the MS version, as I found it not standard-compliant. Admittedly that was in the VERY early days. (I did rather like SuperCede Java compiler, which also was non-standard. One difference is that they didn't try to pretend that it was. Another is that is was EASY [i.e., trivial] to blend Java and C.)

Re:SUN and GPL (1)

swillden (191260) | more than 7 years ago | (#19039459)

It's not just a spec, but the best implementation available now that Microsoft has stopped writing JVMs.

I disagree. I think Sun's implementation is considerably superior to anything Microsoft produced. If you want to qualify it, I'd qualify it with "the best implementation available for general-purpose platforms". For embedded stuff IBM's J9 is much better and Sun's JVM is absolutely unusable for very small devices, like smart cards.

Re:SUN and GPL (1)

KarmaMB84 (743001) | more than 7 years ago | (#19042837)

News Flash: Implementation by the language's designer in 2007 is superior to an implementation the designer sued to kill back in the Java 1.1 days.

Re:SUN and GPL (0)

Anonymous Coward | more than 7 years ago | (#19041187)

If by best, you mean the only major JVM to have numerous and consistent security problems, you've hit the nail on the head.

Microsoft is/was responsible for like 90% of Java security exploits. Sun and IBM's JVM implementation have impeccable security records.

Go figure, eh?

Re:SUN and GPL (0)

Anonymous Coward | more than 7 years ago | (#19039967)

*ahem* The name is OpenOffice.org [openoffice.org] .

Re:SUN and GPL (0)

Anonymous Coward | more than 7 years ago | (#19040525)

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

Aw hell. That probably means it has its own GUI toolkit. And it's written in C++. And maybe it even depends on Java.

Re:SUN and GPL (5, Funny)

TheRaven64 (641858) | more than 7 years ago | (#19039091)

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 look forward to this new approach... (1)

EvilGrin5000 (951851) | more than 7 years ago | (#19038417)

Being on the fence about using Linux and never really being sure what version, what build and what revision I should go for (hundreds of choices make it intimidating for newcomers to the Linux world), I've always been curious what would have happened if there was a board to approve the general direction, additions and revisions so that be it a platform or a programming language, the tangents wouldn't stray too far from the main group.

FTA
---------
Open sourcing Java represents one of the largest donations of code to the developer community, Sands said, but merely making software freely available is insufficient. "Open-source developers need to have rules and governance spelled out for them for how they use and interact with the code base," he added.

With that in mind, Sun is establishing an OpenJDK interim governance board, which is to create a constitution and gain the community's approval for it over the coming year.
---------

I hope that this 'board' approach will help the Java community stay closer together. I'm not being obtuse, I simply hope that the Java language doesn't take a wide turn in countless directions so that you need so many different libraries or new revisions that your programs can't keep up with the community's additions.

All in all, I'm very pleased at this turn, I recall the proposal from last year and finally the wheel has turned towards us! Yay for Sun and good luck to all the Java community members! I look forward to sharing your new ideas with mine!

Re:I look forward to this new approach... (1)

mhall119 (1035984) | more than 7 years ago | (#19038505)

Being on the fence about using Linux and never really being sure what version, what build and what revision I should go for (hundreds of choices make it intimidating for newcomers to the Linux world), I've always been curious what would have happened if there was a board to approve the general direction, additions and revisions so that be it a platform or a programming language, the tangents wouldn't stray too far from the main group.

It's called the Linux Standard Base [linux-foundation.org]

Re:I look forward to this new approach... (1)

rubycodez (864176) | more than 7 years ago | (#19038939)

Being on the fence about using Linux and never really being sure what version

The number of GNU/Linux desktops running Ubuntu is now one in three and still growing, couldn't do too badly to jump on that bandwagon if only to give it a try.

Sands: " Open-source developers need to have rules and governance spelled out for them" But maybe not by Sun. The community might choose another group to lead them, especially since Sun hasn't taken the time to build free alternatives to important Sun java libraries. Just saying it's possible that omission might bite them.

Better Firefox integration? (1)

Manchot (847225) | more than 7 years ago | (#19038517)

So, does this mean we'll see better integration of Firefox with Java now? Currently, if I go to a page and the browser freezes for about 15 seconds, I think to myself, "This page must have an applet."

Re:Better Firefox integration? (2, Insightful)

AKAImBatman (238306) | more than 7 years ago | (#19038673)

Currently, if I go to a page and the browser freezes for about 15 seconds, I think to myself, "This page must have an applet."

That's caused by the JVM startup. The pause can be nearly eliminated by starting the JVM with the browser. Of course, that slows the browser startup and holds onto memory needlessly. So I doubt anyone is going to bother doing that for a dead technology. (i.e. Applets)

Re:Better Firefox integration? (1)

Chandon Seldon (43083) | more than 7 years ago | (#19039339)

With Java being open sourced, I have an odd feeling that applets may have been resurrected as a Flash/Silverlight competitor.

Re:Better Firefox integration? (1)

ajs318 (655362) | more than 7 years ago | (#19042571)

If Ubuntu make good and include a GPL Java interpreter as standard, then that's not at all unlikely. It would take some special classes for implementing playback, is all. You could embed a movie, as a literal, right into a Java player-applet .....

Re:Better Firefox integration? (1)

Hatta (162192) | more than 7 years ago | (#19042573)

Of course, if you're not using the JVM it's swapped out and not really using any RAM.

Re:Better Firefox integration? (1)

kestasjk (933987) | more than 7 years ago | (#19038797)

Firefox supports Java just fine. If you get a delay when you see a Java applet it's probably because Java isn't loaded into memory.

and it's been like that for YEARS (1)

QuantumG (50515) | more than 7 years ago | (#19038987)

Why Sun never recognized this as a problem and did something about it, like working with browser makers to pre-load the JVM, I don't know.

It's the no1 reason why Applets died.. and because of that we had to wait until the Javascript/XML fightback to get Web 2.0.

Is this just another example of corporate culture getting in the way of seeing reality?

Re:and it's been like that for YEARS (0)

Anonymous Coward | more than 7 years ago | (#19039713)

Why pre-load the JVM when you might not need it? Talk about bloat. How about just use place holders and load it in the background like they do images?

Re:and it's been like that for YEARS (1)

QuantumG (50515) | more than 7 years ago | (#19040419)

Because it takes too long.

Really, the JVM does not take a lot of memory to pre-load.. that argument is just premature optimization.

Re:and it's been like that for YEARS (0)

Anonymous Coward | more than 7 years ago | (#19043037)

Hah, for YEARS! Do I hear the name Netscape coined in your post? My gosh, I had a deja vu when I read GP: Netscape crashes on Java!

I'm getting tired of this (0)

nanosquid (1074949) | more than 7 years ago | (#19038645)

What's being open sourced is this (see https://openjdk.dev.java.net/ [java.net] ):

  Today this project contains two significant components of the JDK:

        * The HotSpot Virtual Machine
        * The Java programming-language compiler (javac),
            with complete NetBeans project metadata

There are several high performance virtual machines and compilers for Java already, so this doesn't really make much difference to anybody.

The parts that matter are the libraries and the specifications. But there are lots of open questions about those. Are they going to be GPL with or without linking exception? What parts are actually going to be missing? Does Sun claim patent rights (creating a Novell/Microsoft-like situation)? What's the effect of Sun's dual licensing? How is Sun going to get community development working if they still have a commercial license? Is Sun going to require copyright assignments?

I'm getting pretty tired of the way this stuff is dribbling out of Sun and the kinds of games Sun seems to be playing with licenses. I've removed Sun Java from my Linux system; gcj, Classpath, and IKVM work fine.

Re:I'm getting tired of this (2, Informative)

AKAImBatman (238306) | more than 7 years ago | (#19038985)

Actually, that's the wrong page. For some crazy reason that's incomprehensible to the average human being, Sun moved the code to a different page. See here:

http://openjdk.java.net/ [java.net]

You'll note that those downloads include all the core libraries that Sun promised to release. Why don't they redirect users looking at http://openjdk.dev.java.net/ [java.net] to that page? I have no idea, but there you go.

Re:I'm getting tired of this (1)

DragonWriter (970822) | more than 7 years ago | (#19039041)

You'll note that those downloads include all the core libraries that Sun promised to release. Why don't they redirect users looking at http://openjdk.dev.java.net/ [java.net] [java.net] to that page?


Its very easy to end up in various dead-end parts of Sun's web presence: I've run into lots of old links to zombie Sun webpages that were still up even though outdated and replaced by updated pages at different addresses.

Re:I'm getting tired of this (1)

nanosquid (1074949) | more than 7 years ago | (#19039275)

You'll note that those downloads include all the core libraries that Sun promised to release.

OK, here's the deal.

Sun's announcement doesn't talk about including the Java libraries.

Sun's Subversion repository contains none of those libraries in an identifiable place (https://openjdk.dev.java.net/source/browse/openjd k/).

But, after downloading the source zip file and grepping, it turns out there is a lot more stuff in the zip file than in any of the other places. For example, there is actually Swing with a Classpath exception.

Good, that makes the release a lot more real and meaningful. Sun really needs to clean up their act in how they release and communicate things. And I still don't trust them any more than I trust Microsoft.

openjdk.java.net (was I'm getting tired of this) (1)

javacowboy (222023) | more than 7 years ago | (#19039037)

Don't be so quick to condemn Sun. Open sourcing a gigantic project like Java takes time, especially since they don't own much of the code and needed to establish a governance model.

You got the wrong link.

This is the correct one:

http://openjdk.java.net/ [java.net]

I'm not sure why Sun didn't fix the other link, though, because it's clearly out of date.

The Sun Experiment (5, Insightful)

krelian (525362) | more than 7 years ago | (#19038845)

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

Re:The Sun Experiment (0)

Anonymous Coward | more than 7 years ago | (#19039839)

If Java is freely available now and will (obviously) continue to be once it is open-sourced, I'm not sure how that is going to prove the open source development model as a good business model any more than any other open source project. I see how Java can be an important building block for profitable products and services but for Sun, Java is something else to maintain. Open sourcing Java has a lot of benefits but I would argue that most businesses don't have such a "two tiered" business like that where the community could take over the lower level and the company is still left to reap the benefit in other ways. If I'm a company that pays the bills by selling a software package and I make that software open source, what am I really left with when people can just download my product for free. I feel like people have an overly romantic view of OSS. Open source makes an awful lot of since in many cases but not all. Do you really want to voluntarily join an OSS project to develop business software for Joe's Hinge Company in BFE?

Re:The Sun Experiment (1)

nanosquid (1074949) | more than 7 years ago | (#19041419)

F/OSS takes a lot of criticism regarding it economic model which most businessmen see as non existent

That's based on a misunderstanding. FOSS is enormously valuable to businesses, but not as a "business model" in the sense of earning money. FOSS is about collaborative development by end users for the purpose of reducing risk and costs.

But Sun isn't an end user. They reduce neither their risks nor their costs by open sourcing Java, which raises the question: why is Sun doing this?

I think there are several answers:

-- Sun has always been primarily a hardware company.

-- Sun does retain proprietary rights, and they are using open sourcing as a way of getting attention and maybe more licensees.

-- Java and Solaris are under siege from a variety of other technologies and have been losing ground; this may be a last ditch attempt to try to make them more relevant again.

-- Sun customers are getting worried that Java and Solaris are at risk if Sun gets acquired.

F/OSS is not only the right thing to do morally

I think claims by any company that they are doing FOSS for "moral" reasons should be viewed as highly suspicious.

Re:The Sun Experiment (1)

sproketboy (608031) | more than 7 years ago | (#19042735)

I don't know about Solaris but Java is definitely not losing ground. #1 language by any measure.

Gnu classpath ? (2, Interesting)

Salsaman (141471) | more than 7 years ago | (#19038883)

Is there some reason why they (Sun Java) can't merge with GNU classpath ? It seems quite likely the latter would be able to provide all of the missing libraries, since they were working for many years on a free implementation of Java.

Re:Gnu classpath ? (1)

deKernel (65640) | more than 7 years ago | (#19038971)

My best guess here as to why Sun doesn't do it themselves is that there engineers have been 'tainted' with the encumbered code: they have seen the code. This is why companies like IBM and such put up walls between the AIX and Linux teams.

Re:Gnu classpath ? (1)

Salsaman (141471) | more than 7 years ago | (#19039025)

That's exactly my point. They should hire some of the classpath guys, and then they'd have a clean-room implementation ready for use.

Re:Gnu classpath ? (3, Insightful)

mhall119 (1035984) | more than 7 years ago | (#19039369)

Because it is much easier for Sun to just release 90% of their code under the same license used by GNU Classpath, then let the classpath guys, or anyone else in the community, figure out what of that missing 10% can be filled in with Classpath code.

I am satisfied. (1)

Qwavel (733416) | more than 7 years ago | (#19038963)

I am a c++ developer who doesn't really like C++, but has held back from switching for years.

I've been very annoyed at and cynical about Sun's handling of Java. If Sun had opened Java years ago I would have switched (and I'd be much happier right now).

Now, it's a bit late, but I am satisfied that they have finally done the right thing, in a real and full way. The remaining issues are understandable. Yes, they only did it because of competitive pressure, but I guess that's how it goes.

I won't be switching to Java right away, but I think the opening of Java will be the decisive factor for me when it comes to my future personal technology decisions.

it's just HotSpot and javac (-1)

oohshiny (998054) | more than 7 years ago | (#19039033)

Don't get too excited about this: it's just the HotSpot VM and javac; those aren't very useful by themselves, and there are several good open source VM's and javac's already.

The important bits are the libraries and they're still missing.

Re:it's just HotSpot and javac (3, Informative)

AKAImBatman (238306) | more than 7 years ago | (#19039549)

*cough* http://openjdk.java.net/ [java.net] *cough*

The http://openjdk.dev.java.net [java.net] site is defunct.

The important bits are all there, sans part of the Java2D and JavaSound implementation libs.

Why mono? (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#19039059)

So without the 'its not free' line, the mono developers have just one choice:

A) continue developing their never going to be compatible with .NET and ridiculously difficult to optimize CLR copycat VM.

-or-

B) make a few tweaks to compile C#-ish code to the JVM and maybe mod a few things like JNI so it integrates a little easier with existing libs.

Sure sounds like a difficult choice to me...

Mozilla Had the Same Problem (1)

hardburn (141468) | more than 7 years ago | (#19039241)

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.

Mozilla had the same issue when Netscape first released it. It's probably the single biggest reason why Mozilla development was held up for years. That may not happen here, but I find it worrisome.

Re:Mozilla Had the Same Problem (2, Insightful)

KarmaMB84 (743001) | more than 7 years ago | (#19042633)

Aside from scrapping nearly the entire Netscape codebase and starting over?

Wrong priorities (0)

Anonymous Coward | more than 7 years ago | (#19039441)

Java is a pile of rubbish made by executives for executives with the purpose of making money during the bubble. If the same efforts were directed into pushing for free device drivers for, say, nVidia cards, that would be a great achievement.
The one and only positive effect of having Java free will be the bigger threat it will represent for the Microsoft edition of the pile of rubbish (aka: .NET).

New Toy - Yay (0)

Anonymous Coward | more than 7 years ago | (#19039545)

Yet another toy programming language open sourced.

Now, instead of a 'standard' broken toy programming language, we can have hundreds or forks and patches for the broken, 'standard' toy programming lanugage.

Everyone and their dog will rewrite portions that they don't like, none of it will be standard, and in true 'javadoc' fashion, there will be almost no documentation.

Face it, java is a nice toy, for those who can't afford a real compiler. The dream of 'write once , run anywhere' is just that, a dream.

Re:New Toy - Yay! (1)

jobsagoodun (669748) | more than 7 years ago | (#19040757)

Yeah, I know, IHBT, but I currently work on a java project (shared with Subversion) on Eclipse variously in Slowlaris, Ubuntu, RHEL and Windows NT 2000 without issue. We also have devs for our graphic designers working with eclipse on Macs (powerPC & intel). The dream of write once, run anywhere seems pretty alive to me matey.

Re:New Toy - Yay! (1)

jobsagoodun (669748) | more than 7 years ago | (#19040797)

& the Java (on WebSphere) transaction system connected to this processes around a billion transactions per year. Some fricking toy.

Re:New Toy - Yay! (0)

Anonymous Coward | more than 7 years ago | (#19042617)

Don't feed the troll.

Thank you Sun and thank you RMS for the GPL (4, Insightful)

Anonymous Coward | more than 7 years ago | (#19040277)

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.

Forget OpenSolaris! (2, Interesting)

Dr. Smoove (1099425) | more than 7 years ago | (#19040921)

What about the poor folk like me running Linux on Sparc who can't use anything Java? Or some other architecture? Once this is complete it's going to be good for the non x86 Linux community.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>