世界最大のPythonカンファレンス「US PyCon 2019」レポート

第3回3日目朝のLT紹介、キーノートはPython仕様策定のキーパーソンによるパネル

レポートの第3回は、カンファレンス3日目前半の様子をお伝えします。朝のライトニングトーク、Python Steering Councilによるkeynoteです。Councilは今後のPython言語仕様を策定する委員会です。コラムではランニングイベントのFun Runと就職イベントのJob Fairについてレポートします。

ライトニングトーク

3日目は朝8:40からライトニングトークです。早いですね…。いくつかの発表をピックアップして紹介します。

Code Our Dreams

高校生にもコンピューターサイエンスやプログラミング的な知識はこれから重要になるが、先生がいなかったり、学校が貧乏なためにPCの数が足りなかったりとかで、そういうことを学ぶ機会に恵まれない学生がたくさんいるそうです。そこで発表者はCode Our Dreams(今はCode Your Dreamsと名前が変わったようです)という非営利の団体を立ち上げ、シカゴの学生にプログラミングを教える活動をしているそうです。

この活動に共感する企業に、スポンサーをしてほしいという要望を伝えていました。スピーカーは大学生ですが、地域の課題を解決するために団体を立ち上げて活動しPyConで発表するという、すごい人がいるもんだなーと感じました。

Code Our Dreamsについての発表
Code Our Dreamsについての発表

learn to program with minecraft

PythonからMinecraftにつなげられるシステムはありますが、現状は片方向(Python → Minecraft)しかやりとりができません。それをWebSocketを使用して双方向でやりとりできる仕組みを開発中とのことです。現在はコンセプト段階とのことです。

PySlackers

Pythonユーザーが集まっているSlack上のオープンコミュニティの紹介です。https://pyslackers.com/ から参加できます。

現在21,352人のメンバーがおり、79のチャンネルがあるそうです。無料版のSlackは参照できるメッセージ数に上限があり、現在は1週間くらいで過去のメッセージが見れなくなるそうです。

conda-press

Anacoda用のパッケージをwheel(Python標準のパッケージ配布形式)に変換するライブラリの紹介です。conda-pressを使うと変換できるそうです。

Regional Python Conferences!

各地域、各国のPython関連のカンファレンス、イベントを紹介するLTです。1イベント30秒くらいでテンポ良くつないでいきます。PyCon Africa(今年初めて開催されるアフリカ全域のPyCon)や、PyCon JPの紹介もありました。

スライドはあっても発表する人がいないときに、その前のイベントについて話した人が「このイベントのことはよく知らないけどー」とか言いながら、適当に説明するのが個人的には面白かったです。

PyCon Africaはガーナで8月に開催
PyCon Africaはガーナで8月に開催
寺田さん@terapyonによるPyCon JPの紹介
寺田さん(@terapyon)によるPyCon JPの紹介

キーノート:Python Steering Council

ライトニングトークに続けて、Python Steering Councilによるキーノートがありました。Python Steering CouncilとはPythonの言語仕様を策定する委員会の名前です。

今まで、Pythonの言語仕様の策定は、Guido氏がBDFLとして最終決定を行ってきていました。しかし、Guido氏が2018年7月12日にBDFLからの引退を表明したため、今後の仕様策定をどう決めていくかという議論があり、PEP 13 -- Python Language GovernanceでPython Steering Councilという5名の組織で決定していくこととなりました。その後、PEP 8100 -- January 2019 steering council electionで投票が行われ、Councilのメンバーが決定しました。

参考:
引退を表明したメール[python-committers] Transfer of power

このキーノートでは、2日目のレポートのインタビューにも出ていた、PSF(Python Software Foundation)Executive DirectorのEwa Jodlowska氏が司会進行し、それに対してCouncilメンバーが質問に回答する形で進行しました。

Python Steering Council
Python Steering Council
Ewa:まずは自己紹介をお願いします。

Berry Warsaw:LinkedInで働いていて、Python Foundationチームにも在籍しています。1994年にGuidoと出会って、それからPythonとGuidoが好きです。最初のPython workshopは20名の参加者だったけど、25年でものすごい参加者となってびっくりしています。

Brett Cannon:MicrosoftのVSCodeのPython拡張の開発マネージャーをしています。大学でPythonと出会い、Python devメーリングリストでさまざまなやりとりをしたり、PRを送ったりしていました。

Carol Willing:2016にフィリピンのキーノートでPythonが人々のプログラミング言語であるという話をしました。2012年にPythonのプログラミングをはじめ、Jupyter Notebookはとても便利なツールだと感じました。そしてこのコミュニティの一員になりたいと思ったのです。

Guido van Rossum:私はプログラマーでした。好きなプログラミング言語がなかったのでPythonを作りました。Pythonはオープンソースと残りはコミュニティです(拍手⁠⁠。BDFLとして30年間PEPでの仕様の採択をしてきました。

論争を呼んだPEPPEP 572)を採択した次の日の朝、私はもうBDFLをやりたくないと思いました。そこで20分かけてコア開発者に対して自分たちで今後は進めてほしいというメールを送りました。コア開発者は委員を立ち上げるという方向に決めました。それは正しいやり方でとても安心しました。

みなさんは子どもを大学生まで育てたことはありますか?直接関わることはほとんどなくなりますが、気にかけることをやめることはありません。私はそのような感覚を今Pythonに対して感じています(拍手⁠⁠。それが、私が自分でSteering Councilに立候補して、イマココにいる理由です。

Nick Coghlan: ハードウェアとC++から、Pythonを使うようになりました。Pythonを使うようになったのは、シグナルプロセッシングとunit testがあること、waveモジュールがあることやSWIGを使ってC++のモジュールをラップして使えるからです。Pythonを使ってハードウェアと通信するシステムを作成ししまた。Pythonを使うことによって、現実世界の面倒な部分を無視して開発できるようになりました。

Ewa:ガバナンス(組織運営)がBDFLからSteering Councilに変わって、Pythonはどのように変化し続けると思いますか?

Guido:BDFLだったころ、PEP(Pythonの拡張提案)に対して最終的にyes/noやA/Bを選ぶことは責任があり、かなりストレスが大きかった。そのストレスがCouncilの5人に分散されるようになる。Python言語の組織運営についてはPEP 13に記載した規定に則って運営することになります。もっと重要な決定は、決定のためにコア開発者や外部の協力者に決定を委任することです。まだ数ヵ月しか経っていませんが、このやり方はうまくいくと思います。今後のCouncilはできるだけ決定を委任していこうと思います。

Ewa:Pythonとデータサイエンスは継続して成長しています。CarolはJupyterのSteering Councilメンバーでもありますが、科学系のPythonコミュニティの強さについて教えてください。

Carol:新しいアイデアをコミュニティの全エリアから聞くことが大事です。Web、組み込み、教育、科学、データ分析などそれぞれ異なる要望があります。Steering Councilにさまざまなバックグラウンドのメンバーがいることにより、よりより選択をできると思います。

Ewa:Brett、たくさんのインフラ関係の作業を管理してきました。Mariattaが作成したPEP 581でバグチケットを bugs.python.org からGitHubに移動する予定ですが、現在はどのような状況ですか?

Brett:まず最初にPEP 581について議論し、私たちはそれを受諾しました。そして実際の移行作業をPEP 588にまとめています。language summitでもこの件について議論しフィードバックをもらいました。大きな問題はないので進めていく予定です。

Ewa:Packagingワークグループはmozillaから支援を受けました。次のアクションは?

Nick:パッケージ関連ではPython Packaging Authority(PyPA)とPackaging workgroupがあります。これはPSFとコア開発者の関係と似ています。PyPIの利用者の使い勝手は向上してきたが、パッケージ作成者にとっては異なるプラットフォーム、異なるPythonバージョン用のパッケージを作成するなど複雑になっています。そこをよりよくしたいです。開発Sprintでパッケージについて議論するので、そこでもアイデアが出てくるでしょう。

Ewa:新しいガバナンスモデルではPEP 1(PEP自体のガイドライン)を変更しますか?

Brett:PEPはRFCなどのアイデアからきています。現在のプロセスは必要十分だと思います。PEPは意思決定するためのプロセスで、BDFL delegateという決定を他のエキスパートに委譲する仕組みがあります。Pythonコミュニティは大きくなったので、次の世代のリーダーは言語についての重要な決定をする機会があります。リーダーにはコミュニティとPython言語を健全な状態で、次の25年を活気にあふれたものにしてほしいです。そのためにも積極的に権限を委譲していこうと思います。

Ewa:Python言語の実装か言語そのものだと、どこを見ていこうと思っていますか?

Guido:私たちはPythonの実装を見ています。私たちはPython言語とその実装をどのように進めていくかについて議論しています。

―ここで会場に対して「Python 2を使っている人」と質問して挙手を求めました。⁠思ったよりは少ない」とのコメントでした。

Ewa:Python2のサポートが2020年1月1日で終了します。あと8ヵ月ですが、何かプランはありますか?

Guido:パーティー?(拍手)

Nick:数年前のPyCon AustraliaでPython 3についての良い発表がありました。その中で商用ベンダはPython 2を2020以降もサポートするオプションを紹介していました。

Carol:科学者はPython 3を長い間使用しています。過去のPyConでInstagramが2から3に移行した素晴らしいキーノートがあったので参考になります(⁠⁠参考]Pycon2017 instagram keynote⁠。

Ewa:コア開発者のDiversity(多様性)を継続、ひろげるのためになにか考えはありますか?

Carol:2017年にMariattaが最初の女性コア開発者となりました。楽しかったら開発Sprintにも参加してください。

Barry:Paul Everettについて触れておきたいです。彼はコミュニティでいろんな人をメンターしました。

Ewa:(ここで、sli.doを使って会場からの質問を受け付けました)一番好きなPEPはなに?

Barry:PEP 401 -- BDFL Retirement(エイプリルフールのジョークPEPです)

Brett:PEP 3100 -- Miscellaneous Python 3.0 Plans(Python 3.0計画)

Carol:PEP 581 -- Using GitHub Issues for CPython(CPythonのバグをGitHubで管理する)

Guido:PEP 484 -- Type Hints(型ヒント)

Nick:PEP 343 -- The "with" Statement(with文)

Ewa:Pythonのコア開発者になるための最初のステップはなんですか?

Brett:Python Developer's Guideeを見てください。そこに開発をはじめるためのアイデアなどのドキュメントがまとまっています。

Ewa:コア開発者が燃え尽きたという話をよく聞きます。Councilにはそれを改善する計画はありますか? コミュニティになにかできることはありますか?

Brett:PEP-581でコア開発者はより作業がやりやすくなると思います。また昨年のキーノートでこのことについて話しました(⁠⁠参考動画]PyCon 2018のBrettによるキーノート⁠。私たちが下した決定に対してソーシャルメディアなどの反応をよく見ています。建設的なフィードバックは歓迎ですし、否定的なフィードバックも排除すると言うことはありません。オンライン上でのやりとりがちょうどよいものであることは、燃え尽きることを防ぐ助けにとてもなります(拍手⁠⁠。

Nick:私たちはPSFとともに積極的に活動していきます。みなさんがPSFやコア開発者をサポートする具体的な方法があります。現在ファンドレイザー(資金調達)が進行中です。

Ewa:最後に良い補足をありがとうございます。https://pycon.us/psf からファンドレイザーのページにアクセスできます。それではみなさん参加してくれてありがとうございます。残りのPyConを楽しんでください(拍手)。
Councilメンバー
Councilメンバー

まとめ

第3回のレポートは以上です。Guido氏がBDFLを引退してからはじめてのPyConということもあり、Python Steering Councilについてのキーノートは興味深いものでした。そして、今後もPythonは継続的に健全に発展しそうな雰囲気が感じられ安心しました。

次回レポート(最終回)では3日目後半として私が発表したポスターセッション、PSFのコミュニティレポート、クロージングや開発Sprintなどについてお伝えします。

おすすめ記事

記事・ニュース一覧