Java is a free collection of software-components. The development was commissioned in 1991 by Sun Microsystems and initially called Oak.
This name was already used by another company and they decided to rename this project to Java. Referring to the street cafe "Java City" which was very popular among programmers.
In 1995 Java was presented to the public and it's implementation in the Netscape browser brought the final breakthrough.
Since 2007 Java is released unter the license terms of the GPL.
Java is an object-oriented programming language. Data and functions are grouped into objects and are largely self-sufficient and little influenced by other code components. Java programs are translated into the bytecode that is in contrast to machine instructions not just intended for a single machine but runs on any platform that supports Java.
Here comes the second important component of Java technology into play: The development of runtime environments. The job of these environments is to run programs successfully. Java uses it's Java Virtual Machine (JVM) which is a part of the runtime environment and interprets the byte code which guarantees that Java can can run independently and successfully on any machine or with any operating system.
The aim of the programming language was (and already is) to combine the best features of several other programming languages. To make this possible in addition to Sun Microsystems' programmers even more freelance developers work on their netbook and support this project. However, at least the JVM is partially blocked and cannot be changed from these freelance developers. So Java is not a completely free software.
However, Java has many advantages. It is robust and offers high security and moreover the dynamic programming language can always be extended and optimized by various people. But the main advantage is the platform independence. Unfortunately, this also brings some disadvantages like small performance issues but the conventional user will rarely notice this.
Finally Java has become virtually indispensable even for the traditional Internet users and at the same time Java is the proof that the know-how of one person can be successfully provided free of charge.