こんにちは @hsbt です。ゼルダの伝説 ティアーズ オブ ザ キングダムがついに発売されたので RubyKaigi 2023 の登壇後にプレイを開始していますが、引き続き原神もアップデートがあり、さらに崩壊:スターレイルも始めてしまったので大変なことになっています。
さて、今回は 5/11-13 に長野県松本市 まつもと市民芸術館 で開催された RubyKaigi 2023 で私 @hsbt が廊下会議で何を話してきたのか、という内容をご紹介します。
廊下会議とは
本日の技術顧問業、「技術カンファレンスへ参加するときに大事にしたいのは廊下(自然発生的に起こるインフォーマルなオフライン議論の場)だ」という話をした
— Takuto Wada (@t_wada) 2019年10月17日
t_wada さんが初出かどうかは定かではないのですが、カンファレンスの醍醐味は廊下、とはよく言われます。COVID-19 の流行以降、オフラインのカンファレンスは中止または延期となり、多くがオンラインでの開催に移行しました。そのような中で失われてしまったものの一つが廊下での雑談と個人的には感じています。
RubyKaigi 2023 に参加した人の多くは、OSS は神様がどこからともなく用意しているものではなく、身近な人が作っているものということを感じ取れたことと思います。Ruby や Rails を始めとした普段使っている OSS の開発者に話しかけて「開発してくれてありがとう」と感謝を伝えたり、「こうなるともっとよい」などポジティブなフィードバックをすぐに伝えることができるのが、カンファレンスの廊下の醍醐味です。
私、hsbt も過去には国内外のカンファレンスで「rails/rails のこの pull-request はこういう意図だからマージして!」というように実際に自分が取り組んでいることを改めて紹介して進めてもらったり、逆に自分が開発していることにたいしてコメントをした人がいたら、「この話ってどれくらい急なの?」など pull-request にある背景などを深掘りしたりしてきました。
今回はそんな突発的に開催される廊下会議について、RubyKaigi 2023 の中で実際に起こったことをいくつかご紹介します。
flori/json の今後について
Shopify の byroot から DM で「flori/json について相談したいことがあるけど時間ある?」と連絡が来たので、成瀬さんにも声をかけて 3 人で廊下会議を開催しました。
内容は標準添付ライブラリでもある json について Rails のメンテナとしての立場から色々提案をしたいが pull-request も動きがあまりなく、誰が意思決定をできるのか今後について相談したいということでした。
この json ライブラリの状況について、私や成瀬さんは pull-request をマージしたり、新しいバージョンをリリースする権限は持っていますが、機能的な非互換をいつ導入するのかというようなライブラリの将来に関わる意思決定については作者である flori に一任しています。fork をして Ruby コアチームでメンテナンスすることも可能ですが、その場合は OSS の精神を尊重して json ではなく新しいライブラリ名に変更する必要があります。その場合、多くの Ruby ユーザーに json や JSON
というネームスペースを全て変更しなくてはいけないという作業が発生してしまうので可能な限り避けたいと考えています。
上記の2点について byroot へ伝えた後、今時点の意思決定としては
- 不具合修正や非互換を伴わないパフォーマンス向上などはマージして、適宜リリースする
- 非互換を伴う機能変更は pull-request を作ったうえで flori に判断を委ねる。Ruby の 12 月のリリース前まで返事がない場合は内容を見た上で @hsbt か成瀬がマージして新しいバージョンをリリースする
ということにしました。
公式ドキュメントの更新について
こちらも Shopify のエンジニアリングマネージャである ufuk や複数のメンバーから ruby-lang.org を始めとした公式サイトのドキュメントのうち、新しく Ruby の開発を行う人向けのドキュメントを拡充したいがどうすればよいか、という相談が来たので、個別に話をして以下のように進めることにしました。
- Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository としてまとめられているように、Ruby の Redmine に存在する wiki のドキュメントについては GitHub の ruby/ruby の wiki へ移動する。リポジトリに markdown に変換して含めるかどうか等については別途議論を行う。
- RDoc で生成している https://docs.ruby-lang.org/en/master/ のドキュメントサイトについては、デザインの刷新については常に歓迎なので Shopify に限らず Ruby Central や何かしらのコントリビュートをしたいという組織や個人を巻き込んで進めていきたい。
- https://www.ruby-lang.org/en/ に Ruby 本体を開発したい、コントリビュートしたいという人向けの誘導やドキュメントが無いのは改善の余地があるので案と pull-request を出してくれればマージするので進めていこう。また、Ruby を使ってソフトウェアを開発したいという人向けの Ruby with Visual Studio Code のようなページを作成するのもとても良いのでいつでも待っている
ドキュメントへのコントリビュートは、ドキュメントの方向性や何が正しいのか、ということがメンテナ以外には知る余地がなく実は一番難易度が高いものであると個人的には思っているので、上記のようにどこから手をつけると良いのか、ということについてディスカッションを通じて共有できたことは大変良い機会でした。
まとめ
他にも JRuby のメンテナである headius とは JRuby の標準ライブラリの統合プラン、irb を積極的に開発してくれている st0012とは Ruby の tracerの今後について相談など、RubyKaigi 2023 ではセッションも聞かずに廊下会議ばかりしていたのではないかというくらい、来日した開発者とディスカッションをしていました。RubyKaigi 2023 というカンファレンスをきっかけとして、発表を通して人々にアクションを起こすだけではなく廊下会議からもRuby の開発の推進力を多分に向上させることができた実感があります。
in-person のカンファレンスも少しずつ再開され、国内外を問わず自分が興味があるソフトウェアを作っている人との交流の機会が今後は増えてくると思います。皆さんも普段からお世話になっていることに対する感謝を伝えたり、提案がある場合は廊下会議を開催してより良いソフトウェアのためのきっかけ作りをしてみてはいかがでしょうか?
おわりに
アンドパッドではRubyエンジニアをはじめ、さまざまなポジションのエンジニアを募集しています。 ご興味がある方は、ぜひ話を聞きにきてください。