Desktop use
According to Sun, the Java Runtime Environment is found on over 700 million PCs.[13] Microsoft has not bundled a Java Runtime Environment (JRE) with its operating systems since Sun Microsystems sued Microsoft for adding Windows-specific classes to the bundled Java runtime environment, and for making the new classes available through Visual J++. A Java runtime environment is bundled with Apple's Mac OS X, and many Linux distributions include the partially compatible free software package GNU Classpath.[14]
Some Java applications are in fairly widespread desktop use, including the NetBeans and Eclipse integrated development environments, and file sharing clients such as LimeWire and Vuze. Java is also used in the MATLAB mathematics programming environment, both for rendering the user interface and as part of the core system.
Mobile devices
Java ME has become popular in mobile devices, where it competes with Symbian, BREW, and the .NET Compact Framework.
The diversity of mobile phone manufacturers has led to a need for new unified standards so programs can run on phones from different suppliers - MIDP. The first standard was MIDP 1, which assumed a small screen size, no access to audio, and a 32kB program limit. The more recent MIDP 2 allows access to audio, and up to 64kB for the program size. With handset designs improving more rapidly than the standards, some manufacturers relax some limitations in the standards, for example, maximum program size.
Web server and enterprise use
| This section requires expansion. |
Mascot
Duke is Java's mascot.[15]
When Sun announced that Java SE and Java ME would be released under a free software license (the GNU General Public License), they released the Duke graphics under the free BSD license at the same time.[16]
Licensing
The source code for Sun's implementations of Java (which is the de-facto reference implementation) has been available for some time, but until recently the license terms severely restricted what could be done with it without signing (and generally paying for) a contract with Sun. As such these terms did not satisfy the requirements of either the Open Source Initiative or the Free Software Foundation to be considered open source or free software, and Sun Java was therefore a proprietary platform.[17]
While several third-party projects (e.g. GNU Classpath and Apache Harmony) created free software partial Java implementations, the sheer size of the Sun libraries combined with the use of clean room techniques meant that their implementations of the Java libraries (the compiler and vm are comparatively small and well defined) were incomplete and not fully compatible. These implementations also tended to be a long way behind Sun's in terms of optimization.
See also: OpenJDK
Sun announced in JavaOne 2006 that Java would become free and open source software,[18] and on October 25, 2006, at the Oracle OpenWorld conference, Jonathan I. Schwartz said that the company was set to announce the release of the core Java Platform as free and open source software within 30 to 60 days.[19]
Sun released the Java HotSpot virtual machine and compiler as free software under the GNU General Public License on November 13, 2006, with a promise that the rest of the JDK (which includes the JRE) would be placed under the GPL by March 2007 ("except for a few components that Sun does not have the right to publish in source form under the GPL").[20] According to Richard Stallman, this would mean an end to the Java trap.[21] Mark Shuttleworth called the initial press announcement, "A real milestone for the free software community".[22]
Sun released the source code of the Class library under GPL on May 8, 2007, except some limited parts that were licensed by Sun from 3rd parties who did not want their code to be released under a free software and open-source license.[23] Some of the encumbered parts turned out to be fairly key parts of the platform such as font rendering and 2D rasterisation, but these were released as open-source later by Sun (see OpenJDK Class library).
Sun's goal is to replace the parts that remain proprietary and closed-source with alternative implementations and make the class library completely free and open source. A third party project called IcedTea has created a completely free and highly usable JDK by replacing encumbered code with either stubs or code from GNU Classpath. IcedTea is currently available on Fedora 7 and Ubuntu.
In June 2008, it was announced that IcedTea6 (as the packaged version of OpenJDK on Fedora 9) has passed the Technology Compatibility Kit tests and can claim to be a fully compatible Java 6 implementation
No comments:
Post a Comment