An informal survey from Devoxx says Java 8 or 9 should NOT be backwards compatible. I agree; people shouldn't be using old stuff, it's time to move on.
195 people said to remove old stuff to make room for the new. (Does the old stuff take THAT much room? How much room are we talking about?)
35 said some small incompatible changes would be good. As one who's been bitten by the "enum" keyword in the past, I think this is likely no matter what.
A whole 26 people said no, that backwards compatibility is essential to Java. Deduction says that 26 apache committers attended Devoxx.
4 people said they didn't care.
Look, java 5 is end-of-lifed; java 1.4 support is pointless. I'm at the point where a library that targets 1.4 just gets tossed from my toolbox. I don't use star wrenches neither, so there's no point.
It's time to say "Java will be backwards incompatible only so far, and some features simply aren't gonna be here when the next version comes up." java.util.Date comes to mind, with a fully-deprecated API, although if the JCP can't figure out how to import joda-time there might be issues.
In fact, if they can't figure out how to include joda-time, there ARE issues - how hard could this be? Anyone know what the delays are?
Anyway, what do you think should happen for backwards compatibility? Ever required it at the byte-code level?