A situação com Java e código aberto é um pouco complexo. Aqui está o colapso: 
 * idioma 
 java: O idioma Java em si não é de código aberto. É de propriedade e controlado pela Oracle. 
 * 
 Java Development Kit (JDK): Existem vários JDKs disponíveis. 
 * 
 Oracle JDK: Este é o JDK oficial lançado pela Oracle e não é de código aberto. Embora seja gratuito para download e usar, os termos de licença da Oracle restringem o uso comercial para determinadas versões. 
 * 
 openjdk: Esta é uma implementação de código aberto do JDK. É gratuito para qualquer finalidade e é desenvolvido por uma comunidade de desenvolvedores. A maioria das distribuições, incluindo o próprio JDK da Oracle, é construído na base de código OpenJDK.   
 Então, embora o idioma em si não seja de código aberto, há implementações gratuitas de código aberto do JDK.    Aqui está uma maneira útil de pensar sobre isso: 
 * 
 java é como uma receita: A receita (a própria linguagem) é de propriedade e protegida, mas você pode usá -lo para cozinhar (desenvolver aplicativos) livremente. 
 * 
 O JDK é como os ingredientes e ferramentas que você precisa cozinhar: Existem diferentes fontes para esses ingredientes e ferramentas, alguns livres e outros com restrições.   
 em suma: Você pode desenvolver aplicativos Java sem nenhuma taxa de licenciamento usando o OpenJDK, que é de código aberto. No entanto, você precisa estar atento aos termos de licenciamento da Oracle se usar o Oracle JDK em um ambiente comercial.