Comment Non-Free = Less Portable (Score 2, Informative) 805
If you think that the Java license is not a problem, try running Java apps on a non-Intel Linux platform such as linux/ppc. Sun does not make a JRE for linux/ppc so the choices come down to IBM Java (which is also non-free, crashes frequently and does not support the 1.5 spec), Blackdown (which is non-free and seems to be stalled at 1.3), and the free JREs such as Jikes which will always be behind the curve as RMS points out.
These problems are not incidental. They're a necessary consequence of the non-free license. Fewer developers are allowed to work with the code. This lack of resources directly translates to less portability. It also lengthens the bug fix cycle, slows the adoption of new features, and places supreme power in the hands of the copyright holder. If you require big changes to a free software product, you have the power to make those changes or hire someone else to make them for you. If you require big changes to a non-free product, you're at the mercy of the copyright holder.
In the case of Java, the source is not as open as Sun would like you to believe. Parts of it are open. Other parts are locked away in binary files. You need an existing Sun bytecode compiler (on a platform supported by Sun) to build Java from source. This necessarily precludes porting it to other platforms without assistance from Sun. This is why the folks at blackdown needed to sign special agreements with Sun before they were granted access.
I love Java. It's quickly becoming my favorite programming language, but I also have to agree with RMS that the license is problematic. Great language. Dangerous platform.