But there must be some pretty substantial code in the javac and JRE to make the language platform independent. I guess maybe that's what Sun "owns."
Yes, they do. If you want to make a Java interpreter, it had better be with Sun's blessing, and they will enforce strict compatibility. Sun brought Microsoft to heel over that issue.
The fact that you can read Sun's code doesn't affect Sun's ownership.