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
はじめてのOSSコントリビュート
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
てきめん tekimen
PRO
February 09, 2024
Programming
11
5.3k
はじめてのOSSコントリビュート
PHPカンファレンス関西2024で話す内容です。
てきめん tekimen
PRO
February 09, 2024
Tweet
Share
More Decks by てきめん tekimen
See All by てきめん tekimen
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
240
Limit of code point for grapheme cluster in programming language side.
youkidearitai
PRO
0
57
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
2
3.1k
PHP 8.5の裏話
youkidearitai
PRO
0
120
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
280
PHP Internals わいわい #3 mb_*関数を作ってみよう
youkidearitai
PRO
0
150
Windows版php-srcデバッグ方法
youkidearitai
PRO
1
120
PHP Internals わいわい #1 の資料
youkidearitai
PRO
1
1.5k
mb_trim関数を作りました
youkidearitai
PRO
1
1.3k
Other Decks in Programming
See All in Programming
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
240
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
160
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
1.1k
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
Windows on Ryzen and I
seosoft
0
400
Codex の「自走力」を高める
yorifuji
0
1.3k
Claude Codeログ基盤の構築
giginet
PRO
7
3.7k
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
7
3.1k
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
540
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
100
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1k
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
270
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Facilitating Awesome Meetings
lara
57
6.8k
Agile that works and the tools we love
rasmusluckow
331
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.5k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
89
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
A better future with KSS
kneath
240
18k
RailsConf 2023
tenderlove
30
1.4k
Automating Front-end Workflow
addyosmani
1370
200k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Transcript
はじめてのOSSコントリ ビュート
自己紹介 てきめん • https://tekitoh-memdhoi.info • X: @youkidearitai • https://github.com/youkideari tai
• https://speakerdeck.com/you kidearitai • サイボウズ株式会社にいます • PHP 8.4でmb_trim関数を作りま した オレ
オープンソース、使ってますか?
オープンソースに コントリビュートしてますか?
オープンソースとは • ざっくりいうと誰でもソースコードを取得でき、自己責任で使え、誰 でも改善の提案ができる – 定義について https://opensource.org/definition-annotated/ • Wikipediaも参考になると思う Wikipediaの記述:オープンソースの定義
• 国境がない、用途の制限がない • 技術でのみ会話する • 開発者に責任はない • オープンソースだけで1冊教科書ができる
自由なライセンス • オープンソース以外にも、自由に 改変してもいいとするライセンス がある • 文章や画像データなどに対応して いる自由なライセンス – Creative
Commons(BY、BY-SA) • 例:Arduino、PHPのマニュアル • 著作権を放棄している、パブリック ドメインというものもある – 例:SQLite Arduino Uno(CC BY-SA)
オープンソースとフリーはちょっと違う 自由なライセンス (フリー) オープンソース ※てきめんの解釈なので注意
コントリビュートとは・メリット • 日本語では貢献という意味 • メリット – 世界が少しだけ良くなる – 自分も恩恵を受けられる •
自分で見つけたバグが治ったバージョンを使える! • スキルアップを望める • 手本として業務に役に立つ – 就職・転職・昇格に有利だったりする可能性がちょっとはあるかも • わたしはphp-srcにコントリビュートしまくったらサイボウズに入った、こういうの続いてほ しい • コントリビュートは技術力のアピールになるはず
コントリビュートとは・デメリット • 報酬は一般的にない・手弁当すらありうる • ミスや間違えを全世界に公開することになる – だけどこれは「自分が恥をかく」だけならそのほうがマシなんです – オープンソースのほうが間違っているならそっちのほうがヤバいと思ってください –
オープンソースの精神として「開発者に責任はない」ので、沢山間違えてください • そもそも分野問わずエンジニアなら学びってそういうものですよね? – 「Sorry」よりも「Thanks」を使いましょう • 「間違えました、すみません」を「見つけてくれてありがとう!」と言い換えましょう • 間違いを謝りがちですが、ビジネスではありませんから • これで疲れたと思ったら離れていいです – 「しなければならない」などという気持ちになったら離れましょう
PHP本体でされてうれしい貢献 簡単な順
使う • それはそう – コントリビュートするにも使うのが一歩なので – 使うことも貢献と意識するのとしないのとでは違うと思う • 何はともあれ、使ってもらってなんぼ •
ユーザーでコミュニティを作るもよし – カンファレンスの開催も貢献の一歩
The PHP Foundationへの寄付 • 最近10人に増えたPHP Foundationへの寄付 – 高町咲衣(さきち)さんが加入しました! • 寄付の意義が強くなりましたね?
• Zend Engineに詳しい人や、広く見てくれる人、PHP 8.3のリリース マネージャーなどがいます • ぜひ!寄付の検討をしてほしいです! – 毎月寄付すれば何も考えなくて良いからいい • https://thephp.foundation
typoの修正 • ソースコード上のいわゆる打ち間違い • Fix typoというプルリクエストは嬉しい – コア開発者がコアの開発に集中できるから – 予想以上に嬉しいのでやってください
– コントリビュートする側もしやすい • Good first issueだと思う!
ドキュメントの修正 • php/doc-enリポジトリにてマニュアル が管理されてる – こちらの修正や追加も提案できる – Good first issueラベルが貼られてる
のでやってみよう • php/doc-jaリポジトリが日本語のマ ニュアル – これの文の修正とかでも助かる – 大体は@mumumuさんによって管理 されてる • とはいえ助けてあげてほしい doc/enのIssue
phptファイルの修正 • phptファイルという、PHP自体 のテストがある – PHPでできている – これにプルリクエストを送る • フォーマットは
http://qa.php.net/write-test. php • これを修正したり、テストケース の追加をしたりするとよい
Issue • PHP本体にバグを見つけたらphp/php-srcにIssueとして 報告してくれると嬉しい – テンプレート通りタイトルとActual、Expectedをしっかり記入す れば伝わる – 今ならGoogle翻訳やDeepL使えば伝わる –
故にしない理由がない • 何がムズいかといえば、PHP本体のバグの切り分け
警告を取り除く • php-srcをコンパイルする際に発生する警告 (warning)を取り除くプルリクエスト – これも助かる – PHPのコンパイルができないとわからないけども – OS・CPUアーキテクチャ・コンパイルオプションなどで
ぜんぜん違うので色々な環境でコンパイルを試してほ しい
Feature request • 「〇〇という機能・関数を追加してくれないか」 • これも助かる – なお、mb_trim関数はここから作られています – mb_ucfirst関数もここから作っています
• 何がムズいかといえば現代のPHPはかなり完成されて るので提案に予め高度な知識が必要なところ
RFC • PHPに大幅な変更・機能追加を行う • PHP Internalsメーリングリストで議論して、RFCにより投票 を行う • https://wiki.php.net/rfc/howto •
これは激むずだけど頑張ればできる – PHP Internalsメーリングリストは読んでるから助けますよ!
簡単な順に並べてみましたが、 それでも難しそうですかね?
ハードルが高いことは もちろんわかっています
PHP本体にバグを見つけるだけで大変だった • 2019年に初めてバグを見 つけたときのスライド • 当時の発表をみると、すご くはしゃいでたなーと思い ます。 • つまり、ぼくも何も最初から
すごい人な訳ではない PHPerKaigi 2019のスライド https://speakerdeck.com/youkidearitai/ phpfalsemaniyuaruninaikotowositephp- srchebagubao-gao-wosita
PHP本体だとハードルが高いので 低くしましょう
「コントリビュート」に話を戻す • 興味のあるオープンソースプロジェクトの動向を探ってみ る – PHPerならばPHPのプロジェクトでもいいですね • フレームワークでもCMSでも読めるものでいい – プロジェクトごとに雰囲気は全然違う
• マニュアルにない挙動をIssueで報告する • バグを直してPull Requestを送ってみる
コントリビュートに不安がある? • OSS Gateがあります! – オープンソースへの入り口を体 験できるワークショップです – オンラインで行われています •
https://oss-gate.doorkeeper.j p/events/upcoming • 3月は9日に行われます – 過去では各地で行われていまし た • 勝手にやってもいい(CC BY-SA 4.0)
そして明日
PHP Lovers Meetup + OSS Gate • 関西が明日ある – 締め切られてるかな?
• カンファレンスに合わせて各地で 行われる – 北海道 – 関西 – あとやる? • 身近で使ってるOSSにコントリ ビュートしよう!
コントリビュートしよう • 思ったよりも難しくはないです – 使うのもコントリビュートです!だけど… – 不具合を見つけたらとりあえず本家に報告しましょう • オープンソースが間違っているのがみんな困るのであって、自分が間 違っている分には全然いいことと割り切れるかどうかでしょうか
– オープンソースは「開発者に責任はない」世界ですから、のびの び失敗しましょう – 何にせよやらないとわからんので、やるところからはじめましょう
ご清聴ありがとうございました おおきに