Sun decided to release the code for Java under the version 2 of the General Public License. Programmers can choose a different license for their applications.
"In the case of Java SE (Java Standard Edition), we're enhancing (the GPL) with the classpath exception. So when you're working on top or shipping applications with the (Java) libraries and virtual machine, you're not affected by the Java license," said Rich Green, Sun's executive vice president of software.
The reason why Java hasn't been open sourced until now was the code forking and compatibility problems that could result from that.