... A future statement makes no sense for this,
Do you really want to give up the chance to tell your son that
from __future__ import None
once meant something in Python? That would be a great hack, esp. because in 2.4 it would also require horrid new trickery to ensure that it continued to work despite that None *would* be a keyword then <wink>.
so I guess all we can do in 2.3 is warn about use of None in all contexts except in expressions.
In that case there's really no point to changing the grammar now either, right? This is a context-sensitive warning. In that case, I'd like us to start warning about (at least) "non-expression" uses of 'True' and 'False' too. That is, if we can't change the generated code yet anyway, we may as well start warning about everything we *intend* to make keywords someday. The same context-senstive checks are needed for each such name.
This is really too bad -- I wish we could decide to just break code (since it's a clean break) but apparently that's unacceptable to the users.
Delay 2.3 by 2.3 years and call it "Python 3" <0.9 wink>.