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
660
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
90
NewRelicプラットフォームを使ったオブザーバビリティ入門 / phpcon2020jp-observability
dmnlk
0
1.3k
プロダクトファーストに価値を創造するエンジニアとしての生き方 / Product first Engineering
dmnlk
6
3.9k
このCircle CIがすごい 中央線Meetup #1 /circle ci sugoi
dmnlk
0
460
Other Decks in Programming
See All in Programming
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
170
フロントエンドテストの育て方
quramy
11
2.9k
小田原でみんなで一句詠みたいな #phpcon_odawara
stefafafan
0
310
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.4k
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
680
英語文法から学ぶ、クリーンな設計の秘訣
newnomad
1
290
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
4
860
パスキーのすべて / 20250324 iddance Lesson.5
kuralab
0
150
AWSで雰囲気でつくる! VRChatの写真変換ピタゴラスイッチ
anatofuz
0
130
List とは何か? / PHPerKaigi 2025
meihei3
0
600
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
4
1k
AHC 044 混合整数計画ソルバー解法
kiri8128
0
320
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.5k
Speed Design
sergeychernyshev
28
870
Producing Creativity
orderedlist
PRO
344
40k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Mobile First: as difficult as doing things right
swwweet
223
9.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コミュニティ全体の改善に繋がります。 𝓛𝓮𝓽'𝓼 𝓒𝓸𝓷𝓽𝓻𝓲𝓫𝓾𝓽𝓮 !