Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
OSSへの プルリクエスト作成の手引き
Search
fuqda
August 03, 2020
Programming
380
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OSSへの プルリクエスト作成の手引き
STORES.jp, Incの開発チーム月次レビュー会のLT資料です。
fuqda
August 03, 2020
More Decks by fuqda
See All by fuqda
Composition API時代の Pub/Subパターンでの状態管理
fuqda
4
4.1k
RubyでPrettierを使ってみた
fuqda
0
420
RSpecによるOpen API自動テスト
fuqda
3
1.2k
Rails Girls Tokyo 13th Sponsor LT by STORES
fuqda
0
260
黒歴史リポジトリを使ったリファクタリング勉強法のススメ
fuqda
1
1.2k
OSS初心者がつまづきながらOSSマナーを学んでいく話
fuqda
4
3.5k
Ruby2.7の新機能で簡易版Rubyインタプリタを実装してみる
fuqda
0
670
カンファレンスで技術的お土産を 増やすために出来ることを考えた
fuqda
2
620
Other Decks in Programming
See All in Programming
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
430
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
120
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
130
Building an Out-of-Order CPU
latte72
1
750
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
300
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
56
37k
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
270
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
1.1k
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
220
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
360
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
160
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
220
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Designing for Performance
lara
611
70k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Transcript
044ͷ ϓϧϦΫΤετ࡞ͷ खҾ͖ 4503&4%FWϨϏϡʔձ-5ίʔφʔ !GVREB
About me • 201711݄ʹגࣜձࣾϒϥέοτ (ݱSTORES.jp, Inc) ʹJoin • ϓϩμΫτόοΫΤϯυBϥΠϯνʔϜॴଐ •
20182݄ʙݱࡏ Tama.rbͱ͍͏ҬRubyίϛϡχςΟͬͯ·͢
Today’s thema OSSͷ ϓϧϦΫΤετ࡞ͷ खҾ͖
Introduction (ͦΜͳʹଟ͘ͳ͍͚ΕͲ) ͡ͿΜOSSʹϓϧϦΫΤετΛૹΔΑ͏ʹͳͬͯɺ Ϛʔδ·ͰͷྲྀΕ͕΅ΜΓΘ͔ΔΑ͏ʹͳΓ·ͨ͠ ͰɺωοτΛݟͯମܥతʹྲྀΕΛॻ͍ͯΔهࣄͬͯ΄ͱΜ Ͳݟ͔͚ͳ͍… ͱ͍͏Θ͚Ͱɺ͜Ε͔Β͍ͬͯͧ͘ͱ͍͏ਓͷͨΊʹ खҾ͖Λ·ͱΊͯΈΑ͏ͱࢥ͍·͢
͓அΓ ※ ͋͘·Ͱݸਓతܦݧʹج͍ͮͨݟղͳͷͰ ɹͬͱྑ͍ํ๏͕͋Δ͔͠Ε·ͤΜ ɹ(ͦͷ࣌ͬͦ͜Γڭ͍͑ͯͩ͘͞) ※ ࠓճϓϧϦΫΤετΛૹΔ͜ͱΛ͢ͷͰ ɹissueΛཱͯΔ݅ʹ৮Ε·ͤΜ
Today’s Agenda ɾϦϙδτϦͷ୳͠ํ 1. ۀͰ͍ͬͯΔϥΠϒϥϦͷίʔυڍಈͷؾʹͳΔ෦Λ֬ೝͯ͠ΈΔ 2. GitHub help wanted Ͱ୳ͯ͠ΈΔ
ɾϓϧϦΫΤετ࡞(લޙ)ͷྲྀΕ 1. bug(վળϙΠϯτ)Λݟ͚ͭΔ 2. ରϦϙδτϦͷFork 3. ରϦϙδτϦͷίϯτϦϏϡʔγϣϯΨΠυ(ଘࡏ͢Δ߹)ʹΛ௨͢ 4. ίʔυɾυΩϡϝϯτͷमਖ਼ 5. ϓϧϦΫΤετΛ࡞ 6. ϨϏϡʔΛड͚Δ(मਖ਼͋Εదٓ) 7. ϚʔδΛͭ ɾ࣮ɿաڈͷ͘͠͡ΓμΠδΣετ ※ ͕࣌ؒ͋Ε͠·͢
Today’s Agenda ɾϦϙδτϦͷ୳͠ํ 1. ۀͰ͍ͬͯΔϥΠϒϥϦͷίʔυڍಈͷؾʹͳΔ෦Λ֬ೝͯ͠ΈΔ 2. GitHub help wanted Ͱ୳ͯ͠ΈΔ
ɾϓϧϦΫΤετ࡞(લޙ)ͷྲྀΕ 1. bug(վળϙΠϯτ)Λݟ͚ͭΔ 2. ରϦϙδτϦͷFork 3. ରϦϙδτϦͷίϯτϦϏϡʔγϣϯΨΠυ(ଘࡏ͢Δ߹)ʹΛ௨͢ 4. ίʔυɾυΩϡϝϯτͷमਖ਼ 5. ϓϧϦΫΤετΛ࡞ 6. ϨϏϡʔΛड͚Δ(मਖ਼͋Εదٓ) 7. ϚʔδΛͭ ɾ࣮ɿաڈͷ͘͠͡ΓμΠδΣετ ※ ͕࣌ؒ͋Ε͠·͢
1. ۀͰ͍ͬͯΔϥΠϒϥϦͷ ίʔυڍಈͷؾʹͳΔ෦Λ֬ೝͯ͠ΈΔ ɾϥΠϒϥϦʓʓͷσϑΥϧτͷڍಈ͕ ɹͬͱ͜͏ͩͬͨΒͳ͊…ͬͯͳ͍ʁ ɾࣄͰͬͯΔOSSͷίʔυΛಡΜͰΈΔ (OSSͷಡॻձͱ͔ͨ͠ͱ͖νϟϯε͔) ※ ͪͳΈʹɺ΅͘ͷ߹RailsͷίʔυΛಡΜͰ͍ͯɺ ɹͨ·ͨ·ͤͦ͏ͳͱ͜Ζݟ͚ͭͨ͜ͱ͕͋Γ·͢
2. GitHub help wanted Ͱ୳ͯ͠ΈΔ GitHub help wantedͱ͍͏αΠτͰࠔͬͯΔ OSSΛݴޠผʹ୳͢͜ͱ͕ग़དྷΔͷͰܰΊͳ ͷΛݟ͚ͭΔʹ͍͍͔͠Ε·ͤΜ
Today’s Agenda ɾϦϙδτϦͷ୳͠ํ 1. ۀͰ͍ͬͯΔϥΠϒϥϦͷίʔυڍಈͷؾʹͳΔ෦Λ֬ೝͯ͠ΈΔ 2. GitHub help wanted Ͱ୳ͯ͠ΈΔ
ɾϓϧϦΫΤετ࡞(લޙ)ͷྲྀΕ 1. bug(վળϙΠϯτ)Λݟ͚ͭΔ 2. ରϦϙδτϦͷFork 3. ରϦϙδτϦͷίϯτϦϏϡʔγϣϯΨΠυ(ଘࡏ͢Δ߹)ʹΛ௨͢ 4. ίʔυɾυΩϡϝϯτͷमਖ਼ 5. ϓϧϦΫΤετΛ࡞ 6. ϨϏϡʔΛड͚Δ(मਖ਼͋Εదٓ) 7. ϚʔδΛͭ ɾ࣮ɿաڈͷ͘͠͡ΓμΠδΣετ ※ ͕࣌ؒ͋Ε͠·͢
Today’s Agenda ɾϦϙδτϦͷ୳͠ํ 1. ۀͰ͍ͬͯΔϥΠϒϥϦͷίʔυڍಈͷؾʹͳΔ෦Λ֬ೝͯ͠ΈΔ 2. GitHub help wanted Ͱ୳ͯ͠ΈΔ
ɾϓϧϦΫΤετ࡞(લޙ)ͷྲྀΕ 1. bug(վળϙΠϯτ)Λݟ͚ͭΔ 2. ରϦϙδτϦͷFork 3. ରϦϙδτϦͷίϯτϦϏϡʔγϣϯΨΠυ(ଘࡏ͢Δ߹)ʹΛ௨͢ 4. ίʔυɾυΩϡϝϯτͷमਖ਼ 5. ϓϧϦΫΤετΛ࡞ 6. ϨϏϡʔΛड͚Δ(मਖ਼͋Εదٓ) 7. ϚʔδΛͭ ɾ࣮ɿաڈͷ͘͠͡ΓμΠδΣετ ※ ͕࣌ؒ͋Ε͠·͢
1. bug(վળϙΠϯτ)Λݟ͚ͭΔ ex1) σϑΥϧτͷڍಈͷҧײ ʓʓίϚϯυͰੜ͞ΕΔϑΝΠϧɺ σϑΥϧτͰ˚˚͕ແޮʹͳͬͯΔ͚Ͳɺ ຖճ༗ޮʹॻ͖͑ΔͷΊΜͲ͍͘͞ͳ͊… ແޮͰخ͍͠ύλʔϯͳ͘ͳ͍ʁ ex2) υΩϡϝϯτͷमਖ਼
͋Ε!?υΩϡϝϯτͱ࣮ࡍͷίʔυͷڍಈҧ͘ͳ͍ʁ...
2. ରϦϙδτϦͷFork step1. ରϦϙδτϦΛFork͢Δ step2. ࣗͷखݩʹForkͨ͠ϦϙδτϦΛ ϩʔΧϧʹclone͢Δ
2. ରϦϙδτϦͷFork step3. ຊମΛupstream,ࣗͷϦϙδτϦΛ originͱͯ͠ొ ɹɹɹ※ OSSͷ׳शͰݩͷϦϙδτϦΛupstreamɺ ɹɹɹɹɹࣗͷखݩΛoriginͱͯ͠ొ͢Δͱࣗฉ͍ͨͷͰ ɹɹɹɹɹͦ͏ͯ͠·͕͢͜ͷลΓ͓ΈͰ
3. ରϦϙδτϦͷίϯτϦϏϡʔγϣϯΨΠυ (ଘࡏ͢Δ߹)ʹΛ௨͢ ɹ ɹɾRailsͷΑ͏ͳେنͳOSSʹΨΠυ͕ ଘࡏ͢Δ͜ͱ͕ଟ͍ͷͰͦͪΒʹΛ௨͠·͠ΐ͏ ex1) https://guides.rubyonrails.org/contributing_to_ruby_on_rails.html ɹɾແ͍߹ϦϙδτϦͷաڈͷissue ɹɹϓϧϦΫΤετΛݟͯΈΔͱ
ͦͷϦϙδτϦͷงғؾ͕͔ΔͷͰ͓͢͢ΊͰ͢ ɹɹ(Ͳ͏͍͏ϓϧϦΫΤετͩͱϚʔδ͞ΕΔ͔ݟΔͷେࣄ )
4. ίʔυɾυΩϡϝϯτͷमਖ਼ step1. ίʔυͷ֘ՕॴΛमਖ਼ (ͨΓલ͚ͩͲίϛοτϝοηʔδӳޠͰ͢Α) step2. खݩͰςετ͕ύε͢Δ͜ͱΛ֬ೝ ✅ ɹɹɹ
4. ίʔυɾυΩϡϝϯτͷमਖ਼ step3. remoteͱͯ͠ొ͞Ε͍ͯΔϦϙδτϦΛ֬ೝ ɹɹɹ step4. origin(ࣗͷखݩͷ࡞ۀϦϙδτϦ)ϓογϡ͢Δ ɹɹɹ ϓογϡ͕ྃ͢Δͱ ҎԼͷϘλϯ͔Βࣗͷ࡞ۀϦϙδτϦ͔Β
ɹɹɹ GUI্ͰForkݩͷϦϙδτϦʹϓϧϦΫΤετΛ࡞ग़དྷΔΑ͏ʹͳΓ·͢
5. ϓϧϦΫΤετΛ࡞ ForkݩͷϦϙδτϦʹϓϧϦΫΤετΛ࡞͠·͢ɹɹɹ ϓϧϦΫΤετʹॻ͍ͨํ͕͍͍ͱࢥ͏͜ͱ ɹ˞ ProblemɿͲ͏͍͏͕͋ͬͨͷʁ ɹ˞ SolutionɿͲ͏ͨ͠ͷʁ جຊతʹյΕΔमਖ਼Ϛʔδͨ͘͠ͳ͍ͣͳͷͰɺ Before
/ After ͰͲΜͳخ͍͜͠ͱ͕͋Δͷ͔ɺ ͦΕͰͳ͍͜ͱΛ֬ೝͨ͠Αʂͱ͍͏ΤϏσϯεΛৄࡉʹॻ͘ͷ͕͓͢͢ΊͰ͢ ϝϯςφʔ͞Μͷؾ࣋ͪʹͳͬͯ֬ೝͷίετΛݮΒ͠·͠ΐ͏❗ (ٯʹͪΌΜͱॻ͔ͳ͍ͱӳޠͰΊͬͪΌ࣭͞ΕͯࠔΔͷͰɺ΅͘ҰܸͰཹΊΔͨΊʹ ͳΔ͘ৄ͘͠ॻ͘Α͏ʹ͍ͯ͠·͢)
6. ϨϏϡʔΛड͚Δ(मਖ਼͋Εదٓ) ӳޠͰٞʹಥೖ͢Δͱେมݫ͍͠Ͱ͕͢ɺ େ͖ͳमਖ਼(ഁյతͳมߋ)Λͨ͠Γ͢Δͱ ආ͚ΒΕͳ͍͜ͱଟ͍ͷͰ͍͖ͬͯ·͠ΐ͏
7. ϚʔδΛͭ Ұ௨Γमਖ਼͕ٞऴΘͬͨΒϚʔδ͞ΕΔ͜ͱΛ ئ͍ͭͭͪ·͠ΐ͏
Today’s Agenda ɾϦϙδτϦͷ୳͠ํ 1. ۀͰ͍ͬͯΔϥΠϒϥϦͷίʔυڍಈͷؾʹͳΔ෦Λ֬ೝͯ͠ΈΔ 2. GitHub help wanted Ͱ୳ͯ͠ΈΔ
ɾϓϧϦΫΤετ࡞(લޙ)ͷྲྀΕ 1. bug(վળϙΠϯτ)Λݟ͚ͭΔ 2. ରϦϙδτϦͷFork 3. ରϦϙδτϦͷίϯτϦϏϡʔγϣϯΨΠυ(ଘࡏ͢Δ߹)ʹΛ௨͢ 4. ίʔυɾυΩϡϝϯτͷमਖ਼ 5. ϓϧϦΫΤετΛ࡞ 6. ϨϏϡʔΛड͚Δ(मਖ਼͋Εదٓ) 7. ϚʔδΛͭ ɾ࣮ɿաڈͷ͘͠͡ΓμΠδΣετ ※ ͕࣌ؒ͋Ε͠·͢
Today’s Agenda ɾϦϙδτϦͷ୳͠ํ 1. ۀͰ͍ͬͯΔϥΠϒϥϦͷίʔυڍಈͷؾʹͳΔ෦Λ֬ೝͯ͠ΈΔ 2. GitHub help wanted Ͱ୳ͯ͠ΈΔ
ɾϓϧϦΫΤετ࡞(લޙ)ͷྲྀΕ 1. bug(վળϙΠϯτ)Λݟ͚ͭΔ 2. ରϦϙδτϦͷFork 3. ରϦϙδτϦͷίϯτϦϏϡʔγϣϯΨΠυ(ଘࡏ͢Δ߹)ʹΛ௨͢ 4. ίʔυɾυΩϡϝϯτͷमਖ਼ 5. ϓϧϦΫΤετΛ࡞ 6. ϨϏϡʔΛड͚Δ(मਖ਼͋Εదٓ) 7. ϚʔδΛͭ ɾ࣮ɿաڈͷ͘͠͡ΓμΠδΣετ ※ ͕࣌ؒ͋Ε͠·͢
࣮ɿաڈͷ͘͠͡ΓμΠδΣετ ݸਓతʹΓ͕͔ͪͳͱࢥ͏͘͠͡ΓΛڞ༗ աڈissueಡ·ͳ͍ͰϓϧϦΫ࡞ͬͨΒ߈Ϋϩʔζ͞ Εͨ݅ ഁյతมߋͨ͠ΒόνϘίʹٞʹͳͬͯݫ͔ͬͨ͠ ݅ ӳޠͲ͏͠Α͏…ͰΜͰमਖ਼ऴΘͬͯΔͷʹिؒϓ ϧϦΫग़ͤͳ͔ͬͨ݅
աڈissueಡ·ͳ͍ͰϓϧϦΫ࡞ͬͨΒ ߈Ϋϩʔζ͞Εͨ݅ ɾաڈ͢Ͱʹٞ͞Εͯ٫Լ͞ΕͯΔमਖ਼Λͯ͠͏ͨ ͦͷ݅ʹ͍ͭͯ ͏աڈʹٞͯ͠Δ͔Β Ϋϩʔζ͢Δͥ
ڭ܇ ɾ͡ͿΜ͕ࢥ͍͘Α͏ͳ͜ͱ ɹଞਓ͕͏͢Ͱʹߟ͍͑ͯΔ͜ͱ͕ଟ͍ աڈissue / PR Λݟͯ͡ͿΜͱಉ͡ҙࣝ ͷٞɾमਖ਼ͰΫϩʔζ͞Εͨͷ͕ͳ͍͔ ɹཁ֬ೝ (·͔ͨΑͬͯͳͬͪΌ͏ͷͰ…)
ɾେ͖ͳOSSͩͱGitHubͷissueͰͳ͘JIRAͰ νέοτཧͯ͠Δ߹͋ΔͷͰGitHubҎ֎ దٓνΣοΫ͔ͯ͠ΒϓϧϦΫΤετΛ͛Α͏ ✅
ഁյతมߋͨ͠ΒόνϘίʹ ٞʹͳͬͯݫ͔ͬͨ݅͠ ɾ͕࣌ؒΓͳ͍ͷͰৄࡉׂѪ͠·͢ σϑΥϧτͷڍಈ͕ มΘΔͷݫ͍͠ͳ͊ʜ
ڭ܇ ɾ͜Ε͔ΒೖΕΔมߋطଘϢʔβʔͷ ෆརӹʹͳΒͳ͍͔ʁߟ͑Δ มߋىҼͰσϑΥϧτͷڍಈ͕มΘΔ߹ Φϓγϣϯͷ༗ແͰطଘͷڍಈΛҡ࣋ग़དྷΔ ɹΑ͏ʹ͢ΔͳͲҰఆͷྀ͕ඞཁ⚠ ※ ิ ɹഁյతͳมߋϥΠϒϥϦͷϝδϟʔόʔδϣϯΞοϓϦϦʔεΛ ཁٻ͢Δ͜ͱʹͳΔ
ϚΠφʔόʔδϣϯϦϦʔεʹࠞͥͮΒ͍ = Ϛʔδͮ͠Β͍
ӳޠͲ͏͠Α͏…ͰΜͰमਖ਼ ऴΘͬͯΔͷʹिؒϓϧϦΫग़ͤͳ͔ͬͨ݅ มͳӳޠͩͱʮwwwʯͬͯࢥΘΕͳ͍͔ ΊͪΌΊͪΌ৺ͩͬͨ… ԿݴͬͯΔΜͩίΠπXXX
৺ͳ͍
݁ߏɺ ͍ӳޠͷਓ ଟ͍ͧ ͋͘·ͰݸਓతͳମײͰ͢
ڭ܇ ɾجຊతʹίʔυͷdiffʹΛ௨ͣ͢ ͳͷͰɺӳޠ͕ᘳͰͳͯ͘ ͱ͍͑ɺࣄͱಉ͡Α͏ʹ࣮ͷഎܠ ͳʹΛ͠Α͏ͱࢥͬͯΔ͜ͱΛ͑Δྗ େࣄ આ໌͕͍͠߹ྫͱͯ͠ίʔυαϯϓϧΛ descriptionʹࡌͤΔͱΘΓ͍͢ͷͰ ͓͢͢ΊͰ͢
·ͱΊ
ɾϓϧϦΫΤετͷωλ ɹීஈͷۀͰݟ͚ͭΒΕΔ ɾϓϧϦΫΤετ࡞͔ΒϚʔδͷྲྀΕ ɹجຊతʹ௨ৗͷ(JU)VC'MPXͱಉ͡ ɾमਖ਼༰ʹৗʹݱࡏͷϢʔβʔͱ ɹϝϯςφʔ͞ΜͷྀΛఴ͑ͯ ɾϝϯςφʔ͞Μ͕Ϛʔδ͢Δͷʹඞཁͳใ͕ ɹἧͬͯΔ͔Λߟ͑ͯ࡞Ε͍ӳޠͰΘΔ
ϓϧϦΫΤετʹͳΔͷͰ৺͠ͳͯ͘େৎ
044׆ಈָ͍͠Ͱ͢Α☺ ·ͩͷํ͜ͷػձʹ νϟϨϯδ ͯ͠Έ·ͤΜ͔ʁ
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠