Slide 1

Slide 1 text

1 © 2012-2025 BASE, Inc. 2025/04/12 PHPカンファレンス小田原2025 BASE株式会社 川口将貴 @dmnlk PHPバージョンアップから始める OSSコントリビュート

Slide 2

Slide 2 text

2 © 2012-2025 BASE, Inc. 2 川口将貴(kawaguchi masaki) BASE株式会社 執行役員CTO  @dmnlk ・プロフィール   1991年1月19日生まれ ・職歴   2013年 GCREST(CyberAgent子会社)   2017年5月 BASE株式会社入社   2019年7月 CTO就任 ・技術   Java/PHP/Go/AWS etc. ・その他   水道橋でシーシャ屋のオーナーをやってます。(@shisha_lento)

Slide 3

Slide 3 text

3 © 2012-2025 BASE, Inc. BASE株式会社です 登壇者5名います ブースもあります 小田原占拠してます

Slide 4

Slide 4 text

4 © 2012-2025 BASE, Inc. 質問 OSSコントリビュート してますか?

Slide 5

Slide 5 text

5 © 2012-2025 BASE, Inc. していない理由 敷居が高い? 自分ができることはない? きっかけがない?

Slide 6

Slide 6 text

6 © 2012-2025 BASE, Inc. その"きっかけ" 実は身近にあります!

Slide 7

Slide 7 text

7 © 2012-2025 BASE, Inc. 閑話休題 PHPのバージョンアップ してますか、してますよね 8.4出たよ

Slide 8

Slide 8 text

8 © 2012-2025 BASE, Inc. 閑話休題 PHPのバージョンアップ してますか、してますよね リリースマネージャの キーノート聞いたよね?

Slide 9

Slide 9 text

9 © 2012-2025 BASE, Inc. なぜバージョンアップをするのか セキュリティのため 新機能使いたい パフォーマンスUP

Slide 10

Slide 10 text

10 © 2012-2025 BASE, Inc. でも、現実は甘くない…!

Slide 11

Slide 11 text

11 © 2012-2025 BASE, Inc. アップグレードあるある ● コードレベル変更 ○ deprecated ○ 破壊的変更 ● 依存ライブラリ対応 ○ 古いPHPしかサポートしてない ● 環境問題 ○ CI対応 ○ 実行OSのEOL

Slide 12

Slide 12 text

12 © 2012-2025 BASE, Inc. その「困った!」に チャンス が埋まっているかも?

Slide 13

Slide 13 text

13 © 2012-2025 BASE, Inc. チャンス? こうした 『困った!』 『動かない!』『なぜだ!?』 という状況、正直しんどいですよね。

Slide 14

Slide 14 text

14 © 2012-2025 BASE, Inc. この『困った!』こそが 実はOSSコントリビュートの 最初の扉を開ける鍵になるんです

Slide 15

Slide 15 text

15 © 2012-2025 BASE, Inc. 課題解決のプロセスを振り返る

Slide 16

Slide 16 text

16 © 2012-2025 BASE, Inc. エラーメッセージを読む、 ググる、 ドキュメントを読む、 それでも分からなければ ライブラリのGitHub Issueを探す…

Slide 17

Slide 17 text

17 © 2012-2025 BASE, Inc. Issueを探しているうちに、 『あ、これバグ報告されてるな』とか、 『同じ問題で困ってる人が他にもいるんだ』 って気づくこと、ありますよね?

Slide 18

Slide 18 text

18 © 2012-2025 BASE, Inc. 「発見」の具体例

Slide 19

Slide 19 text

19 © 2012-2025 BASE, Inc. まさにその時 『あれ?これって…』 と思った瞬間がチャンスです。

Slide 20

Slide 20 text

20 © 2012-2025 BASE, Inc. 事例集 例1: 「調べてみたら、どうもライブラリ側のバグっ ぽい。まだIssueも上がってないみたいだぞ?」 → 【発見!】バグ報告のチャンス!

Slide 21

Slide 21 text

21 © 2012-2025 BASE, Inc. 事例集 例2: 「ドキュメントの記述が明らかに間違ってる/古い せいで半日溶かした…。 これは直した方が他の人も助かるな」 → 【発見!】ドキュメント修正のチャンス!

Slide 22

Slide 22 text

22 © 2012-2025 BASE, Inc. 事例集 例3: 「このエラーメッセージ、 原因が全然わからなくて不親切だな…。 コード見たら、 もうちょっと分かりやすくできそうだけど」 → 【発見!】改善提案のチャンス!

Slide 23

Slide 23 text

23 © 2012-2025 BASE, Inc. おすすめ 自分のプロダクトのPHPUnit設定で displayDetailsOnPhpunitDeprecations="true" を有効にする →非推奨動作がCIで落ちてライブラリ起因の問題が 露出するのでコントリビュートチャンス

Slide 24

Slide 24 text

24 © 2012-2025 BASE, Inc. バージョンアップ作業 で直面する様々な『壁』は、 見方を変えればOSSプロジェクトの問題点や 改善点に気づく 『発見』の機会でもあるんです。

Slide 25

Slide 25 text

25 © 2012-2025 BASE, Inc. そして、その『発見』こそが、 次のステップ、 つまりOSSへのフィードバックに 繋がっていきます。

Slide 26

Slide 26 text

26 © 2012-2025 BASE, Inc. 課題解決からコントリビュートへ

Slide 27

Slide 27 text

27 © 2012-2025 BASE, Inc. まずは調査! - 基本のステップ 『あれ?』と思ったら、まずは基本に立ち返って調査です。 エラーメッセージをよく読む、ドキュメントを再確認する、 そしてGitHubで類似のIssueがないか検索する。

Slide 28

Slide 28 text

28 © 2012-2025 BASE, Inc. 調査の加速(応用編:Copilot) そして、その『発見』こそが、 次のステップ、 つまりOSSへのフィードバックに 繋がっていきます。

Slide 29

Slide 29 text

29 © 2012-2025 BASE, Inc. おすすめ GitHubのWeb上でShift+sで Copilot Chatが開くので そこで問題の調査がしやすい

Slide 30

Slide 30 text

30 © 2012-2025 BASE, Inc. Copilot Chat

Slide 31

Slide 31 text

31 © 2012-2025 BASE, Inc. 1st step:Issue報告 ● 調査の結果、『これはバグだ』『ドキュメントが間違っている』と 確信したら、まずはIssueを立てて報告しよう ● なぜIssueか? 開発者に問題を知らせ、他の人も同じ問題で困ってい ないか共有し、解決策を議論するためです ● 良いIssueを書くポイントは、再現手順、環境情報、期待する動作と 実際の動作、エラーログなどを具体的に書くことです ● 英語が苦手でも大丈夫。LLMで翻訳したりシンプルな単語で伝えれ ばOKです

Slide 32

Slide 32 text

32 © 2012-2025 BASE, Inc. Issue立てるだけでもいい https://github.com/googleapis/google-cloud-php/issues/7870

Slide 33

Slide 33 text

33 © 2012-2025 BASE, Inc. 2nd step: Pull Requestを立てる ● もし『これなら自分でも直せそう!』と思ったら、ぜひPull Requestを送ってみてください ● 特に、ドキュメントのタイポ修正やリンク切れ修正、簡単なコード の修正などは、初心者の方でも貢献しやすいポイントです ● ここでも、Copilot/LLMにコードの提案をしてもらったり、英語の コメント作成を手伝ってもらうこともできます ● 最初から完璧じゃなくて大丈夫。レビューでの指摘は学びのチャン スです

Slide 34

Slide 34 text

34 © 2012-2025 BASE, Inc. 非推奨を直してPR https://github.com/OpenAPITools/openapi-generator/pull/20162

Slide 35

Slide 35 text

35 © 2012-2025 BASE, Inc. おすすめ最速コントリビュート ● OSSのリポジトリのCI設定で8.4でビルドする設定をいれる ● composer.jsonのrequireに>=8.4をいれる ● とりあえずそれをmergeしてもらって8.4でテストできるよ うにする ● PHPUnitのdisplayDetailsOnPhpunitDeprecationsをい れる ● RectorのPhp84/Rectorのルールを雑に適用してPRをだす

Slide 36

Slide 36 text

36 © 2012-2025 BASE, Inc. コワクナイヨ やってみると、意外となんとかなる

Slide 37

Slide 37 text

37 © 2012-2025 BASE, Inc. まとめ

Slide 38

Slide 38 text

38 © 2012-2025 BASE, Inc. 今日からできること ここまで、PHPバージョンアップをきっかけとしたOSSコ ントリビュートについてお話ししてきました。最後に、 『じゃあ、具体的に何から始めればいいの?』という点 と、改めてコントリビュートの魅力についてまとめたいと 思います

Slide 39

Slide 39 text

39 © 2012-2025 BASE, Inc. おすすめ最速コントリビュート ● GitHubラベルを探す→good first issueをみる ● 身近なライブラリから→大きいOSSは対応も早い ● ドキュメント貢献が狙い目→typoだけでもいいよ ● LLMも活用→自分でレビューはちゃんとしてね

Slide 40

Slide 40 text

40 © 2012-2025 BASE, Inc. なぜコントリビュートするの? ● スキルアップ: 普段あまり読まない他の人のコードを読むことで、リーディング力は もちろん、設計思想やテストの書き方など、多くの学びがあります。 ● 貢献感と達成感: 自分が送った修正が取り込まれて、世界中の開発者に使われるツー ルの改善に貢献できた時は嬉しいもの。世界中から『ありがとう!』と言われると、 やっぱり嬉しい ● 実績と評価: GitHubでの活動は、皆さんの技術的な実績として残ります。ポートフォ リオの一部にもなります ● コミュニティ: 開発者コミュニティとの繋がりも生まれる。ありがとうPHPカンファ レンス小田原 ● 技術への貢献: PHPという素晴らしい言語、そしてそのエコシステムを、皆さんの力 でより良くしていくことができます

Slide 41

Slide 41 text

41 © 2012-2025 BASE, Inc. 最初の一歩を踏み出そう ● さあ、難しく考えずに、まずは一歩を踏み出してみませんか? ● 今日帰ったら、いつも使っているライブラリのGitHub Issueを一つ、 覗いてみてください ● このあと僕を捕まえて相談してくれても大丈夫です ● 次のPHPバージョンアップは、『何か発見はないかな?』という視点で 取り組んでみてください。

Slide 42

Slide 42 text

42 © 2012-2025 BASE, Inc. あなたのその一歩が PHPコミュニティ全体の改善に繋がります。 𝓛𝓮𝓽'𝓼 𝓒𝓸𝓷𝓽𝓻𝓲𝓫𝓾𝓽𝓮 !