Sun Open Sources Java Under GPL
prostoalex writes "The embargo is off, and Associated Press is reporting on Sun releasing Java under GPL. Sun is hoping that this step will attract more developers, as well as extend the lifespan of Java. The article notes that this is 'one of the largest additions of computer code to the open-source community', and that Java is currently being run on something like 3.8 Billion devices worldwide." From the article: "Rich Green, Sun's executive vice president of software, said the company hopes to turn more developers into Java programmers, who may then create additional software to support Sun products. 'The open-sourcing of this really means more — more richness of offerings, more capability, more applications that consumers will get to use,' Green said. 'The platform itself will become a place for innovation.' All the Java source code is expected to be released by March 2007, Green said. The move covers all Java technology, which includes software that runs on handheld devices, personal computers and servers."
Well, on a more practical note, this means that within a few months, I should be seeing a real, complete, working JRE sitting in the main repositories for Debian and Ubuntu. Sweet. We no longer have to go and fetch it ourselves or experiment with incomplete toolkits.
For the ideologues, knowing that there's one less piece of non-free software on your system is a real comfort. For me, personally, all that apparently remains are ATI drivers and Flash Player.
Yay!
~ C.
Some more articles I have found, with some substance to them:
InfoQ, also mentions Glassfish.
eWeek.
There is also going to be a official webcast about this by Jonathan Schwartz and Rich Green 9.30 a.m. PT.
In related news, apparently Project Looking Glass, the 3d desktop, is likely to be included in the Ubuntu Feisty release.
Being bitter is drinking poison and hoping someone else will die
http://news.zdnet.com/2100-3513_22-6134584.html?ta g=zdfd.newsfeed
Java Standard Edition libraries will be licensed with GPL2 + Classpath Exception which permits linking with non-GPL applications. So there isn't any problem if you don't want to use GPL compatible license for your Java SE programs, you can still use and distribute GPL Java with it.
From what I have read, it seems that Java will be dual-licenced, so anyone that do not feel good about GPL can use commercial licence. It seems like a win-win situation to me...
I have quoted two soundbites on my blog from videos that will be shown at the announcement tomorrow (the quotes are from the information that was (I believe) given to the press.
I've seen the video shorts (well some of them) that will be shown at the announcement. I think some folks will be surprised. RMS also makes reference to the java trap.
Tp.
You've been able to do that for years - just not under an Open Source licence. Sun have provided the entire JDK source (including the VM code) under their own Sun Community Source Licence (see http://www.sun.com/software/communitysource/j2se/
You need a bunch of binaries to get it bootstrapped (i.e. it requires Java to build Java) but the result is entirely compiled from the source you can get from the above site.
GPLing it is a change of licence terms, not a change in the actual availability of the source.
Java will have the same the same exception to GPL for its classlib as GNU Classpath, so the GPL will not have any effect on code running in the JVM. (It has even fewer restrictions than the LGPL that forces derived works to allow reverse engineering)
Spelling/grammar nazis welcome (English is not my first language and I am trying to improve my spelling/grammar)
Java is NOT strictly interpreted language. HotSpot (http://en.wikipedia.org/wiki/HotSpot) mechanism dynamically compiles bytecode into machine code.
In theory, Python has Psyco that can do JIT-compiling, but in practice dynamic nature of Python prevents most of optimizations.
With this step, SUN has became the largest commercial contributor to the free and open source software pool. OpenOffice.org, OpenSolaris, now JAVA - well, kudos!
NFS... Netbeans... JXTA...
Sun has been the biggest commercial contributor to Open Source for some time now... this just makes it even more so.
I see a couple of benefits of the GPL, namely that my favourite distributions can now supply Java as a standard part of the distribution, and that I should probably now be able to easily get ports of Sun Java to platforms I want to use (whereas I was limited to IBM or an older port from Blackdown before)
Sun can still maintain control over "Sun Java", which is what most people will use. Sure, people could fork and deliver versions that break the tests you mention, but it is unlikely many people will use them. There are forks of most major GPL packages out there, but for the most part people stick with the main tree.
The other advantage the GPL has over the existing Sun licences is that many people are unable to look at or work with the code from Sun because their employer forbids them. GNU Classpath is an example of this in open source - cleanroom implementations only, no peeking at the Sun JDK source, and make sure you don't sign any NDA's on the way.
You've got it wrong. The "shoddy debian patches" were just an excuse mentioned by the Mozilla Corporation, but they weren't the dealbreaker - they could have been negotiated. The dealbreaker were the images (their license is not free), because either debian includes them and then it violates its own standards (DFSG), or doesn't include them and then violates Mozilla's trademark conditions they set forward or they change the name of the package. They went for the latter and I'm 100% supportive of that decision.
I got to the point that if I could, I would use something else than Firefox. Only that I need a few extensions + the resize image capability. I don't like the recent direction Firefox is heading.
My own symphathy goes unreservedly to Debian, as a software developer I know what a total pain stupid corporate policies are to deal with.
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
You have to remember that you are starting up a full virtual machine environment. That is going to have lots of overhead, especially at initialization. Anyone who expects to run "Hello, World" programs efficiently is a fool.
Java really does well with big server apps, where the cost of initialization can be amortized over a long period of time. Additionally, JIT compilation and live profiling really work well here.
Server apps really do well with Java. There are fewer opportunities to create difficult to track bugs, memory management handles the fragmentation issues, etc. The performance delta between a C++ and a Java server app is often fairly negligible* while the development time is often substantially faster and it is easy to move to other platforms.
* - A well written C++ app built for a generic processor architecture and a long running Java server app will frequently run about the same. The C++ app is stuck with the tuning choices made at compile time, while JIT and profiling available in Java will tune the Java app at run time, making up for the overhead of the virtual machine. If the "Gentoo" model is followed - the compiler is carefully set to provide maximum performance for a given machine - the C++ app can run substantially faster. However, the cost is that the binary can no longer be moved to a similar but not identical machine without rebuilding. This tuning activity typically requires lots of time and expertise, and generally makes environmental management efforts prohibitively complex. These solutions don't make their way into most real world environments.
It's not a restriction, the one accepting the license gets more rights than from pure GPL.