Slide 1

Slide 1 text

オープンソースソフトウェアへの 解像度🔬 第58回 情報科学若 手 の会 Preferred Networks, Inc. Toru Komatsu(@utam 0 k) 1

Slide 2

Slide 2 text

Preferred Networks, Inc. オンプレML基盤の開発 ・ 運 用 OSS Activities Maintainer: youki-dev/youki opencontainers/runtime-spec Reviewer: Kubernetes SIG-Scheduling containerd/runwasi Community: CNCF Ambassador, CNCJ Board Member @utam0k Toru Komatsu 2

Slide 3

Slide 3 text

ࡢ೥ͷট଴ߨԋ 3 https://wakate.org/ 2024 / 08 / 1 3 / 5 7 th-general/

Slide 4

Slide 4 text

はじめに 今年は OSS 貢献の昨年のなぜからどうやってについてなに か助けになる話をできればと思っています。 人 それぞれ貢 献のやり 方 はあります。効果的な OSS 貢献をするために OSS の運営やメンテナの視点について解像度を 高 めるとよ いのでは?という仮説のもと、私の経験の話ができればと思っ ています。 4

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

お品書き 1 . 題材の概要 2 . OSS の運 用 3 . OSS のリーダーシップ 4 . OSS 貢献の連続性 5 . OSS へ 飛 び込む 6 . OSS を楽しむ 7

Slide 8

Slide 8 text

youki 01 8

Slide 9

Slide 9 text

youki
 ֓ཁ / ن໛ײ OCI Container Runtime in Rust 自 作コンテナランタイムとして始めた コミュニティベース の運 用 Repository: youki-dev/youki 📈 202 1 / 03 ~ 🌟 7 K 👥 メンテナ 7 人 CNCF Sandbox Project 9 youki

Slide 10

Slide 10 text

1 0 Kubernetes Container Container Runtime High-Level Low-Level OCI Runtime Spec Container Runtime I nterface youki
 ֓ཁ / ن໛ײ

Slide 11

Slide 11 text

ଞͷਓ͕ຊ֨తʹ࢖͍࢝Ίͯ 2 ೥͘Β͍ܦա runwasi KubeCon NA 2024 - Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads - Jiaxiao Zhou, Microsoft Syd-OCI FOSDEM 2025 - Syd+Youki=Syd-OCI: Introduction to a Secure Container Runtime for Linux 1 1 youki
 ֓ཁ / ن໛ײ

Slide 12

Slide 12 text

OSS ͷӡӦ 02 12

Slide 13

Slide 13 text

OSS の運営 OSS と町作り ✓ 発展 OSS は常に整備され、発展を期待されている ✓ 町同 士 の関係 OSS は 自己 完結するものは少なく、他の OSS との関係を持つ ✓ 外部環境 外部の 大 きな環境変化に 大 きく左右される 1 3

Slide 14

Slide 14 text

OSS の運営 発展 ✓ 発展 OSS は常に整備され、発展を期待されている ✓ 町同 士 の関係 OSS は 自己 完結するものは少なく、他の OSS との関係を持つ ✓ 外部環境 外部の 大 きな環境変化に 大 きく左右される 1 4

Slide 15

Slide 15 text

OSS の運営 発展 1 5 1 5 初期の意思決定 過去の紆余曲折 新機能 B 新機能 A Rust の採 用 ライブラリを細かく切る いろいろな機能を ライブラリにする 新機能 B 新機能 A youki の例

Slide 16

Slide 16 text

OSS の運営 OSS と町作り ✓ 発展 OSS は常に整備され、発展を期待されている ✓ 町同 士 の関係 OSS は 自己 完結するものは少なく、他の OSS との関係を持つ ✓ 外部環境 外部の 大 きな環境変化に 大 きく左右される 1 6

Slide 17

Slide 17 text

OSS の 生 態 町同 士 の関係 1 7

Slide 18

Slide 18 text

OSS の運営 町同 士 の関係 - 実例 1 checkpoint-restore/rust-criu# 1 3 (メンテナンスが活発ではなかった) ‣依存しているライブラリがある 日 突然壊れることもある ‣ 自 動 生 成ファイルのバージョン管理をしていなくて不安定 • → youki 側で原因を究明して PR 1 8 💡ґଘͨ͠ OSS ͱڞʹվળ͢Δ͜ͱ΋ඞཁ

Slide 19

Slide 19 text

OSS の運営 町同 士 の関係 - 実例 2 youki-dev/oci-spec-rs from youki-dev/youki# 16 2 コンテナの仕様で定められている JSON をパースするライブラリ oci-spec-rs を作る前にも似たようなライブラリはあった 結果的に... ‣youki で使 用 しているため新仕様が即時に反映 ‣コンテナの仕様のメンテナがメンテしている ‣Rust界隈でのデファクトになった ‣Runtimeだけではなく、youki では使わない Image / Distribution もサポート 1 9

Slide 20

Slide 20 text

OSS の運営 外部環境 ✓ 発展 OSS は常に整備され、発展を期待されている ✓ 町同 士 の関係 OSS は 自己 完結するものは少なく、他の OSS との関係を持つ ✓ 外部環境 外部の 大 きな環境変化に 大 きく左右される 2 0

Slide 21

Slide 21 text

OSS の運営 外部環境 2 1

Slide 22

Slide 22 text

OSS ͷӡӦ
 ॅਓ OSS の町にもいろいろな住 人 がいる ‣利 用 者 • スポンサー ‣コントリビュータ • コミッター • レビュワー ‣メンテナ ‣たまに邪悪な 人 も 2 2

Slide 23

Slide 23 text

৽نίϯτϦϏϡʔλ 03 23

Slide 24

Slide 24 text

新規コントリビュータ OSS における新規コントリビュータの意味 OSS ͸ίϯτϦϏϡʔλ͕͍ͳ͍ͱ੒Γཱͨͳ͍ ϝϯςφ ʹ͸ೖΕସΘΓ΍ٳΈͳͲ͕ൃੜ͢Δ ‣ೖΕସΘΓ͕ఆظతʹൃੜ͢Δ ৽نίϯτϦϏϡʔλ = ڧؔ͘৺Λ࣋ͬͯ͘Ε͍ͯΔ ‣কདྷͷϝϯςφީิͰ΋͋Δ 2 4

Slide 25

Slide 25 text

新規コントリビュータ 新規コントリビュータの環境作り 📢 ޙԡ͠ ର֎ൃද Good First Issue 2 5

Slide 26

Slide 26 text

新規コントリビュータ 環境作り / 対外発表 📢 “継続的な” 発信は不可 欠 → 将来のコントリビュータへの認知 youki の例: 🌐 Reddit / Hacker News / This Week in Rust 📝 Blogs ■ 2021年に今更コンテナ 入門 した僕の最初の 一 歩, 2021 ■ Hello, youki!, 2 0 2 1 ■ Announcing Youki 0 . 0 . 4 , 2 0 2 2 🗣 Talks ■ 「あれ、コンテナって何だっけ?」から 生 まれた Rust で書かれた コンテナランタイム youkiの話 @ ODC 2 0 2 1 ■ Rust 🤝 Container Runtime @ Rust.Tokyo 2 0 2 1 ■ 詳説 OCIコンテナランタイム youki @ 第15回 コンテナ技術の情報交換会 ■ Possibility of OCI Container Runtime with Rust @ KubeDay Japan 2 0 2 2 2 6

Slide 27

Slide 27 text

新規コントリビュータ 余談: バズる とはいえ、 小手 先のテクニックはある Tech 1 他の OSS を参考に README.md をちゃんとかく Tech 2 X / Reddit / HN → GitHub Trends Tech 3 すぐに動かせる環境を 用 意 README.md を 用 意するだけでは重い腰は上がらない Tech 4 バズったら震源地を把握 GitHub の Traffic ページを 見 る 💡バズると効率は良いが、結局は準備と中 身 と継続が 大 事。 準備と中 身 が良いとだいたい誰かが 見 つけてくれる。 2 7

Slide 28

Slide 28 text

新規コントリビュータ 新規コントリビュータの環境作り 📢 ޙԡ͠ ର֎ൃද Good First Issue 2 8

Slide 29

Slide 29 text

初めての貢献者が取り組みやすいと “メンテナが思っている” issue GitHub ではよくラベルがついている 新規コントリビュータ 環境作り / good first issue औΓ૊Έ΍͍͢ good first issue ✓ ͓खຊ͕͋Δ ✓ ؀ڥߏஙɺϢχοτςετ͕༰қ ✓ ίϯϑϦΫτ͕ى͖ʹ͍͘ ✓ େ͖ͳσβΠϯͷܾఆΛ͢Δ༨஍͕ͳ͍ 2 9 good first issue

Slide 30

Slide 30 text

新規コントリビュータ 新規コントリビュータの環境作り 📢 ޙԡ͠ ର֎ൃද Good First Issue 3 0

Slide 31

Slide 31 text

新規コントリビュータ 新規コントリビュータの環境作り / 後押し メンテナが後押しをしよう! = メンテナに頼ろう ✓具体的な Issue を提供、割り当てる ✓なぜやるのか?コンテキストを伝える ✓ 日 本語でのサポート 3 1 💡メンテナはあなたを向いていることを強く伝える OSSは素晴らしい! ”機会があれば” コントリビューションをしたい Α͋͘Δύλʔϯ

Slide 32

Slide 32 text

新規コントリビュータ コントリビュータの成熟 3 2 খ͞ͳόάमਖ਼
 υΩϡϝϯτͷߋ৽ ར༻ऀ ϝϯςφ େ͖ͳػೳ࣮૷

Slide 33

Slide 33 text

新規コントリビュータ コントリビュータの成熟 3 3 খ͞ͳόάमਖ਼
 υΩϡϝϯτͷߋ৽ ར༻ऀ ϝϯςφ େ͖ͳػೳ࣮૷ 🧱 ༐ؾͷน 🧱 🧱 ஌ࣝɾܦݧͷน 🧱 🧱 ੜ׆ͷน 🧱

Slide 34

Slide 34 text

新規コントリビュータ コントリビュータの成熟 3 4 খ͞ͳόάमਖ਼
 υΩϡϝϯτͷߋ৽ ར༻ऀ ϝϯςφ େ͖ͳػೳ࣮૷ 🧱 ༐ؾͷน 🧱 🧱 ஌ࣝɾܦݧͷน 🧱 🧱 ੜ׆ͷน 🧱

Slide 35

Slide 35 text

新規コントリビュータ コントリビュータの成熟 3 5 খ͞ͳόάमਖ਼
 υΩϡϝϯτͷߋ৽ ར༻ऀ ϝϯςφ େ͖ͳػೳ࣮૷ 🧱 ༐ؾͷน 🧱 🧱 ஌ࣝɾܦݧͷน 🧱 🧱 ੜ׆ͷน 🧱

Slide 36

Slide 36 text

新規コントリビュータ コントリビュータの成熟 3 6 খ͞ͳόάमਖ਼
 υΩϡϝϯτͷߋ৽ ར༻ऀ ϝϯςφ େ͖ͳػೳ࣮૷ 🧱 ༐ؾͷน 🧱 🧱 ஌ࣝɾܦݧͷน 🧱 🧱 ੜ׆ͷน 🧱 ここでの離脱率が 高 い(体感) そしてここで抜けられるとつらい😿

Slide 37

Slide 37 text

新規コントリビュータ コントリビュータの成熟 3 7 খ͞ͳόάमਖ਼
 υΩϡϝϯτͷߋ৽ ར༻ऀ ϝϯςφ େ͖ͳػೳ࣮૷ 🧱 ༐ؾͷน 🧱 🧱 ஌ࣝɾܦݧͷน 🧱 🧱 ੜ׆ͷน 🧱 👀 やりきってもらえるかな 👀 どのくらい急ぎのをお任せしてもいいかな 👀 今までどのくらい OSS に関わってきたかな

Slide 38

Slide 38 text

新規コントリビュータ コントリビュータの成熟 3 8 খ͞ͳόάमਖ਼
 υΩϡϝϯτͷߋ৽ ར༻ऀ ϝϯςφ େ͖ͳػೳ࣮૷ 🧱 ༐ؾͷน 🧱 🧱 ஌ࣝɾܦݧͷน 🧱 🧱 ੜ׆ͷน 🧱 OSS ͷϦʔμʔਞ ΍Δ͜ͱ͸ʁ ใΘΕΔͷ͔ʁ

Slide 39

Slide 39 text

OSS ͷϦʔμʔγοϓ 04 39

Slide 40

Slide 40 text

OSS のリーダーシップ メンテナの影響 力 メンテナの振舞は OSS の 色 としてなんとなくあらわれる ‣どこにでも🎨 文 化はある ‣レビューのコメントなどが時と共に成熟し 文 化となる youki のケース ‣issue を 立 てた 人 にチャレンジを促す ‣新しいことにチャレンジする / 古いものはサポートしない 4 0 I have fun implementing this. In fact, this may be the most important.

Slide 41

Slide 41 text

OSS のリーダーシップ メンテナの役割 4 1 辛 い決断も e.g., io_uring 活 用 にチャレンジする野 心 的なプロジェクトがあり 実装までして動かしたが、思ったパフォーマンスがでなくて断念 🎨 ઃܭͷ࠷ऴܾఆ ✓ Issue トリアージ、ガバナンス、セキュリティ、ドキュメント etc ✓ OSS が 呼吸 をできるようにする 🧹OSS ͰඞཁͰ୭΋΍ͬͯ͘Εͳ͍͜ͱΛर͏

Slide 42

Slide 42 text

OSS のリーダーシップ メンテナの役割 4 2 辛 い決断も e.g., io_uring 活 用 にチャレンジする野 心 的なプロジェクトがあり 実装までして動かしたが、思ったパフォーマンスがでなくて断念 🎨 ઃܭͷ࠷ऴܾఆ ✓ Issue トリアージ、ガバナンス、セキュリティ、ドキュメント etc ✓ OSS が 呼吸 をできるようにする 🧹OSS ͰඞཁͰ୭΋΍ͬͯ͘Εͳ͍͜ͱΛर͏

Slide 43

Slide 43 text

OSS のリーダーシップ メンテナの役割 4 3 辛 い決断も e.g., io_uring 活 用 にチャレンジする野 心 的なプロジェクトがあり 実装までして動かしたが、思ったパフォーマンスがでなくて断念 🎨 ઃܭͷ࠷ऴܾఆ ✓ Issue トリアージ、ガバナンス、セキュリティ、ドキュメント etc ✓ OSS が 呼吸 をできるようにする 🧹OSS ͰඞཁͰ୭΋΍ͬͯ͘Εͳ͍͜ͱΛर͏ 📈ίʔυҎ֎ʹOSS ʹٻΊΒΕΔ΋ͷ͸૿ՃͷҰ్

Slide 44

Slide 44 text

OSS のリーダーシップ OSS がメンテナに与えれるもの メンテナで得たマネジメントスキルは他でも役 立 つ ✓ 他の OSS の雰囲気を読み取る ✓ どういう issue を作ると受け 入 れてもらいやすいか ✓ 仕事のマネージャー業務 youki でのやり 方 「メンテナのキャリアに貢献する」 ある程度の規模になっていると転職時の 一 定は信頼できる評価となる org の遷移: 個 人 → containers → CNCF Project 4 4 🤷 ΍Γ͕͍ϕʔεʹશͯΛཔΔ

Slide 45

Slide 45 text

OSS ߩݙͷ࿈ଓੑ 05 45

Slide 46

Slide 46 text

4 6 OSS 貢献の連続性

Slide 47

Slide 47 text

Preferred Networks, Inc. オンプレML基盤の開発 ・ 運 用 OSS Activities Maintainer: youki-dev/youki opencontainers/runtime-spec Reviewer: Kubernetes SIG-Scheduling containerd/runwasi Community: CNCF Ambassador, CNCJ Board Member Toru Komatsu 4 7 始まりの街 @utam0k

Slide 48

Slide 48 text

4 8

Slide 49

Slide 49 text

OSS 貢献の連続性 メンテナが1つの OSS に対する活動で完結することは少ない ‣ 自 分の OSS を利 用 している OSS のメンテナに ‣周辺エコシステムとのコミュニケーション ‣隣の分野の OSS へチャレンジ 4 9

Slide 50

Slide 50 text

OSS 貢献の連続性 メンテナが1つの OSS に対する活動で完結することは少ない ‣ 自 分の OSS を利 用 している OSS のメンテナに ‣周辺エコシステムとのコミュニケーション ‣隣の分野の OSS へチャレンジ 5 0

Slide 51

Slide 51 text

OSS は 自 分の上にも下にも OSS が積み重なっている 5 1 OSS 貢献の連続性 自 分の OSS を利 用 している OSS のメンテナに

Slide 52

Slide 52 text

issue「 君の OSS を 自 分の OSS で使おうとしたら壊れた」 ‣ 「runwasi で youki をこういう使い 方 したいけどインタ フェースが 足 りていない」 • runwasi: Kubernetes で WASM を扱えるようにする OSS ‣ 「何で壊れるんだろう」「どういう使い 方 をしているん だ」と結局コードを読むことになる ‣ 相互の OSS を修正することも → そのままメンテナに 5 2 OSS 貢献の連続性 自 分の OSS を利 用 している OSS のメンテナに

Slide 53

Slide 53 text

メンテナが1つの OSS に対する活動で完結することは少ない ‣ 自 分の OSS を利 用 している OSS のメンテナに ‣周辺エコシステムとのコミュニケーション ‣隣の分野の OSS へチャレンジ 5 3 OSS 貢献の連続性 自 分の OSS を利 用 している OSS のメンテナに

Slide 54

Slide 54 text

OSS 貢献の連続性 組織からのサポート 5 4 OSS が 大 きくなると組織から 支 援や絡みがある

Slide 55

Slide 55 text

OSS 貢献の連続性 周辺エコシステムからのサポート 5 5 CNCF Projects

Slide 56

Slide 56 text

OSS 貢献の連続性 周辺エコシステムとのコミュニケーション 5 6 標準化や OSS 開発を 支 援してくれる団体 e.g., OCI: Open Container Initiative ‣コンテナの仕様の標準化団体 ‣主要なコンテナ実装のリードがメンテナ • 新機能について議論 • セキュリティ関連について協 力

Slide 57

Slide 57 text

OSS ߩݙͷ࿈ଓੑ メンテナが1つの OSS に対する活動で完結することは少ない ‣ 自 分の OSS を利 用 している OSS のメンテナに ‣周辺エコシステムとのコミュニケーション ‣隣の分野の OSS へチャレンジ 5 7

Slide 58

Slide 58 text

OSS 貢献の連続性 隣の分野の OSS へチャレンジ issue「 X と合わせて使おうとしたら壊れた」 ‣「docker run のこのオプションを使って youki を使おうとし たら壊れた」 ‣「Kubernetes から youki を使おうとしたら壊れた」 メンテナをしているとお隣の OSS を使う機会を強制的に得る ‣お隣の OSS の知 見 がたまって、コントリビューション可能に 5 8

Slide 59

Slide 59 text

OSS ΁ඈͼࠐΉ 06 59

Slide 60

Slide 60 text

OSS へ 飛 び込む 隣の分野の OSS へチャレンジ

Slide 61

Slide 61 text

OSS へ 飛 び込む 新規コントリビュータという冒険 新しい冒険はいつだって怖さとわくわくがある ‣わくわく • 新しいことを学べる • 自 分が純粋な新規コントリビュータから始まる ‣怖さ • 的外れなことなどを 言 っていないかな • 迷惑になっていないかな 6 1

Slide 62

Slide 62 text

ྡͷ OSS ͷ֗΁ࢥ͍੾ͬͯඈͼࠐΜͰΈΔ 6 2

Slide 63

Slide 63 text

OSS へ 飛 び込む OSS への解像度を 高 める 仕事 ‣仕事で利 用 する/している 趣味 ‣趣味開発ツールとして使ってみる • 個 人見 解: 言 語よりも興味を持てるかが重要 ‣解説記事を書いてみる / どこかで発表をしてみる 6 3

Slide 64

Slide 64 text

OSS へ 飛 び込む 飛 び込む準備 小 /中規模 ‣整備が 行 き届いていないことが多いので雰囲気を読む 大 規模 ‣ルールがかっちりしているので流れを知ってから 飛 び込む ‣ 文 化を知る • Repository の Watch 機能を利 用 して毎 日 の通知を眺める • 誰にレビューリクエストを送るのが適切か? どういうところをレビューでケアされやすいか? ‣とはいえ、間違っていてもみんな教えてくれる 6 4

Slide 65

Slide 65 text

OSS へ 飛 び込む 飛 び込む 方 法1 Good First Issue ‣Issue の 一 覧から Good First Issue ラベルを探す • 最近は ☔ umbrella Issue となっていることも多い ‣ 人 気の OSS だとかなり争奪戦になる • Good First Issue を集めたサイトがあり、そこからのリポジトリへのアクセスはそこそこある 方 法2 バグを踏む ‣解像度を 高 めるのにバグや困りごとに直 面 ‣バグや困りごとが出るくらいまで解像度を 高 めておきたい • Alpha 機能や latest を使うと結構バグはある 方 法3 メンテナに聞いてみる ‣実はメンテナの脳内には Issue にしていないものがいっぱいある ‣毎 日 Watch していると誰に聞けばよいかわかってくる 6 5

Slide 66

Slide 66 text

OSS へ 飛 び込む Kubernetes への 飛 び込み 方 例 - 解像度を 高 める まずは触る ‣ 自 宅に Kubernetes を置いてみる ‣Kubernetes を仕事で触り始める • 特にスケジューラ周り ‣youki の Kubernetes サポート 眺める ‣kubernetes/kubernetes の通知をすべてオンにしてみる ‣LWKD(Last Week in Kubernetes Development) を読んでみる ‣マージされた PR を毎 日生 成 AI でサマライズする コミュニティに 入 ってみる ‣KubeCon に 行 ってみる 6 6

Slide 67

Slide 67 text

OSS へ 飛 び込む Kubernetes への 飛 び込み 方 例 - 解像度を 高 める コードやアーキテクチャを知る ‣Kubernetes はコンポーネントがわかれていて、 SIG というのに分かれている • スケジューラは SIG-Scheduling ‣スケジューラに関する解説記事や公式ドキュメン トを読む ‣スケジューラのプラグインを開発してみる 6 7 コミュニティを知る ‣ロールという概念がある • Member → Reviewer → Approver • Watch していると Approver でもアクティブな 人 は 少ないことに気がつく • どのあたりの時間帯が 一 番活動が活発か ‣当時は AI/ML に向けてパフォーマンスが懸念 • クラスタが 大 きくなったり、貴重なリソースをどう 扱うかが重要 • PFN でも重要な課題 • コミュニティの向かう先に合う貢献が必要 ‣ 文 化を知る

Slide 68

Slide 68 text

OSS へ 飛 び込む Kubernetes への 飛 び込み 方 例 - 飛 び込む バグの修正 ‣社内のユースケースでバグを践む • Blog: Kubernetes における cgroup v 2 での Out-Of-Memory 問題の解決 小 さな機能/バグ修正提案 ‣スケジューラプラグインの開発をしていて欲しい機能を提案 ‣コミュニティが 力 を 入 れているところの機能強化 • e.g., スケジューラのパフォーマンス計測周りのツールの機能強化(社内でも利 用 していた) Issue を探す ‣途中で落ちてしまっている Issue や PR の回収 • 自 動 Close する bot などをキャッチ メンテナに会う、聞く ‣新しい実装 Issue ができたら教えてもらえた ‣OSS 開発は時差ありの 非 同期開発だからこそ会う機会は重要 6 8

Slide 69

Slide 69 text

OSS を楽しむ 07 69

Slide 70

Slide 70 text

OSS を楽しむ 新しい技術や知 見 の獲得 7 0 新しい機能の実装 ‣仕様を実装するケースでは仕様を読み解くことで新しい知 見 を得る メンテナ ‣他の 人 の提案のなかで知らない知識に出会える ‣コードレビューで新しいアーキテクチャを知る

Slide 71

Slide 71 text

OSS を楽しむ OSS を成 長 をさせる 7 1 ‣0から OSS を作り溝を超える ‣マジョリティが既にいる OSS へのコントリビューション • 書いたコードが世界中のいろいろなところで動くおもしろさ イノベータ アーリーアダプタ アーリーマジョリティ レイトマジョリティ ラガード 2 . 5 % 1 3 . 5 % 3 4 % 3 4 % 1 6 %

Slide 72

Slide 72 text

OSS を楽しむ 新規コントリビュータの成 長 を 見 守る 7 2 খ͞ͳόάमਖ਼
 υΩϡϝϯτͷߋ৽ ར༻ऀ ϝϯςφ େ͖ͳػೳ࣮૷ メンテナは他 人 に動いてもらう必要がある

Slide 73

Slide 73 text

OSS を楽しむ 影響 力 と責任と楽しさ 小 さなバグ修正 ドキュメントの更新 利 用 者 メンテナ 大 きな機能実装 7 3 影響 力 と責任 視野 より遠くOSSの世界を 見 ることができる👀

Slide 74

Slide 74 text

おしまい 74