Why is Oracle obliged to provide long-term binary support and updates for old free software? If you want long-term support for old Java versions, then I think it's reasonable to say: pay for a subscription (or don't complain). RedHad uses a similar business model.
Or keep using the latest versions which will continue to be free, and stay up to date. It seems like a reasonable proposition to me. I don't see what Oracle has done wrong here.