Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
Search
dmnlk
April 12, 2025
Programming
1
1.2k
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
https://fortee.jp/phpconodawara-2025/proposal/888dd742-0295-4982-b267-8f1c0072c38b
登壇資料
dmnlk
April 12, 2025
Tweet
Share
More Decks by dmnlk
See All by dmnlk
New Relicを全社導入するときに必要なこと / 20221213_NRUG_newrelic
dmnlk
0
110
NewRelicプラットフォームを使ったオブザーバビリティ入門 / phpcon2020jp-observability
dmnlk
0
1.3k
プロダクトファーストに価値を創造するエンジニアとしての生き方 / Product first Engineering
dmnlk
6
4k
このCircle CIがすごい 中央線Meetup #1 /circle ci sugoi
dmnlk
0
460
Other Decks in Programming
See All in Programming
事業KPIを基に価値の解像度を上げる
nealle
0
120
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
130
Browser and UI #2 HTML/ARIA
ken7253
2
180
Cursorを活用したAIプログラミングについて 入門
rect
0
220
ぽちぽち選択するだけでOSSを読めるVSCode拡張機能
ymbigo
14
6.4k
ドメイン駆動設計とXPで支える子どもの未来 / Domain-Driven Design and XP Supporting Children's Future
nrslib
0
300
OpenTelemetry + LLM = OpenLLMetry!?
yunosukey
1
130
eBPF超入門「o11yに使える」とは (20250424_eBPF_o11y)
thousanda
1
120
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
82
21k
Storybookの情報をMCPサーバー化する
shota_tech
3
1.2k
Cloudflare Workersで進めるリモートMCP活用
syumai
5
640
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
1.2k
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Pragmatic Product Professional
lauravandoore
33
6.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
179
53k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Being A Developer After 40
akosma
91
590k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Speed Design
sergeychernyshev
29
940
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Transcript
1 © 2012-2025 BASE, Inc. 2025/04/12 PHPカンファレンス小田原2025 BASE株式会社 川口将貴 @dmnlk
PHPバージョンアップから始める OSSコントリビュート
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)
3 © 2012-2025 BASE, Inc. BASE株式会社です 登壇者5名います ブースもあります 小田原占拠してます
4 © 2012-2025 BASE, Inc. 質問 OSSコントリビュート してますか?
5 © 2012-2025 BASE, Inc. していない理由 敷居が高い? 自分ができることはない? きっかけがない?
6 © 2012-2025 BASE, Inc. その"きっかけ" 実は身近にあります!
7 © 2012-2025 BASE, Inc. 閑話休題 PHPのバージョンアップ してますか、してますよね 8.4出たよ
8 © 2012-2025 BASE, Inc. 閑話休題 PHPのバージョンアップ してますか、してますよね リリースマネージャの キーノート聞いたよね?
9 © 2012-2025 BASE, Inc. なぜバージョンアップをするのか セキュリティのため 新機能使いたい パフォーマンスUP
10 © 2012-2025 BASE, Inc. でも、現実は甘くない…!
11 © 2012-2025 BASE, Inc. アップグレードあるある • コードレベル変更 ◦ deprecated
◦ 破壊的変更 • 依存ライブラリ対応 ◦ 古いPHPしかサポートしてない • 環境問題 ◦ CI対応 ◦ 実行OSのEOL
12 © 2012-2025 BASE, Inc. その「困った!」に チャンス が埋まっているかも?
13 © 2012-2025 BASE, Inc. チャンス? こうした 『困った!』 『動かない!』『なぜだ!?』 という状況、正直しんどいですよね。
14 © 2012-2025 BASE, Inc. この『困った!』こそが 実はOSSコントリビュートの 最初の扉を開ける鍵になるんです
15 © 2012-2025 BASE, Inc. 課題解決のプロセスを振り返る
16 © 2012-2025 BASE, Inc. エラーメッセージを読む、 ググる、 ドキュメントを読む、 それでも分からなければ ライブラリのGitHub
Issueを探す…
17 © 2012-2025 BASE, Inc. Issueを探しているうちに、 『あ、これバグ報告されてるな』とか、 『同じ問題で困ってる人が他にもいるんだ』 って気づくこと、ありますよね?
18 © 2012-2025 BASE, Inc. 「発見」の具体例
19 © 2012-2025 BASE, Inc. まさにその時 『あれ?これって…』 と思った瞬間がチャンスです。
20 © 2012-2025 BASE, Inc. 事例集 例1: 「調べてみたら、どうもライブラリ側のバグっ ぽい。まだIssueも上がってないみたいだぞ?」 →
【発見!】バグ報告のチャンス!
21 © 2012-2025 BASE, Inc. 事例集 例2: 「ドキュメントの記述が明らかに間違ってる/古い せいで半日溶かした…。 これは直した方が他の人も助かるな」
→ 【発見!】ドキュメント修正のチャンス!
22 © 2012-2025 BASE, Inc. 事例集 例3: 「このエラーメッセージ、 原因が全然わからなくて不親切だな…。 コード見たら、
もうちょっと分かりやすくできそうだけど」 → 【発見!】改善提案のチャンス!
23 © 2012-2025 BASE, Inc. おすすめ 自分のプロダクトのPHPUnit設定で displayDetailsOnPhpunitDeprecations="true" を有効にする →非推奨動作がCIで落ちてライブラリ起因の問題が
露出するのでコントリビュートチャンス
24 © 2012-2025 BASE, Inc. バージョンアップ作業 で直面する様々な『壁』は、 見方を変えればOSSプロジェクトの問題点や 改善点に気づく 『発見』の機会でもあるんです。
25 © 2012-2025 BASE, Inc. そして、その『発見』こそが、 次のステップ、 つまりOSSへのフィードバックに 繋がっていきます。
26 © 2012-2025 BASE, Inc. 課題解決からコントリビュートへ
27 © 2012-2025 BASE, Inc. まずは調査! - 基本のステップ 『あれ?』と思ったら、まずは基本に立ち返って調査です。 エラーメッセージをよく読む、ドキュメントを再確認する、
そしてGitHubで類似のIssueがないか検索する。
28 © 2012-2025 BASE, Inc. 調査の加速(応用編:Copilot) そして、その『発見』こそが、 次のステップ、 つまりOSSへのフィードバックに 繋がっていきます。
29 © 2012-2025 BASE, Inc. おすすめ GitHubのWeb上でShift+sで Copilot Chatが開くので そこで問題の調査がしやすい
30 © 2012-2025 BASE, Inc. Copilot Chat
31 © 2012-2025 BASE, Inc. 1st step:Issue報告 • 調査の結果、『これはバグだ』『ドキュメントが間違っている』と 確信したら、まずはIssueを立てて報告しよう
• なぜIssueか? 開発者に問題を知らせ、他の人も同じ問題で困ってい ないか共有し、解決策を議論するためです • 良いIssueを書くポイントは、再現手順、環境情報、期待する動作と 実際の動作、エラーログなどを具体的に書くことです • 英語が苦手でも大丈夫。LLMで翻訳したりシンプルな単語で伝えれ ばOKです
32 © 2012-2025 BASE, Inc. Issue立てるだけでもいい https://github.com/googleapis/google-cloud-php/issues/7870
33 © 2012-2025 BASE, Inc. 2nd step: Pull Requestを立てる •
もし『これなら自分でも直せそう!』と思ったら、ぜひPull Requestを送ってみてください • 特に、ドキュメントのタイポ修正やリンク切れ修正、簡単なコード の修正などは、初心者の方でも貢献しやすいポイントです • ここでも、Copilot/LLMにコードの提案をしてもらったり、英語の コメント作成を手伝ってもらうこともできます • 最初から完璧じゃなくて大丈夫。レビューでの指摘は学びのチャン スです
34 © 2012-2025 BASE, Inc. 非推奨を直してPR https://github.com/OpenAPITools/openapi-generator/pull/20162
35 © 2012-2025 BASE, Inc. おすすめ最速コントリビュート • OSSのリポジトリのCI設定で8.4でビルドする設定をいれる • composer.jsonのrequireに>=8.4をいれる
• とりあえずそれをmergeしてもらって8.4でテストできるよ うにする • PHPUnitのdisplayDetailsOnPhpunitDeprecationsをい れる • RectorのPhp84/Rectorのルールを雑に適用してPRをだす
36 © 2012-2025 BASE, Inc. コワクナイヨ やってみると、意外となんとかなる
37 © 2012-2025 BASE, Inc. まとめ
38 © 2012-2025 BASE, Inc. 今日からできること ここまで、PHPバージョンアップをきっかけとしたOSSコ ントリビュートについてお話ししてきました。最後に、 『じゃあ、具体的に何から始めればいいの?』という点 と、改めてコントリビュートの魅力についてまとめたいと
思います
39 © 2012-2025 BASE, Inc. おすすめ最速コントリビュート • GitHubラベルを探す→good first issueをみる
• 身近なライブラリから→大きいOSSは対応も早い • ドキュメント貢献が狙い目→typoだけでもいいよ • LLMも活用→自分でレビューはちゃんとしてね
40 © 2012-2025 BASE, Inc. なぜコントリビュートするの? • スキルアップ: 普段あまり読まない他の人のコードを読むことで、リーディング力は もちろん、設計思想やテストの書き方など、多くの学びがあります。
• 貢献感と達成感: 自分が送った修正が取り込まれて、世界中の開発者に使われるツー ルの改善に貢献できた時は嬉しいもの。世界中から『ありがとう!』と言われると、 やっぱり嬉しい • 実績と評価: GitHubでの活動は、皆さんの技術的な実績として残ります。ポートフォ リオの一部にもなります • コミュニティ: 開発者コミュニティとの繋がりも生まれる。ありがとうPHPカンファ レンス小田原 • 技術への貢献: PHPという素晴らしい言語、そしてそのエコシステムを、皆さんの力 でより良くしていくことができます
41 © 2012-2025 BASE, Inc. 最初の一歩を踏み出そう • さあ、難しく考えずに、まずは一歩を踏み出してみませんか? • 今日帰ったら、いつも使っているライブラリのGitHub
Issueを一つ、 覗いてみてください • このあと僕を捕まえて相談してくれても大丈夫です • 次のPHPバージョンアップは、『何か発見はないかな?』という視点で 取り組んでみてください。
42 © 2012-2025 BASE, Inc. あなたのその一歩が PHPコミュニティ全体の改善に繋がります。 𝓛𝓮𝓽'𝓼 𝓒𝓸𝓷𝓽𝓻𝓲𝓫𝓾𝓽𝓮 !