Table of Contents

Java's Language Downfalls

As free software activists, we all enjoy using the latest and greatest in free software, but we need to make sure that the software we are using really does respect our freedom. A lot of software relies and depends on Java, since it appears to be fully free software, nontheless we have many concerns with implementation and decisions made by authors of this language.

What are the issues?

Firstly the OpenJDK trademark policy is problematic. Their trademark license imposes restrictions for the redistribution of modified versions that making it inconvenient to exercise freedom 3. The OpenJDK Trademark says “changes required”, “so long as that work takes place in the context of an approved Project hosted in the OpenJDK Community”. Therefore everything by Java project (OpenJDK and JVM) can't be patched and/or modified without approval by the “community”.

Secondly, on what comes to security, Java has been one of the most common infection vectors for UNIX-based systems. Poor coding practices in JVM have resulted in many popular cross-platform exploits.

And lastly, current or previously used packaging-scripts are not very trustworthy, in the sense that they download various pre-compiled and pre-packaged binaries, which obviously goes against our ideals and our social contract. These are a risk to our users. To properly build them requires several hundred additional PKGBUILDs and the time to rebuild Java from scratch.

For further references, criticism to the language itself as well has criticism to repeated security vunerabilities.

Solutions

There are no real further solutions as Java is a clearly trademark-protected language. It will always come towards a conflict with the persons / organizations owning the trademark and rights. And a so-called “clean room” implementation is not in reach besides Java itself has a field full with more complexity. Hyperbola has chosen to keep Java and OpenJDK complete outside of the system, with all affected dependencies and packages.