RubyConf Africa 2024に登壇してきました。赤道直下の国、ケニア共和国の首都ナイロビで7月26日から2日間にわたって開催されました。
その前に、はじめましてhasumikinです。2024年6月からアンドパッドで働いています。アンドパッドに入社する以前からPicoRubyというOSSを開発しており、マイコン組み込みやハードウェア制御の知識とWeb開発の経験をあわせて、建築・建設業界に向けた新たなプロダクトを生み出そうとしています。この話はいずれまたどこかで。
RubyConf Africa 2024では、A Beginner's Complete Guide to Microcontroller Programming with Rubyというタイトルのトークをしてきました。自分で言うのもどうかと思いますけれども、たいへん好評なトークなので、勝手にワールドツアーをやっています。2023年はEuRuko(リトアニア)、RubyConf Thai、RubyConf Taiwanで同様の発表をしました。日本国内ではこのトークを披露していませんが、エッセンスを煮詰めて体系化した記事が『n月刊ラムダノート Vol.4, No.1(2024)』に掲載されています。こちらも大好評です。
読者のみなさんはわたくし個人の話よりも、アフリカで?Ruby?という話のほうにご興味があるでしょうから、きょうはそのことを書きましょう。
ITの力で社会の問題を解決する
ってよく言うじゃないですか。これを実践しているのが、RubyConf AfricaのチーフオーガナイザであるBantaです。
世界には、各種インフラの不足や文書化されていない所得などが原因で銀行口座を持てない人々がたくさんいます。2021年の時点で、14億人の成人が金融サービスにアクセスできていない1、とされています。
Bantaは、3Gネットワークが敷設されていないこともある途上国の農村部に金融を届けるべく、フィーチャフォン(ガラケー)向けのバンキングシステムをRailsで開発しています。彼はケニアのITコミュニティでとても尊敬されています。たいへんに忙しいはずなのに、前回の2019年から5年ぶりとなるRubyConf Africaを企画してくれました。
ケニアのRuby熱
不思議なものです。30年前に日本で生まれたRubyが、遠く離れたケニアに熱心なコミュニティを生み出しているのです。登壇者のひとりであるRenen Watermeyerは、ケニアから5000kmも離れた南アフリカ共和国から来ていました。いやいや、これを不思議だと感じるのは単なる既成観念なのです。リトアニアやタイや台湾にRubyコミュニティがあるなら、ケニアにだってあるのが当然です。これこそがインターネットの力です。
しかしそれでもなお不思議です。なぜRubyがローカルなコミュニティを世界各地に育み、その彼らがカンファレンスを自主的に、熱心に開催するのか。
Ruby on Railsの生産性の高さ、DHHのカリスマとまつもとさんのNiceなおじさん加減、特定の企業に主導されないコミュニティによるOSS開発、その開発が現在でも力強く継続していること、そしてもちろんRuby言語そのものの魅力――いくつか思いつく理由はあります。
これらに加えて、世界のRubyistたちの「日本好き」もありそうです。どの国へ行っても、必ずドラゴンボールやワンピースの話題が出ます。もっと近年のコンテンツの話題にもなりますが、わたくしはあまりついて行けません。みなさん日本文化に詳しい。
RubyConf Africaでのいくつかの論点
OSSにどう関わるか、というテーマが聴衆の興味を引いていました。ケニアにRubyコミュニティがあること自体は不思議ではないと書きましたが、Rubyは開発の中心が日本にあり、Railsは欧州と米国ですから、アフリカからの心理的距離があるようです。これはよくわかります。筆者のように日本に住んでいて、RubyコミッタやRailsコミッタの友人を持っていても、そうそう簡単にプルリクを送れるものではありません。
このテーマについて、Stephen Margheimが素晴らしいトークをしてくれました。彼はRailsとSQLite3との統合を改善しているコントリビュータです。プルリクがリジェクトされた経験や、GitHub上でのコミュニケーションの方法など、示唆に富む内容でした。録画が公開されたら、筆者のソーシャルメディアでお知らせします。
ところで、Africaを含めた何回かの海外カンファレンス参加によって気づいたことがあります。「並列・並行」に関するトークがしばしば採用されている、ということです。情報系の学科で習うようなコンピュータサイエンス(CS)セミナーでして、こういうテーマに一定の需要があります。需要があること自体はRubyコミュニティだけのことではないでしょうが、Threadクラスがpthreadの丁寧な(?)ラッパーであるようなRubyの在り方は、CS学習に適しているかもしれません。
筆者自身もそうなのですが、CSの専門教育を受けることなくプログラミングを仕事にした者が、いずれ必要に迫られて基礎を学習したときに「ああ、そういうことか」と腹落ちしやすい言語仕様というのがありそうです。まつもとさんによる一貫性のある仕様決定の積み重ねが、Rubyコミュニティ内の様々なレベルの人々をつなぐことに成功しているのではないでしょうか。
ほかにも、Dávid Halászによる、よくまとまったCSトークが採用されていました。きちんと教育を受けた人はやはり強い。コンピュータの原理を理解するのに必要なキーワードが丁寧にちりばめられていました。個人的にはスライドをもらったのですが、カンファレンスによって公開されることを期待しています。
最後に、ケニアでも「ワークライフバランス」は重要なテーマでした。ラップトップひとつあれば無限に仕事ができてしまう、というのは心身への影響が大きいのです。あなたもこの記事を読み終えたら、パソコンをハイバネーションさせて、あるいはスマホを部屋に置いて、散歩へ出てください。よろしくお願いします。
海外カンフでしか得られない滋養強壮がある
あります。"RubyConf"というフォーマットを採用してカンファレンスを開いている人たちが世界中にいます。CfPプロセスを行い、外国から面白そうな登壇者を呼び、ローカルのボランティアを集めて歓迎ムードを醸成し、手弁当で運営しています。どの国にも言葉に表せないそれぞれの特色があり、そこへ行かないと体験できないコミュニティがあります。
近年、海外のRubyistたちには、"RubyKaigi"というフォーマットも知られつつあります。ハードテックトークしか採用されないCfPと充実しすぎのParty。筆者は海外カンフに行くと、「来年は必ずRubyKaigiへ来てくれ~」と宣伝しています。そのうちの何人かはほんとうに来ます。ジャパンの滋養強壮を得て帰国します。
日本人ももっと海外カンフに参加しましょう。日本から良質なプロポーザルがたくさん送られるようになって、それでわたくしが落選しても、仕方のないことです。コミュニティの継続的な発展のほうが重要です。これこそが、アンドパッドの発展でもあります。急に会社の話になりましたが、真実です。所属企業がベットしているOSSの発展は、個々人の行動によって支えるのです。もちろん、ワークライフバランスも忘れずに。
That's it folks!
— African Ruby Community (@ruby_african) 2024年7月27日
Today as the last day of the ##rubyconfafrica2024 #africanruby was epic.
Thank you for everyone who showed up!
Now Live at the networking party!!
Adios🫂 with love,
RubyConf Africa 2024🥳🎉 pic.twitter.com/nv456nofRz
アンドパッドではプロダクト開発だけでなく、 Ruby の発展を支えたい Rubyist を熱烈募集中です。
- 世界銀行によるFinancial Inclusionについてのレポート https://www.worldbank.org/en/topic/financialinclusion/overview↩