На сколько я понял Java со всеми своими свободами по факту является замкнутой системой, т.е. ты свободен внутри нее, но изменять исходную систему самостоятельно запрещено, т.к. карается законом об авторских правах.
Но странно конечно то что лицензия подразумевает изменение(речь о Java SE 7) в исходном коде, а авторские права это запрещают(хотя всех нюансов не знаю, откуда и тема вопроса)