2015-06-07
You won't get people off Python 2 by making their lives worse
This is one of those times when I'm just going to quote someone, but hey, it's Guido van Rossum (via):
However this talk of "wasting our time with Python 2" needs to stop, and if you think that making Python 2 less attractive will encourage people to migrate to Python 3, think again. [...]
What he said, with all the emphasis you can imagine.
If the Python developers really think that, it's rather sad. Of course they wouldn't be the first people to believe that; the trick has a long history in computing, even if it often backfires.
I also personally think that it is stupid at this point in Python 3's life cycle. By now, there are probably two major classes of people who are still using Python 2: the people who are waiting for dependencies to get ported and the people who have decided that it is not a worthwhile expenditure of their time to port their code. Deliberately screwing these people does nothing to get them to move to Python 3. To the extent that they are aware that they are getting deliberately screwed by Python developers, it is more likely to encourage them to port their code to something else, anything else.
(Probably there is a third class of people, namely people who wrote some Python a while back and haven't touched it since because it works and what's this Python 3 thing and why should they care? These people are ignoring the whole mess, but in practice they are probably lost to Python 3 for good; you might as well consider them 'will never port'.)
In short: harming the remaining Python 2 users will not get them to migrate to Python 3 any faster than they already are, it just pisses them off. They are not migrating because it is impossible (at least currently) or too hard or too risky or the like.
(I could blather about what Python 3 'should' do to push for more migration, but it doesn't matter on several levels and anyways, I would be speaking from an uninformed and purely personal position. But in general, if the rate of Python 3 migration is not pleasing the Python developers, I prescribe a mirror.)
Sidebar: Why I say that people who are ignoring this are probably lost
I'm sure that there's a bunch of people out in the world who haven't heard about the Python 2 to Python 3 commotion; they have some Python 2 code, it works, they don't care about anything else. Due to being out of the loop, the first time they're likely to come into contact with this issue is when Python 2 isn't there on some new system and their old code immediately stops working.
(This can be either through /usr/bin/python
disappearing or through
it becoming Python 3.)
At this point, I think the most likely reaction of these people will be to discard their now-ancient (Python 2) system. If what it does is still needed, they'll probably rewrite from scratch using whatever is their current language and environment (which is not Python 3, because remember, they're out of the loop). If porting to Python 3 is easy they might do that instead, but I suspect it's not; they're going to basically be dealing with legacy code.
We're very close to being in this boat ourselves at work. While we have some Python code and not all of it's written by me, I think I'm the only person who's really following the Python 2 vs Python 3 issue. In my absence our Python code would run until it fell over and couldn't be easily patched, and then my co-workers might well pick another language they like better (whatever it would be at the time).