▲ | 112233 3 days ago | |||||||||||||||||||||||||||||||||||||
What is the current situation of using Java (from legal standpoint)? In open source and in commercial setting? Oracle has a lot of fantastic technology locked up in Java (things like Truffle), how reasonable it is for new projects? | ||||||||||||||||||||||||||||||||||||||
▲ | jeroenhd 3 days ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||
OpenJDK is pretty much open and straight from Oracle. If you don't like Oracle (and I wouldn't blame you), there are alternatives from parties ranging from the Eclipse Foundation to Microsoft and Amazon that will do the same thing. As for new projects, Java is here to stay. It's longevity is part of why companies are still using Java 8/11; once you write it, it'll run pretty much forever. The language lags behind in terms of features compared to pretty much any competitor, but it's functional enough to get anything important done. I'd personally go Kotlin if you were to rely on the JVM (almost entirely because Java still lacks nullable types which means nullpointerexceptions are _everywhere_) or C# if you don't like the Kotlin syntax, but Java is Good Enough. | ||||||||||||||||||||||||||||||||||||||
▲ | whartung 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
The only real nut right now is, if you're using the Oracle distributions, only the latest LTS is, essentially, free to do anything with. Older releases are under their OTN license, which is only for personal and development, but not production. Again, this only matters if you want an Oracle sticker on your runtime, OpenJDK and the other projects are full boat "do whateva" JDKs. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
▲ | exabrial 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
There is literally 0 worry. OpenJDK is fully open source. | ||||||||||||||||||||||||||||||||||||||
▲ | nirvdrum 2 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
Truffle is not part of OpenJDK. It's a separate project and licensed under the Universal Permissive License: https://github.com/oracle/graal/tree/master/truffle. The UPL is an OSI-approved open source license. It shouldn't be a problem to use in any setting, but you should check with your legal team to see what licenses are approved. | ||||||||||||||||||||||||||||||||||||||
▲ | piva00 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
Use OpenJDK (or similar) and you are free from any Oracle shenanigans. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
▲ | deepsun 3 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||
It's only a consideration if you are going to write your own Java implementation and distribute it. |