Communicating with core developers on the Python 3 transition
I thought matters were resolved and wanted to let the issue rest for a while, but today I became aware that they are not. Therefore this attempt to address this as part of the public record.
Some basics concerning my intended message: doom is not at hand. The sky is not falling. Do not be alarmed. Instead, be prepared. Transitioning your code to Python 3 (through Python 2.6) will in many cases, especially for the larger, more widely used, or less well-tested codebases, not be a cakewalk. The community will be in transition for a period of years and we need to prepare ourselves so we can best deal with this. During this transition, there will be more difficulties in code reuse between projects on different sides of the 2 to 3 transition.
Some apologies are in order. I apologize if I implied that the core developers had not thought their transition plans through. I hope the core developers will believe (by careful reading of my previous communications in my own blog and others) that this was not my intent. My intent was:
express my own worries concerning the impact on the community.
trying to help prepare the community for the upcoming transition phase: it's not going to be a cakewalk.
express how I would like core developers to communicate the transition. Core developers will naturally want to attract developers to the Python 3 platform. My fear is that the core developers, by communicating their enthusiasm, will sometimes inadvertently cause Python users to underestimate the costs and length of time of the transition. This might lead to an insufficiently prepared community. (in my own experience with transitions one needs to be almost overabundantly clear on transition issues, or people may misunderstand - I understand this is not everybody's experience)
My last point was unfortunately easily misunderstood and in the heat of the discussion I used words that were clearly too strong. For instance, I should not have used the word "fork" when describing my worries - this is clearly a loaded word. I apologize for my use of this word.
I should also have made it far more clear that I was responding to core developers who addressed me, and not have overgeneralized to other core developers who did not participate in this conversation.
Let this be clear: I do believe that the core developers have thought through the transition plans and the implications thereof. I believe that the transition weighs heavily on their hearts. Too much I thought that it was a given in this debate that the core developers are not careless or stupid about the transition. I should have made it more explicit, as several people understood me to make this implication. I apologize for this inadvertent implication.
(Note that this doesn't mean I'm not worried anymore, or that I can't disagree with any core developer on this. It's just that I trust they're smart, experienced and responsible people. I also hope that this trust is reciprocal)
I now also see how discussing communication strategies with core developers can in itself be interpreted as being insulting to their communication skills. My apologies for this as well. I did not wish to make that implication. It was a combination of the heat of the debate, and my inexpertly trying to help with this, given some of my experiences and thoughts in this matter with Zope 2 to Zope 3 transition (which is different from the Python one in many, many ways). In the future I will try to avoid this problem by instead do my own communication surrounding this topic, and not address the core developers about their communication.
I should be wiser, but as someone stung heavily on his foray in Python 3 politics I cannot resist a sting in the tail. A note of warning to those who might wish to follow me in discussing in public their worries surrounding possible negative aspects concerning the Python 3 transition. Be very clear in your communication. If you are not clear enough, prepare to be flamed and perhaps even distrusted. It's not a comfortable position to be in.