どういうわけか日本では一切話題に上がっていないのですが、Pythonの開発者コミュニティでなんか問題が起きているようです。
どうも話が様々なスレッドにとっ散らかっているうえに半分はDiscordや非公開のところで動いているみたいなので、読み取れていないところが色々あるかもしれません。
誰かが補足してくれるはず。
Proposed bylaws changes to improve our membership experience
最初のきっかけはこのスレッドです。
これは規約の一部を変更する提案であり、その中でも3番目の提案であるAdds provision to remove Members by vote of the Board of Directorsという変更が注目を浴びました。
Python財団にはフェローという制度があり、これはPythonエコシステムやコミュニティに優れた貢献をした人に与えられる名誉称号です。
これまでは、このフェローを解任する方法は『全てのメンバーによる投票』しかありませんでした。
今回の提案では、これをPython理事会だけの秘密投票、過半数の賛成で解任できるように規約変更します。
これはPython理事会への大きな権限集中につながり、また気に食わないフェローを秘密裏に排除することもできるのではないかということで一部に反対意見が上がりました。
とはいえ全面反対という人はおらず、過半数ではなく2/3の賛成や全会一致とかにしたほうがいいだろうという主張がほとんどです。
さて、ここで全会一致を強硬に主張していたのがTim Petersです。
問題のあるユーザが数人理事会に入ってしまったとしても、全会一致なら暴走を防げるという主張です。
Tim PetersはCPython初期の主要開発者の一人であり、2000年代前半を中心に2500コミットを行い、2024年現在でもcontribute数第11位を誇っています。
どこかでこの名を聞いたことのある人もいるかもしれません。
そう、TimSortの実装者です。
そしてまた、かの有名なThe Zen of Pythonの著者でもあります。
彼は最初期のフェローの一人であり、2017年にはDistinguished Service Awardという賞も受賞しています。
とまあ、Pythonにこれまで多大な貢献をしてきた人物ということです。
このスレッドにおける彼の主張はかなりペシミスティックであり、とにかく最悪なことが起きた場合でも最低限何らかの防波堤を置いておくべきだと延々主張していました。
彼に賛同する人も多少はいましたが、勢力としては別に過半数でもいいんじゃないかという人のほうが多く、そういう人たちがTimに突っかかるorそういう人たちにTimが突っかかるという展開になりました。
でまあ、Timは特にしつこいタイプの投稿者であったみたいで、そういう人が論争を始めるとどうなるかというとおわかりのとおりスレッドはぐっだぐだになりました。
ただ個人的には、Timの意見は的を射ている部分も多いと感じています。
全会一致までいくかはともかく、ある程度の制御装置は付けておくべきですよね。
たとえばPHPではFFIという色々と時期尚早であったRFCの受理をきっかけに、それまでは過半数で受理される決まりであったRFCが2/3以上の賛成で受理されるように改定されました。
Pythonコミュニティはそのような状態に陥ったことがないからなのか、スレッドからは全体的にどうも危機感の薄さを感じました。
最終的にスレッドの終盤あたりで提案への投票が行われ、該当の提案は81%の賛成で受理されました。
Three month suspension for a Core Developer
突然Timが3か月の活動停止を宣告されました。
Python理事会は、行動規範グループからの勧告に従い、あるコア開発者を3か月の停止処分にしました。
ユーザは、期待される行動規範に繰り返し違反しました。
・規約変更に関する議論を過度に投稿し(モデレータがトピックを閉鎖した時点で177件中47件)、コミュニティメンバーに過度な疑念、恐怖、感情的な反応をもたらした。
結果として規約変更は81%の支持を受けて受理され、論争は誇張されたでものであることが明らかである。
・裏付けられていない『逆人種差別』や『逆差別』を主張し、意図的な脅迫や排他的な雰囲気形成を行っている。
・不快な言葉、中傷的な言葉を使う。
1970年代の中傷的な寸劇を『本当に面白い』などと表現しており、これはコミュニティの他メンバーに対する共感の欠如を表している。
・職場でのセクハラなどのデリケートな話題を口にする。
嫌がらせや不快な環境作りと解釈される恐れがある。
・性的虐待などの話題について気軽に言及する。
一部の参加者にとって不適切な話題となる。
・コミュニティメンバーのBANや削除について言及すること。
許可なく個人情報を公開していると見做される可能性がある。
・他者にとって受け入れがたい行動をニューロダイバーシティの特性だとして無視すること。
これはニューロダイバーシティは特別な扱いを必要とするという固定観念を産み出す問題がある。
・物議を醸す話題、過去の論争を過度に蒸し返し、コミュニティの議論を継続的に妨害する。
・他のコミュニティメンバーのメンタルヘルスについて憶測する。
モデレータのBrett CannonとŁukasz Langaは、本提案への投票を棄権しました。
この決定はどうやら表からは見えないところで行われたようで、Python理事会への権力集中という問題を図らずも証明していますね。
また、該当のスレッドを見るかぎり、正直かなり言いがかりに近いものを感じました。
たとえば1970年代の中傷的な寸劇をあらわす単語はslutですが、これはslutという名前のPyPIライブラリについて面白いと言及したものであり、slutという単語自体に面白いと言ったわけではありません。
またセクハラについては、そうなったときにどうするんだと防波堤の必要性について語ったものであり、決してセクハラ的な主張を行ったわけではありません。
さらに逆人種差別については言及自体見当たりませんでした。
こんなかんじでとにかく牽強付会な理由付けが散見されます。
もちろん適切な理由もありますし、あと元の話題から離れて延々しょうもない話をしているのを見ているとBANしたくなるのもわからないでもないですけどね。
あと元スレッドではslutがXXXに書き替えられたことはなんとなくわかるのですが、実はそれ以外にも幾つかの発言がモデレータによって改竄されているようです。
はっきりとはわかりませんが、どうもモデレータによって編集されたというフラグすら残さず変更することも可能らしく、元スレッドを見ただけでは何がどう書き替えられたのか全然わかりません。
従って元々は完全にアウトな言説が存在していた可能性ももしかしたらあるかもしれませんが、後から全く検証できないのは問題な気がしますね。
もちろん、この対処はかなり否寄りの賛否両論を招きました。
たとえばかつてPSFの理事を務めていたSteve Holdenが脱退したり、運営に楯突いたKarl Knechtelが永久BANされたり、うっかりPythonが遅いと口走ったhypernovaが永久BANされたりしています。
PSFカテゴリの掲示板はほとんどこの話題ばっかりです。
The Shameful Defenestration of Tim
全面的にTimを擁護する記事。
この著者はTimと同僚だったという過去を差っ引く必要はありますが、とにかくTimの有能さを褒め称え、それを排除するPython理事会の愚かさをこれほどかと主張しています。
Python Bans Prominent Dev for Enjoying the Wrong Old SNL Sketch
この記事の著者がTimとPython理事会の全員に質問を送ったところ、回答を返してきたのはTimだけだったそうです。
Redditの投稿は、ほとんどがTimに同情的でした。
Timは始終冷静で理にかなった質問をしていた、Python理事会のほうをBANすべき、たった40投稿でBANされるならredditユーザは全滅じゃないか、PSFはPythonを乗っ取ろうとしている、いや既にCoCWGという名のWokeに乗っ取られている。
まあ流石に陰謀論がすぎている投稿も散見されました。
特にこのスレッド、重複が存在していないのに重複しているという理由で一度削除されたため、より妄想を掻き立てられてしまったようです。
感想
3ヶ月と期限を切ってはいますが、こんなことされて戻ってくるような人はそうそういないでしょうから実質永久BANといっていいでしょう。
最近はほとんどContributeがないとはいえ、Pythonにとっては間違いなくレジェンド級の開発者です。
そこまでのリスクを負ってでもTimを排除したかった理由、外から見るかぎりでは正直よくわかりませんでした。
Pythonといえばこの数年言語ランキングのトップを独走している言語です。
そんな重要な言語の足元で起きているこんな 面白 大変な出来事が、全く話題になっていないのはどうしてなんでしょ。
やはりPythonを使う人はPythonのライブラリだけにしか興味がなく、Pythonの言語自体はどうでもいいってかんじなんですかね。
Comments
まず、素早い取り上げありがとうございます
色々思う事はありますが、俄かつ英語の読み書き以前の社交性の問題がある自分は傍観する事しか出来そうにないですが、何も知らないよりはマシなのでこの問題を知るきっかけができて大変助かります
なんか,気持ち悪い。
他の言語でも,こんなことあるのか?
もっと,ちゃんとした規格を作り,それにそううように言語を整備・拡張するんじゃないの?
なんか,数人の意思で言語仕様が変わっていくというのは,危なっかしくてそんな言語使いたくないな。
無料だったソフトが、買収され、気づけば危険なコードが入っていたみたいなことってありありですよね。
Python2系から3系の切り替えの時に比べたらさざ波程度に感じてるのかも
Pythonの場合、危うさとしてデジュールスタンダードがないということがありますね。
従って、変化に対する追従が速いというメリットがある一方で、その意思決定が不可視になりがちという懸念があります。
それが企業であれば、経営のガバナンスという形である程度システム化されているが、OSSの意思決定は別な難しさがあると思います。
ただ一つ言えるのは、これが排除の論理になり、可能性のある開発者がコミュニティを去るようになれば多大な損失だと思います。
これほどメジャーになったPython言語にも、こんな問題が起きているのですね。もっと成熟した意思決定体制(=Python理事会)かと思っていました。Pythonの産みの親であるGuido van Rossumが、Benevolent Dictator For Life(BDFL、「慈悲深き終身の独裁官」)を、家督相続に当たる後継者を定めず降りてしまっている(過大なストレスが原因とか・・)ので、最終的に「この決定に不服ならフォークするなりしてここを去り、貴方が産みの親となるプログラミング言語を作りなさい。」と言え、皆が納得せざるを得ない個人が居ないので、落ち着くには時間が掛かりそうですね。
「もっと,ちゃんとした規格を作り,それにそううように言語を整備・拡張するんじゃないの?」と言うご意見がありましたが、その「ちゃんとした」が人や所属によって異なり、プロジェクトが大きいと相反する事が多いので、合議だけで決めていくのは非常に時間が掛かり、発展を阻害する事にも繋がります。単純にユーザー多数決投票で決めると言うのも、それこそ多大な貢献をして来た主要開発者にとっては、屈辱的でもあるでしょうし。
起業に於ける経営ガバナンスでも、それが法的な事由に基づく決定や株主総会決定事項でない「日常的に起こる経営課題」であれば、企業理念や行動規範に反しない限り、社長が取締役会の合意を得て決定する訳で、結局は実質的に1個人が方針決定のカギを握り責任を負っています。そう言う形で敏速に意思決定できないと企業は生き残れません。OSSの世界でBDFL不在の場合どうすべきかは結構難しそうですね。
天下を取った織田信長、その死後その座を奪った豊臣秀吉、その後何代にも渡り君臨した徳川家と、「想い・経営の継承」はいつの時代でも難しいものです。ただ、実質一代で終わった信長も秀吉も独自の文化を残しました。大きな存在となったPythonですから、最悪でもその思想は新言語に受け継がれ、上手く運営が回れば何代も継承され発展していくのだと思います。
何れにしてもこの話題、紹介下さって有難うございます。ソフトウェア関連の業界・学会・学校に関わる人(特に広義のプログラマー)には、今こう言う事が起こっていると知って貰い、自ら考えて貰いたい内容ですね。(長文失礼しました)
結構昔にGolangのIrisっていうFWで、管理者がgitのlogを改ざんして全部自分の手柄にしてどうのこうのってのは見たことありますが
言語レベルでこれはきついなぁ
Let's comment your feelings that are more than good