The purpose of this change is to make it easier to create a JDK that complies with the standard.
By making the tests all open source, it is much easier to see what is going wrong (if anything) than with a binary. In addition, since the Sun JDK always contained features/behavior that were not part of the standard, there was confusion over what must be supported or not (if something was in the Sun JDK, but was not part of the standard, even though the Sun JDK was the reference implementation, where is the line drawn between required and optional behavior?).
This will remove the confusion, and create a clearer, more definitive standard for all of java, though it will cost Oracle some time/money (as it will no longer be able to say: "Whatever we have is the standard" they not have to actually conform to something).