eBPF への貢献の仕方
eBPF は Linux カーネルの eBPF ランタイムや様々な開発用 SDK やライブラリ、eBPF を利用した数々の大規模 ロジェクト、多くの小規模なプロジェクトやツールを含む様々なコミュニティによって構成されます。 そのため、eBPF コミュニティに参加し、貢献する方法もたくさんあります。 以下のリストはあなたがコミュニティへの参加し、貢献を始めるための方法を示してくれるでしょう。
Linux カーネルの eBPF ランタイムに貢献する
Linux カーネルコミュニティは全ての開発者の貢献を管理するために、eBPF サブシステムの Git ツリーを複数に分けて管理しています。 Git ツリーは以下の二人によって管理されています。
- Alexei Starovoitov, Facebook
- Daniel Borkmann, Cilium/Isovalent
eBPF ランタイムは数百万ものシステムやデバイス上で動作するソフトウェアの基礎を構築しているので、このコミュニティで活動することは非常に名誉なことです。 活動は新しいフックやプログラムタイプの追加や、eBPF 検証器の改善、新しい CPU アーキテクチャへの JIT のサポートの追加、BPF ヘルパー関数の追加、BPF のテストへの新たなテストケースの追加、bpftool や libbpf の改善といった幅広い活動が含まれます。
eBPF プロジェクトに貢献する
eBPF を用いたプロジェクトのリストは長く、現在も追加され続けています。 eBPF を用いたプロジェクトの概要は eBPF ランドスケープで確認できます。 興味を惹くプロジェクトを見つけられるでしょう。
リストにある多くの eBPF を用いたプロジェクトは good-first-issue ラベルがついたタスクリストを持っています。このタスクはプロジェクトに精通している必要なく、実践的 な経験が積める良い機会を与えてくれます。
eBPF 開発ツールチェインに貢献する
Linux カーネルは eBPF を直接扱うための最低限のライブラリと API を提供していますが、多くのプロジェクトでは eBPF 開発ツールチェインを活用して eBPF の利用を簡単にしたり、他のプロジェクトと共通のコードを共有したりしています。
この分野のプロジェクトのリストで eBPF 開発ツールチェインを確認してみてください。各プロジェクトのウェブサイトからプロジェクトへの参加方法を直接確認できます。
ebpf.io に貢献する
文章を書くことに自信がありますか?あるいは図を描くのが得意ですか?ebpf.io ウェブサイトのコンテンツは Creative Commons Attribution 4.0 International License の下で公開されています。もし興味があれば、GitHub リポジトリを覗いてみてください。また、ドキュメントに関わっているチームメンバーと連絡を取るためには Slack の #ebpf-website チャンネルに参加してください。学んだことを活かしてドキュメントを改善したり、追加のチュートリアルを書いたりしてみましょう。