Sun open-sourcing Java (slowly...)

Have a look at this if you are interested: http://news.com.com/2100-7344_3-6072760.html?part=rss&tag=6072760&subj=news -- Ian McDonald Web: http://wand.net.nz/~iam4 Blog: http://imcdnzl.blogspot.com WAND Network Research Group Department of Computer Science University of Waikato New Zealand

Ian McDonald wrote:
Have a look at this if you are interested:
http://news.com.com/2100-7344_3-6072760.html?part=rss&tag=6072760&subj=news In other news, the licensing changes that proceeded this have lead to https://lists.ubuntu.com/archives/dapper-changes/2006-May/010876.html ie: you can enable multiverse on Dapper, and 'apt-get install sun-java5-jre', and be away. There is still an element of 'enabling something' to get multiverse, so while it still requires an extra step, it's * now just ticking a box in Synaptic * now coming from a trusted repository and officially maintained It's also now available in Debian non-free. expect it will make it to "out of the box" in major distros in due course, when suitably open sourced! This also brings to mind an issue I read about on Slashdot yesterday; http://linux.slashdot.org/article.pl?sid=06/05/15/0532219&threshold=1
The main problem used to be that there simply wasn't good Free Software for what people wanted to do.
Now the main problem is that key elements of what people want to do are blocked by software patents and other legal stuff. People want to play MP3s, but can't because MP3 is not a Free codec. People want to watch DVDs, but can't because any Free Software DVD player program is classified as a "circumvention device" (and is therefore illegal) under [..] copyright law.
We've made progress. Software exists for doing everything we want to do, now we just need to get the laws changed so that we can use that software.
(http://linux.slashdot.org/comments.pl?sid=185764&cid=15334124) Craig

Ian McDonald wrote:
Have a look at this if you are interested: http://news.com.com/2100-7344_3-6072760.html?part=rss&tag=6072760&subj=news
The proof is in the pudding... Sun dances with this all the time, personally, I think its just a marketing ploy. RedHat's development efforts with gcj and GNU classpaths is making very good progress. Now that JBoss is apart of RH, one can only see the open JVM will improve greatly. The fact that I do not need to run a closed JVM to run OOo, eclipse, azureus etc on FC5 is very cool. The fact that I can build limewire, for example, with out Sun's JDK is even better! There is on going work on the mozplugin to make it work better with this enviroment and should be released in FC6 is really good. So why worry about Sun's JVM? Michael

The proof is in the pudding... Sun dances with this all the time, personally, I think its just a marketing ploy.
I don't think so myself on this one - see their efforts on other projects such as Solaris. What I think is that they are a big company who respond too slowly and in the wrong way (e.g. using non-standard licenses).
RedHat's development efforts with gcj and GNU classpaths is making very good progress. Now that JBoss is apart of RH, one can only see the open JVM will improve greatly.
Agree totally. There is good comment on the progress at OSNews - http://www.osnews.com/story.php?news_id=14617 on this.
So why worry about Sun's JVM?
For corporates it is one more tick in the box for requirements if they migrate... -- Ian McDonald Web: http://wand.net.nz/~iam4 Blog: http://imcdnzl.blogspot.com WAND Network Research Group Department of Computer Science University of Waikato New Zealand

The proof is in the pudding... Sun dances with this all the time, personally, I think its just a marketing ploy.
RedHat's development efforts with gcj and GNU classpaths is making very good progress. Now that JBoss is apart of RH, one can only see the open JVM will improve greatly.
Did JBoss get bought or are you just saying JBoss is bundled by RH?
The fact that I do not need to run a closed JVM to run OOo, eclipse, azureus etc on FC5 is very cool. The fact that I can build limewire, for example, with out Sun's JDK is even better!
Yes GCJ is getting very good. But it has a shitty JVM last time I checked. So unless you comple to x86 binary your code runs like crap. There is lots of Java bytecode out there and not all of it is open source or can be compiled with GCJ.
There is on going work on the mozplugin to make it work better with this enviroment and should be released in FC6 is really good.
So why worry about Sun's JVM?
Because it is better than GCJ and if it comes with a suitably unrestricted license (they say OSI certified) it will mean we get to the Java "finish line" faster on Linux. This won't kill GCJ either, it will only make GCJ better I think. Regards

Oliver Jones wrote:
The proof is in the pudding... Sun dances with this all the time, personally, I think its just a marketing ploy.
RedHat's development efforts with gcj and GNU classpaths is making very good progress. Now that JBoss is apart of RH, one can only see the open JVM will improve greatly.
Did JBoss get bought or are you just saying JBoss is bundled by RH?
Did you miss this: http://www.redhat.com/promo/jboss/ http://www.redhat.com/about/news/prarchive/2006/jboss.html
The fact that I do not need to run a closed JVM to run OOo, eclipse, azureus etc on FC5 is very cool. The fact that I can build limewire, for example, with out Sun's JDK is even better!
Yes GCJ is getting very good. But it has a shitty JVM last time I checked. So unless you comple to x86 binary your code runs like crap. There is lots of Java bytecode out there and not all of it is open source or can be compiled with GCJ.
A great deal of effort is still being made, I know with in the Fedora commuinty atleast, to make applications build and run with GCJ. The number of java applications that work with GCJ grows all the time.
There is on going work on the mozplugin to make it work better with this enviroment and should be released in FC6 is really good.
So why worry about Sun's JVM?
Because it is better than GCJ and if it comes with a suitably unrestricted license (they say OSI certified) it will mean we get to the Java "finish line" faster on Linux. This won't kill GCJ either, it will only make GCJ better I think.
For a long time Windows was a better desktop... didn't stop people using a different OS ;) Some interesting points have been made on the fedora-devel list.... From the DLJ FAQ: - Distribute the entire JDK - no subsetting. Note - the README file has the specifics of what you must distribute, and what can be omitted. So its all or nothing, no splitting it into subpackages. - Present for acceptance any end user licenses that are part of the JDK, if such licenses are included in the generic install bundle provided to you for repackaging. Click-through license required - not acceptable, especially during install (how would an automated kickstart even do this?). *note - rpm is designed to be non-interactive, so this is probably not an issue with apt, which allows (by design) interaction. - Indemnify Sun against claims arising from your OS or your violation of the DLJ (or any applicable law) Note that you are not responsible for changes made to your OS distribution by downstream users or distributors when such changes are out of your control. I don't think any distro will indemnify anyone. And this is the best comment so far: http://blogs.sun.com/roller/page/webmink?entry=jdk_on_gnu_linux_something#co... Quotation from the comment: "No, it's OK to distribute along with GCJ, GNU/Classpath and so on - that was one of the explicit intents of the new license as that was previously the chief obstacle to distribution with GNU/Linux." So, you either ship Sun's java or you don't. So, IMHO, Sun's attempt to "open" java is more a wolf in sheeps clothing than some gift that the OSS communities should be grateful for. Michael

So, you either ship Sun's java or you don't.
Erm, are you getting this in the correct context? The rest of the comment says "That clause of DLJ simply means you can't take the Sun package apart and use elements of it to complete or modify another package - so, for example, it would be a breach of the license to take the Swing classes from the Sun JDK and add them to GNU/Classpath. Just shipping the two systems alongside each other is explicitly OK." Which sounds fair enough to me. They are not bequeathing their classes for use with GCJ, but you can ship whatever you like.
So, IMHO, Sun's attempt to "open" java is more a wolf in sheeps clothing than some gift that the OSS communities should be grateful for.
The people who write Java applications that people have to interact with, presumably write them with Sun's JVM (or if not it specifically, the set of standards and classes it implements at the time) in mind. If people can get Sun's Java on Linux, it's another thing to cross of the list of reasons to change. It's nice that people have been working on alternatives, but until they get "feature complete" (still waiting for a stable release of Mono's windows.forms), nothing beats the reference implementation. Craig

Craig Box wrote:
So, you either ship Sun's java or you don't.
Erm, are you getting this in the correct context?
Umm, I think so: http://download.java.net/dlj/DLJ-v1.1.txt "(c) you do not combine, configure or distribute the Software to run in conjunction with any additional software that implements the same or similar functionality or APIs as the Software; " I read that as Sun java or no Sun java, I might very well be wrong, but GCJ and the GNU Classpath implement "the same or similar functionality or APIs as the Software"
The rest of the comment says "That clause of DLJ simply means you can't take the Sun package apart and use elements of it to complete or modify another package - so, for example, it would be a breach of the license to take the Swing classes from the Sun JDK and add them to GNU/Classpath. Just shipping the two systems alongside each other is explicitly OK."
The two are license incompatable and I am sure Sun will keep it that way.
Which sounds fair enough to me. They are not bequeathing their classes for use with GCJ, but you can ship whatever you like.
But not both ;)
So, IMHO, Sun's attempt to "open" java is more a wolf in sheeps clothing than some gift that the OSS communities should be grateful for.
The people who write Java applications that people have to interact with, presumably write them with Sun's JVM (or if not it specifically, the set of standards and classes it implements at the time) in mind.
If people can get Sun's Java on Linux, it's another thing to cross of the list of reasons to change. It's nice that people have been working on alternatives, but until they get "feature complete" (still waiting for a stable release of Mono's windows.forms), nothing beats the reference implementation.
Still.. Its not OSS From JPackage's mailing list: https://www.zarb.org/pipermail/jpackage-discuss/2006-May/thread.html#9914 and from debian's legal: http://lists.debian.org/debian-legal/2006/05/threads.html#00064 As previsouly stated, its a wolf in sheeps clothing. And the best comment I have seen on this comes from Warren Togami: - Do not sacrifice liberty for a little short-term convenience. Sums it up :) Michael

Erm, are you getting this in the correct context? Umm, I think so:
<snip>
I read that as Sun java or no Sun java, I might very well be wrong, but GCJ and the GNU Classpath implement "the same or similar functionality or APIs as the Software"
The two are license incompatable and I am sure Sun will keep it that way.
Which sounds fair enough to me. They are not bequeathing their classes for use with GCJ, but you can ship whatever you like.
But not both ;)
From my last e-mail:
} The rest of the comment says "That clause of DLJ simply means you } can't take the Sun package apart and use elements of it to complete } or modify another package - so, for example, it would be a breach of } the license to take the Swing classes from the Sun JDK and add them } to GNU/Classpath. } } __Just shipping the two systems alongside each other is explicitly OK.__ (emphasis mine) Craig

Craig Box wrote:
Erm, are you getting this in the correct context? Umm, I think so:
<snip>
I read that as Sun java or no Sun java, I might very well be wrong, but GCJ and the GNU Classpath implement "the same or similar functionality or APIs as the Software"
The two are license incompatable and I am sure Sun will keep it that way.
Which sounds fair enough to me. They are not bequeathing their classes for use with GCJ, but you can ship whatever you like. But not both ;)
From my last e-mail:
} The rest of the comment says "That clause of DLJ simply means you } can't take the Sun package apart and use elements of it to complete } or modify another package - so, for example, it would be a breach of } the license to take the Swing classes from the Sun JDK and add them } to GNU/Classpath. } } __Just shipping the two systems alongside each other is explicitly OK.__
(emphasis mine)
Yes, that was misread by myself and after reading debian-legal, jpackage, fedora-devel and the DLJ better understand the situation. You can't ship both. Michael

Yes, that was misread by myself and after reading debian-legal, jpackage, fedora-devel and the DLJ better understand the situation.
You can't ship both.
This is a work in progress: http://download.java.net/dlj/DLJ-FAQ-v1.1.txt } 8. Does this license prevent me shipping any alternative } technologies in my OS distribution? } } The DLJ does not restrict you from shipping any other technologies } you choose to include in your distribution. However, you can't use } pieces of the JDK configured in conjunction with any alternative } technologies to create hybrid implementations, or mingle the code } from the JDK with non-JDK components of any kind so that they run } together. It is of course perfectly OK to ship programs or libraries } that use the JDK. Because this question has caused confusion in the } past, we want to make this absolutely clear: except for these } limitations on combining technologies, there is nothing in the DLJ } intended to prevent you from shipping alternative technologies with } your OS distribution. The outstanding problem, according to debian-legal, is amending the license such that the comments in the FAQ and README, that say "This is Sun's legal opinion but is not at this stage legally binding - you can only read the license for that", are clarified inside the license itself. Craig

Craig Box wrote:
Yes, that was misread by myself and after reading debian-legal, jpackage, fedora-devel and the DLJ better understand the situation.
You can't ship both.
This is a work in progress:
http://download.java.net/dlj/DLJ-FAQ-v1.1.txt
} 8. Does this license prevent me shipping any alternative } technologies in my OS distribution? } } The DLJ does not restrict you from shipping any other technologies } you choose to include in your distribution. However, you can't use } pieces of the JDK configured in conjunction with any alternative } technologies to create hybrid implementations, or mingle the code } from the JDK with non-JDK components of any kind so that they run } together. It is of course perfectly OK to ship programs or libraries } that use the JDK. Because this question has caused confusion in the } past, we want to make this absolutely clear: except for these } limitations on combining technologies, there is nothing in the DLJ } intended to prevent you from shipping alternative technologies with } your OS distribution.
The outstanding problem, according to debian-legal, is amending the license such that the comments in the FAQ and README, that say "This is Sun's legal opinion but is not at this stage legally binding - you can only read the license for that", are clarified inside the license itself.
Ok, so even if they address the redistribution of it (so it can be installed with other java VM implementations), its still *not* OSS. What about the clause that requires you to indemnify Sun? Is debain/ubuntu addressing that? As stated before, this is a wolf in sheep's clothing. Sun is conning people/distributions into thinking its OK to ship a close source JVM, because the license allows it to be freely redistributed. Michael

Michael J Knox wrote:
Ok, so even if they address the redistribution of it (so it can be installed with other java VM implementations), its still *not* OSS.
No, it's a work in progress. A point which you seem to consistently be missing in your efforts to bring negativity to this thread. Free redistribution is one of the four freedoms and having it is definitely better than not having any of the freedoms at all. Yes, the other three components to make Java truly Free and Open are still missing, but Sun has given a commitment to change that and they've proven themselves to be honourable in living up to these commitments in the past (OpenOffice, OpenSolaris, for example).
As stated before, this is a wolf in sheep's clothing. Sun is conning people/distributions into thinking its OK to ship a close source JVM, because the license allows it to be freely redistributed.
Sun is not conning anyone. It's well understood the the DLJ license is the first step on a path that Sun intends to end with Java being released under an OSI complaint license. You would have to have your head in the sand to have missed this piece of news. Debian hasn't portrayed Java as free software. It's very clearly in the "non-free" section of the distribution and there has been robust debate on the lists to justify this. If you want to persist with your assertion that people are being conned I'd like to ask you to provide some evidence to back up that point. I've personally found your attitude on this thread to be very negative and unhelpful. The open source community thrives due to credit and recognition. You seem to be doing your best to outweigh this by spreading distrust and malice towards Sun when they're doing their best to engage constructively with the community. In my opinion Sun deserves to be congratulated for the efforts they have made to contribute and as a community we should be supporting and encouraging their efforts to fully Open Source Java. Cheers -- Matt Brown matt(a)mattb.net.nz Mob +64 21 611 544 www.mattb.net.nz

Matt Brown wrote:
Michael J Knox wrote:
Ok, so even if they address the redistribution of it (so it can be installed with other java VM implementations), its still *not* OSS.
No, it's a work in progress. A point which you seem to consistently be missing in your efforts to bring negativity to this thread.
gcj is a work in progress too :)
Free redistribution is one of the four freedoms and having it is definitely better than not having any of the freedoms at all.
Its a one legged table.. completely useless.
Yes, the other three components to make Java truly Free and Open are still missing, but Sun has given a commitment to change that and they've proven themselves to be honourable in living up to these commitments in the past (OpenOffice, OpenSolaris, for example).
Sure.
As stated before, this is a wolf in sheep's clothing. Sun is conning people/distributions into thinking its OK to ship a close source JVM, because the license allows it to be freely redistributed.
Sun is not conning anyone. It's well understood the the DLJ license is the first step on a path that Sun intends to end with Java being released under an OSI complaint license. You would have to have your head in the sand to have missed this piece of news.
OSI complaint doesn't mean good.
Debian hasn't portrayed Java as free software. It's very clearly in the "non-free" section of the distribution and there has been robust debate on the lists to justify this. If you want to persist with your assertion that people are being conned I'd like to ask you to provide some evidence to back up that point.
Greeting this move with open arms, falling to your knees and thanking Sun is a joke.
I've personally found your attitude on this thread to be very negative and unhelpful. The open source community thrives due to credit and recognition. You seem to be doing your best to outweigh this by spreading distrust and malice towards Sun when they're doing their best to engage constructively with the community.
I am spreading distrust? Read the license, its full of clauses that leave you wondering. Suns "intent" may be good, but intent is not law.
In my opinion Sun deserves to be congratulated for the efforts they have made to contribute and as a community we should be supporting and encouraging their efforts to fully Open Source Java.
I will continue to not use Sun's java and continue to support the gcj and gnu classpath developers. Sun's has repeatedly danced with "open sourcing" java and modify the license to allow free redistribution is not a sign of them open sourcing it at all, nor their comments that they will. My _very_ first comment on this was "proof is in the pudding". It still stands. Michael

Sun is not conning anyone. It's well understood the the DLJ license is the first step on a path that Sun intends to end with Java being released under an OSI complaint license. You would have to have your head in the sand to have missed this piece of news.
OSI complaint doesn't mean good.
[..snip..]
I will continue to not use Sun's java and continue to support the gcj and gnu classpath developers.
But OSI compliant does, somewhat by definition, imply "open source". I'm a bit confused here - are you saying that if Sun's Java was 100% open sourced, you'd still rather use gcj? If you are, thats fine: } For an open source Java effort to succeed, it not only needs to match } the functionality of Sun's Java first, but it must offer functionality } that is not available anywhere if it wants to attract developers to } its core. Today there are probably two openings in this area. IKVM } which makes Java and .NET run side-by-side and GCJ which turns Java } code into native code. (Miguel de Icaza, http://tirania.org/blog/archive/2005/May-11.html) But for the people who want to use the most compliant Java implementation, which today by default is that of its inventor, this step takes them one big step closer to doing it easily, and one small step closer to doing it with a clear conscience.
Greeting this move with open arms, falling to your knees and thanking Sun is a joke.
To quote a relevant (and more recent) section from Miguel again: } Now, on the other hand, everyone clamoring for Sun to open source Java } seems to be tacitly admitting that free software can not compete in } out-engineering a proprietary company if the proprietary company gives } their goods for free } } Beyond all the debate surrounding Sun's actions there is an } interesting debate that we should look at: can open source effectively } compete with proprietary software if the goods are given away for } free? http://tirania.org/blog/archive/2006/May-19-2.html Mono development is fast and furious because there is no "$-free alternative". GCJ/Harmony/Kaffe/whatever -- well, you can scratch an itch, but there's always the Sun JVM, which is $-free, so development on competitors will always suffer. In this situation, the only winning move for the product is the open sourcing of the Sun JVM, or the development of the above alternatives, which do Java slightly differently. Craig

Craig Box wrote:
Sun is not conning anyone. It's well understood the the DLJ license is the first step on a path that Sun intends to end with Java being released under an OSI complaint license. You would have to have your head in the sand to have missed this piece of news. OSI complaint doesn't mean good.
[..snip..]
I will continue to not use Sun's java and continue to support the gcj and gnu classpath developers.
But OSI compliant does, somewhat by definition, imply "open source". I'm a bit confused here - are you saying that if Sun's Java was 100% open sourced, you'd still rather use gcj?
Probably. It fulfills 100% of my current java needs.
If you are, thats fine:
} For an open source Java effort to succeed, it not only needs to match } the functionality of Sun's Java first, but it must offer functionality } that is not available anywhere if it wants to attract developers to } its core. Today there are probably two openings in this area. IKVM } which makes Java and .NET run side-by-side and GCJ which turns Java } code into native code.
(Miguel de Icaza, http://tirania.org/blog/archive/2005/May-11.html)
Not once have I said that GCJ is up to scratch in comparison to Sun's JVM. I dis say this though: "RedHat's development efforts with gcj and GNU classpaths is making very good progress. Now that JBoss is apart of RH, one can only see the open JVM will improve greatly." And I stand by my comments.
But for the people who want to use the most compliant Java implementation, which today by default is that of its inventor, this step takes them one big step closer to doing it easily, and one small step closer to doing it with a clear conscience.
Greeting this move with open arms, falling to your knees and thanking Sun is a joke.
To quote a relevant (and more recent) section from Miguel again:
} Now, on the other hand, everyone clamoring for Sun to open source Java } seems to be tacitly admitting that free software can not compete in } out-engineering a proprietary company if the proprietary company gives } their goods for free } } Beyond all the debate surrounding Sun's actions there is an } interesting debate that we should look at: can open source effectively } compete with proprietary software if the goods are given away for } free?
Depends in *how* they are given away, my best guess would be CDDL, which is incompatible with GPL like licenses.. should raise some nice debates
Mono development is fast and furious because there is no "$-free alternative". GCJ/Harmony/Kaffe/whatever -- well, you can scratch an itch, but there's always the Sun JVM, which is $-free, so development on competitors will always suffer.
Mono is a great effort, Miguel as really out done himself in that department. Full credit where due.
In this situation, the only winning move for the product is the open sourcing of the Sun JVM, or the development of the above alternatives, which do Java slightly differently.
Provided Sun does it and provided its compatible with existing licenses. Again, proof is in the pudding. I don't mean to sound negative, as Matt claims, but I am some what shocked by the attitude of shipping non-free non-oss is ok, because someday it *might* become completely oss..... Doesn't make sense to me. Michael

I don't mean to sound negative, as Matt claims, but I am some what shocked by the attitude of shipping non-free non-oss is ok, because someday it *might* become completely oss.....
Doesn't make sense to me.
http://nonfree.alioth.debian.org/ Non-free is for packages that are free enough for Debian to distribute, but not free enough to meet the DFSG. Sun Java suits this case perfectly, assuming that the DLJ has actually relaxed the licensing agreement enough to allow Debian to distribute it. Whether or not it has is the argument. There is no requirement for software in non-free to be OSS. The NVIDIA and ATI drivers definitely aren't. Craig

Craig Box wrote:
I don't mean to sound negative, as Matt claims, but I am some what shocked by the attitude of shipping non-free non-oss is ok, because someday it *might* become completely oss.....
Doesn't make sense to me.
http://nonfree.alioth.debian.org/
Non-free is for packages that are free enough for Debian to distribute, but not free enough to meet the DFSG.
Sun Java suits this case perfectly, assuming that the DLJ has actually relaxed the licensing agreement enough to allow Debian to distribute it. Whether or not it has is the argument.
There is no requirement for software in non-free to be OSS. The NVIDIA and ATI drivers definitely aren't.
Well, I guess this is were we differ (greatly) in opinions. I do not use anything that is not free, with the expection of my BIOS. No closed video drivers, no flash, no Sun Java, no mp3 and so on.... I do not think its OK to distribute them and think its odd that members of the NZOSS seem to be OK with closed, proprietary applications/drivers etc. *If* Sun's Java was OSS (read GPL/LGPL/LGLPL/MIT/X11/BSD/MPL not CDDL) and I was of the same opinion, then, yes, I would be an arse, however, its (Sun's Java) not and until the day it is, I will remain a skeptic. So, instead of dragging this thread on, perhaps we should leave it here: Value your freedom, or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. - Richard Stallman Michael

The intention to do this was announced by a Sun employee on LugRadio a while ago. Sun are Open Sourcing their entire software product line. Sun has realized (like IBM) that they can be a more successful company and compete with RedHat/Dell better by being more open. Essentially being a service company rather than a "product" company. Regards Ian McDonald wrote:
Have a look at this if you are interested: http://news.com.com/2100-7344_3-6072760.html?part=rss&tag=6072760&subj=news
participants (6)
-
Craig Box
-
Ian McDonald
-
Matt Brown
-
Michael J Knox
-
Michael J. Knox
-
Oliver Jones