Here are my thoughts on this, FWIW. I think the CoC WG and steering council has acted unwisely in this situation. I agree what Chris has written on his blog about it and with Ethan’s comment. I’ll add that, at least for me, the long history this developer has in serving the project is not the deciding factor. I would consider the reasons and evidence brought forward by the WG to be far insufficient for such action, no matter who the developer was (e.g. if it was a core dev who started this month, I would think the same).
I’m not going to address every point from the WG recommendation, Chris did a good job of it. I will add that basing CoC actions merely on complaints of behavior is not correct. It’s too open to be abused by bad faith actors. I’m not saying that’s what happened here but just that the application of CoC policy needs to be based on objective evaluation of evidence of bad behavior. Certainly complaints could initiate a CoC WG investigation into the situation.
Comments from people in power similar to “there is secret information that was used to make this decision, trust us” seem to be coming up often now. I don’t dispute that sometimes things need to be keep secret. However, I would hope and expect they are rare cases. Keeping secrets erodes trust. In this specific case, I don’t believe there was some secret details involved (e.g. CoC violating behavior that has not been disclosed).
I suspect this action is going to cause some harmful effects to the Python community (beyond the obvious harm of an unjust suspension of a core developer). I support having a CoC policy and enforcing it. I think it needs to be enforced more cautiously so that potential harmful effects don’t outweigh the good ones.