Sun Open Sources Java Under GPL 535
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."
Holy Shit! (Score:5, Informative)
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!
Re:bravo (Score:3, Informative)
Java is not an acronym, its name should not be capitalised.
It's a minor thing I know, but I'm picky and pedantic enough* for it to irk me every time I see it.
(* goes with the territory; I'm an ex-physicist who moved over to programming. Equations and computers do not know what you mean, only what you say)
More articles (Score:5, Informative)
InfoQ [infoq.com], also mentions Glassfish.
eWeek [eweek.com].
There is also going to be a official webcast [sun.com] about this by Jonathan Schwartz and Rich Green 9.30 a.m. PT.
In related news, apparently Project Looking Glass [sun.com], the 3d desktop, is likely to be included in the Ubuntu Feisty [java.net] release.
Technical Details (Score:3, Informative)
A more detailed link (Score:4, Informative)
http://news.zdnet.com/2100-3513_22-6134584.html?ta g=zdfd.newsfeed [zdnet.com]
Comment removed (Score:2, Informative)
Re:GPL for all? (Score:4, Informative)
Re:Shouldn't it have been LGPL? (Score:5, Informative)
Re:RMS (Score:5, Informative)
I have quoted two soundbites on my blog [sun.com] 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.
Re:This is good, but... (Score:2, Informative)
Java is as low level as PHP, and I don't know what the parent poster was referring with it being "more low level and general purpose". True, it is one of the big 3 with the 2 C's, but i'd say it's more specialized than Python. Few things make Java worthwile and console programs ain't one of them, for example. And more low level? Than what? Java is pretty much as high as you can go.
Azureus is the leading resource client because people really *must* have all the flashy graphics that show how much of a file is done in 47 shades or yellow, orange and green.
Re:Make? (Score:5, Informative)
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.
Re:Holy Shit! (Score:5, Informative)
Re:GPL linking exception for class libraries? (Score:1, Informative)
Re:GPL/Open Source benefits Too! (Score:1, Informative)
Open source here has the same connotation as red communism.
You gotta love it when they compare a volunteer project built entirely out of free will to government which of course is founded on the principle of coercion.
Really, are these people off their rockers? Open source wouldn't be open source if everybody was forced to contribute -- it would be just another subsidy of organized coercion. What makes open source remarkable is that is founded on and depends on people contributing voluntarily -- they want to do it for themselves, not because some government is threatening them with prison or worse.
GPL with Classpath exception (Score:2, Informative)
Just to make it clear: Java is going to have the GPL with the Classpath-exception, which explicitely allows to create closed source applications when using the standard libraries.
See Gosling's blog:
http://blogs.sun.com/jag/ [sun.com]
and here you'll find the mentioned exception:l [gnu.org]
http://www.gnu.org/software/classpath/license.htm
RMS previously on SUN freeing Java (transcript) (Score:4, Informative)
Richard Stallman discussed this in a Nov 1st interview. I've put a transcript online [fsfe.org].
Re:Java sucks (Score:3, Informative)
No need, latte [snu.ac.kr] is already distributed under a BSD license, which is GPL compatible.
Re:You sure on that? (Score:2, Informative)
Re:Not if it is GPL (Score:4, Informative)
Not necessarily:
1. GPL doesn't require patent licenses to be granted.
2. Most of the modifications MS made to their Java implementation wouldn't have worked for Sun because they were heavily dependent on features of Windows that aren't present on any other OS. Sun could've easily reimplemented compatible extensions to Java if the only issue was access to MS's code. They didn't because doing so would have violated the spirit of Java as a cross-platform language.
Re:Shouldn't it have been LGPL? (Score:5, Informative)
Re:GCJ, Kaffee, GNU Classpath (Score:4, Informative)
GCJ will survive because it provides a facility that doesn't exist in the standard JDK (i.e., ahead-of-time compilation).
Kaffe will survive because it's BSD licensed.
Classpath will initially try to survive by copying large amounts of original Java code into itself, but I suspect will eventually become irrelevant as patches for classpath-using applications become available to allow them to use the original Java class library.
Let's hope now Java integrates all the good features of C#, like true generics.
That's easier said than done. A stable binary platform is important to the success of Java, and I suspect implementations of this kind of thing (of which there will be multiple) will result in a forked, fragmented platform with multiple implementations incompatible of interoperating with each other. Then an official Java distribution will pick up new features at probably only slightly faster rates than the current one, and the best of the features will be backported. We'll see slightly accelerated improvements in "official" Java because of the interest, but nothing dramatic, is my guess.
Re:This is good, but... (Score:5, Informative)
In theory, Python has Psyco that can do JIT-compiling, but in practice dynamic nature of Python prevents most of optimizations.
Debian vs. Mozilla (Score:3, Informative)
My own sympathy goes unreservedly to Mozilla, as a software developer I know what a total pain Debian is to deal with.
Re:bravo (Score:5, Informative)
NFS... Netbeans... JXTA...
Sun has been the biggest commercial contributor to Open Source for some time now... this just makes it even more so.
Re:What do you mean, "suitable for Linux"? (Score:4, Informative)
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.
Re:What do you mean, "suitable for Linux"? (Score:4, Informative)
Re:Java sucks (Score:3, Informative)
And I want a link that doesn't crash Firefox 3 times in a row ...
I don't know what's on the page that's so evil for Firefox under Linux, but I had to open it in Epiphany to see ... meybe its another hint for me to get SuSE off my hd ASAP.
Re:Debian vs. Mozilla (Score:5, Informative)
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.
Re:In Ur Face, Novell (Score:3, Informative)
I have zero experience with the Stripes web framework, but this comparison between Stripes and Struts has an excellent illustration of the klunkiness of Struts: http://stripes.mc4j.org/confluence/display/stripe
"One of my prime frustrations with Struts is the fact that just to implement a single page/form, I have to write or edit so many files. And I have to keep them in sync, or else things start going horribly wrong. With Struts I have to write my JSP, my Action, my Form, a form-bean stanza in the struts-config.xml, an action stanza in the struts-config.xml, and if I'm going to do it the Struts way, a bunch of forward stanzas. And let's not go into the fact that since this is all stored in one xml file I'm continually facing merge conflicts with my team mates. Yes, there are annotations for Struts, but they are just literal translations of what's in the XML file, and they don't feel natural to me."
You may with to learn Struts anyway, because it's so common. But if you're builing a new Java web app from scratch and no one on your team is used to Struts, I'd investigate alternatives. The Struts project page [apache.org] even lists a few under the 'Similar Projects' heading. Now, extensibility, stability, and other buzzwords matter just as much as ease of initial configuration. So don't use speed of initial development as your sole criteria.
Re:Not if it is GPL (Score:3, Informative)
If you redistribute code under the GPL, you give all the recipients rights to all the patents they need to actually use the code, and they can pass those rights on to others.
Re:And its still a PIG! (Score:5, Informative)
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.
Re:This is good, but... (Score:1, Informative)
Re:FUD (Score:2, Informative)
Re:How long until native-code compilers are availa (Score:1, Informative)
Probably. You already could compile Java to virtually any platform using GCJ. Compiling the code to a native format doesn't help in accessing graphics accelerators, that's more a function of having the right libraries available.
IMO, the biggest advantage here is for the community to enhance the JVM, and include a fully functional JVM and Java libraries in Linux distributions. This also means that Java code that's already under GPL could also be included in these distributions. GPLed Java programs can now also ship the JVM with their programs, if they so desire.
Re:Java sucks (Score:2, Informative)
Re:Shouldn't it have been LGPL? (Score:5, Informative)
Re:I, for one... (Score:3, Informative)
Well, he has been open sourced too [java.net], so there really is no escaping!