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.1k
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
98
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
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
310
地域ITコミュニティの活性化とAWSに移行してみた話
yuukis
0
240
Memory API : Patterns, Performance et Cas d'Utilisation
josepaumard
0
140
VitestのIn-Source Testingが便利
taro28
6
2k
AIコーディングの理想と現実
tomohisa
22
30k
Kamal 2 – Get Out of the Cloud
aleksandrov
1
190
プロフェッショナルとしての成長「問題の深掘り」が導く真のスキルアップ / issue-analysis-and-skill-up
minodriven
7
1.2k
SwiftUI API Design Lessons
niw
1
290
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
170
Making TCPSocket.new "Happy"!
coe401_
1
1.5k
スモールスタートで始めるためのLambda×モノリス(Lambdalith)
akihisaikeda
2
280
Ruby's Line Breaks
yui_knk
2
1.2k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Optimizing for Happiness
mojombo
377
70k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
How STYLIGHT went responsive
nonsquared
99
5.5k
RailsConf 2023
tenderlove
30
1.1k
Typedesign – Prime Four
hannesfritz
41
2.6k
Side Projects
sachag
452
42k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
4 Signs Your Business is Dying
shpigford
183
22k
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コミュニティ全体の改善に繋がります。 𝓛𝓮𝓽'𝓼 𝓒𝓸𝓷𝓽𝓻𝓲𝓫𝓾𝓽𝓮 !