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
470
Other Decks in Programming
See All in Programming
2025年のz-index設計を考える
tak_dcxi
13
5.1k
ビカム・ア・コパイロット
ymd65536
1
190
ts-morph実践:型を利用するcodemodのテクニック
ypresto
1
480
Efficiency and Rock 'n’ Roll (Really!)
hollycummins
0
540
AI Coding Agent Enablement in TypeScript
yukukotani
15
6k
TSConfigからTypeScriptの世界を覗く
planck16
2
1.2k
テスト分析入門/Test Analysis Tutorial
goyoki
8
2.5k
PT AI без купюр
v0lka
0
150
Blueskyのプラグインを作ってみた
hakkadaikon
1
140
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
360
“技術カンファレンスで何か変わる?” ──RubyKaigi後の自分とチームを振り返る
ssagara00
0
200
External SecretsのさくらProvider初期実装を担当しています
logica0419
0
190
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.7k
Art, The Web, and Tiny UX
lynnandtonic
298
21k
Designing for humans not robots
tammielis
253
25k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Automating Front-end Workflow
addyosmani
1370
200k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
Facilitating Awesome Meetings
lara
54
6.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Being A Developer After 40
akosma
91
590k
Code Reviewing Like a Champion
maltzj
523
40k
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コミュニティ全体の改善に繋がります。 𝓛𝓮𝓽'𝓼 𝓒𝓸𝓷𝓽𝓻𝓲𝓫𝓾𝓽𝓮 !