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.4k
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
130
NewRelicプラットフォームを使ったオブザーバビリティ入門 / phpcon2020jp-observability
dmnlk
0
1.3k
プロダクトファーストに価値を創造するエンジニアとしての生き方 / Product first Engineering
dmnlk
6
4.1k
このCircle CIがすごい 中央線Meetup #1 /circle ci sugoi
dmnlk
0
470
Other Decks in Programming
See All in Programming
ソフトウェア設計とAI技術の活用
masuda220
PRO
25
7k
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
1k
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
0
220
リバースエンジニアリング新時代へ! GhidraとClaude DesktopをMCPで繋ぐ/findy202507
tkmru
4
1.6k
知って得する@cloudflare_vite-pluginのあれこれ
chimame
1
120
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
180
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
390
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
130
React 使いじゃなくても知っておきたい教養としての React
oukayuka
17
4.6k
DataformでPythonする / dataform-de-python
snhryt
0
110
Claude Code で Astro blog を Pages から Workers へ移行してみた
codehex
0
170
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
1.2k
Featured
See All Featured
Side Projects
sachag
455
43k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Automating Front-end Workflow
addyosmani
1370
200k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Embracing the Ebb and Flow
colly
86
4.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
A Modern Web Designer's Workflow
chriscoyier
695
190k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Done Done
chrislema
185
16k
The World Runs on Bad Software
bkeepers
PRO
70
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
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コミュニティ全体の改善に繋がります。 𝓛𝓮𝓽'𝓼 𝓒𝓸𝓷𝓽𝓻𝓲𝓫𝓾𝓽𝓮 !