ヨーロッパ最大のOSS会議に参加した

はじめに

2/2~2/3にかけてベルギーのブリュッセル自由大学で開催されたFOSDEM 2024に参加してきた。 現地参加のきっかけは、去年参加したGSoCで知り合ったGCCのメンテナのThomasさんに発表しないかと言われ、プレゼンを聞くだけでなく発表もしてきた。

自分の発表👇

FOSDEM 2024 - Unicode Support for GCC Rust

色んな人と会った

1日目の夜に、ブリュッセル中心部のバーでGSoCの修了生が交流する場所があり、取り組んでいたプロジェクトや大学のことなどを話した。インド人が多く、僕以外のアジア出身者はみんなヨーロッパ留学中でみんな英語が流暢だった。

2日目はGSoCでお世話になったGCCのメンテナの方々やメンターと会って話すことができた。また、僕と同じくGCC devroomで発表したRui Ueyamaさんにも会うことができた。

英語

GSoCがきっかけで英語を書いたり話したりする機会が増えたけど、発表はしたことがなかったので不安だった。質疑応答も含め意外となんとかなって良かった。他の人と話していて、聞き取れなくて聞き返すことが多かったので、もっとリスニングを上手くなりたい。

会場

クッキーを売るキッチンカー:

1日目の開会式の様子:

講義室前の廊下は次のプレゼン待ちの人でいっぱい: Rust devroomの様子:

聞いた発表

好きな低レイヤ関連の発表が多くて面白かった。

Using your Laptop TPM as a Secure Key Store: Are we there yet?

Intelのエンジニアの方の発表。Linux上ではcreate_tpm2_keyでTPMSSH秘密鍵などの色んな鍵を保存することができる。ブート時のTPMの初期化(乱数生成)や実装の説明、TPMに対する攻撃の話もあり面白かった。

elfconv: AOT compiler that translates Linux/AArch64 ELF binary to LLVM bitcode targeting WebAssembly

ELFの実行ファイルをwasmに変換して、ブラウザ上で実行できるようにするツール。remillというツールでx86-64LLVM IRに変換してからwasmにコンパイルするという仕組み。システムコールやjmp命令で工夫が必要だそう。1機械語LLVM IRの1BBに変換されるため、トランスパイルに時間が結構掛かりそう。移植性という点では良いと思った。

The plan for gccrs

GCCのRustフロントエンドの今後の開発についての話。rustcと異なり、borrow checkはHIRを変換したBIR上で行い、Tree codegenはHIRで行うことになったそう。標準ライブラリstd 1.49を目標にしており、そのためにはrustcのunstableな機能や、format_argsを実装する必要がある。よく知らないが、format_argsはトレイト解決の観点でかなり実装が大変らしい。

WASM 101: porting a Sega Game Gear emulator to the browser

SEGAのゲーム機(アーケード用?)のエミュレータをRustで開発して、その後、ブラウザ用にポートしたという話。オーディオやグラフィックのクレートの紹介や、cfgを使ってターゲットにコードを切り替えるテクニックなど。

Embedding Servo in Rust projects

Mozillaが開発していたブラウザServoの今後の話。Mozillaの大規模レイオフの影響で今は別の企業がエンジニアを雇って開発しているとのこと。CSS3のサポートやミニブラウザのデモを通じてEmbedding APIの紹介があった。

Standardizing the generation and signing of boot images

ブートプロセスの標準化の話。U-bootを使った現代のLinuxのブートの解説があったが、難しくて全然わからなかった...😇

旅費

FOSDEMの参加にかかった費用は全額the GNU Toolchain Fundに支援していただいた。 羽田-ベルギー、ロンドン-羽田、ベルギーでのホテル代で、計27万円ほど。 (会議が終わってから、他の国を観光するために、帰りはロンドン発にしてよいという許可をもらった。)

おわりに

初めてのカンファレンス参加で発表し、色んな人と出会うことができ、本当に良い機会になった。 日本ではオープンソースを仕事にする人はとても少ないため、貴重な話を聞けたり、人脈も広がったりして良かった。今後、継続的にGCCにコントリビュートするかはわからないけど、OSSには貢献していって、またこのようなカンファレンスに参加したいと思った。

旅の写真

ロンドン、トラファルガー広場での春節: アムステルダム国立美術館: アンネフランクの隠れ家: ベルリンのビール美味しかったな: