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
InnerSourceのすすめ / InnerSource
Search
Yuichi Tanaka
February 15, 2019
Programming
2k
8
Share
InnerSourceのすすめ / InnerSource
企業内のソフトウェア開発にOSSのベストプラクティスを取り入れるやり方
Yuichi Tanaka
February 15, 2019
More Decks by Yuichi Tanaka
See All by Yuichi Tanaka
GitHub Copilot Tips and Tricks (en)
yuichielectric
1
310
GitHub Copilot Tips and Tricks
yuichielectric
43
20k
How GitHub uses Codespaces
yuichielectric
3
1.3k
30分でわかるシステム運用アンチパターン / Operations Anti Patterns in 30 minutes
yuichielectric
13
20k
オープンソースのベストプラクティスを企業内で実践/How to implement InnerSource
yuichielectric
12
18k
GitHubにおける継続的デリバリー/How GitHub builds and deploy software
yuichielectric
12
4.5k
GitHubにおける GitHub Actions利用法/How GitHub uses GitHub Actions
yuichielectric
7
810
GitHub Pro Tips
yuichielectric
0
260
Other Decks in Programming
See All in Programming
Feature Toggle は捨てやすく使おう
gennei
0
410
へんな働き方
yusukebe
6
2.9k
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
2.8k
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
150
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
170
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
120
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
550
AI活用のコスパを最大化する方法
ochtum
0
370
iOS機能開発のAI環境と起きた変化
ryunakayama
0
140
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
390
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
140
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
350
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
460
Git: the NoSQL Database
bkeepers
PRO
432
67k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
980
Code Reviewing Like a Champion
maltzj
528
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Faster Mobile Websites
deanohume
310
31k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.7k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
170
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
310
Transcript
OSS։ൃελΠϧΛ औΓೖΕ ͯޮతͳ։ൃΛʂ 15-D-4 #devsumiD
Who am I? Yuichi Tanaka Solutions Engineer a yuichielectric yuichielectric
None
SHARE YOUR FUN! GitHubʹೖͬͯײͨ͡تͼ
2018/08ʹGitHubʹೖࣾ
URLͷؒҧ͍Λൃݟ
README.mdʹ͜Μͳهࡌ͕ ʢ͋ͳͨͷग़൪Ͱ͢ɺ͋ͳͨͷίϯτϦϏϡʔτ͕ඞཁͰ͢ʂʣ
Pull Request
None
ϨϏϡΞʔ͕ࣗಈͰઃఆ͞ΕΔ
Continuous Integration • ϑΝΠϧ໊ͷνΣοΫ • υΩϡϝϯτͷελΠϧͷνΣοΫ
bot͕࣍Λࣗಈੜ
ϨϏϡʔOKʂ
ࣾͰOSSΛ࣮ફ • ߩݙͰ͖Δتͼ • ॏෳͨ͠ແବͳ࡞ۀ͕ͳ͍ • ߴ͍ੜ࢈ੑ
InnerSource
اۀͷιϑτΣΞ։ൃ๊͕͑Δ • ιʔείʔυυΩϡϝϯτ͕؆୯ʹݕࡧͰ͖ͳ͍ • ৫ͷࣝڞ༗͕͏·͘Ͱ͖͍ͯͳ͍ • ࣾͷιϑτΣΞͷ࠶ར༻ੑ͕͍ • νʔϜؒͷίϛϡχέʔγϣϯίετ͕ߴ͍
None
None
None
None
InnerSourceͱΦʔϓϯιʔεͷ ϕετϓϥΫςΟεΛاۀͷιϑτΣΞ ։ൃʹద༻͢ΔऔΓΈͷ͜ͱ
InnerSourceͷΰʔϧ • ίʔυͷ࠶ར༻ • νʔϜΛލ͍ͩίϥϘϨʔγϣϯ • ࣭ͷߴ͍ιϑτΣΞΛΑΓߴʹ։ൃ
InnerSourceΛ͍͔ʹ ࣮ફ͢Δ͔ʁ
πʔϧจԽΛม͑Δ৮ഔ • จԽΛม͑Δͷͱͯେม • ͔͠͠ɺπʔϧΛಋೖ͢Δ͜ͱͰ ͦΕΛ͏ਓͷߦಈ͕มΘΔ • ͦΕ͕จԽ͕มΘΔ͖͔͚ͬͱͳΔ
1. ใΛڞ༗͢Δج൫Λ౷Ұ͢Δ • ·ͣଞͷਓ͕ݟΔ͜ͱ͕Ͱ͖ΔΑ͏ʹ͠ͳ͍ͱ ࢝·Βͳ͍ɻ • ӾཡͰ͖ΔਓΛ੍ݶ͓ͯ͘͠໌֬ͳཧ༝͕ͳ͍ݶΓ ύϒϦοΫʹ͓ͯ͘͠ɻ • ݕࡧͰ͖ΔΑ͏ʹͳΔͷඇৗʹେࣄɻ
͋ΒΏΔίϯςϯπʹURL ʮ͜͏͍͏ػೳΛ͋ͳͨͷϓϩδΣΫτʹ Ճ͍ͨ͠ΜͰ͚͢Ͳʯ ʮͦ͏Ͱ͔ͨ͠ɻɻʯ ʮ͋ʔɺͦΕڈݕ౼ͯ͠Βͳ͍ ͜ͱʹͨ͠ΜͰ͢ʯ
͋ΒΏΔίϯςϯπʹURL ʮ͜͏͍͏ػೳΛ͋ͳͨͷϓϩδΣΫτʹ Ճ͍ͨ͠ΜͰ͚͢Ͳʯ ʮͳΔ΄Ͳɺͦ͏͍͏ཧ༝ͩͬͨΜͰ͢Ͷɻ ࣌બࢶʹͳ͔ͬͨʓʓͱ͍͏Γํ ͋Δͱࢥ͏ͷͰ͕͢Ͳ͏Ͱ͠ΐ͏ʁʯ ʮ͋ʔɺͦΕڈݕ౼ͯ͠Βͳ͍ ͜ͱʹͨ͠Μͩɻͦͷ࣌ͷٞͩ͜͜Α https://github.com/hogehoge/fuga/issues/2139ʯ ɾɾɾ
2. ίϯτϦϏϡʔτͷํΛ໌֬ʹ • ίϯτϦϏϡʔτͷෑډΛԼ͛Δ • νʔϜ֎͔ΒͷίϯτϦϏϡʔτΛ ܴ͍ͯ͠Δ͜ͱΛ໌ه • ίϯτϦϏϡʔτͷ۩ମతͳखॱΛ໌ه https://github.com/asciidwango/js-primer
CONTRIBUTING.md • όάϨϙʔτͷొͷํ • ػೳཁͷొͷํ • Pull RequestͷૹΓํ • Pull
RequestΛड͚ೖΕΔ݅ • ϨϏϡʔϓϩηε
https://github.com/asciidwango/js-primer/blob/master/CONTRIBUTING.md
Issue/PR Template
3. ϫʔΫϑϩʔͷࣗಈԽ • มߋʹ༰ʹͬͯϨϏϡΞʔΛࣗಈͰઃఆ • PR͕ϚʔδՄೳͱͳΔ݅ͷ໌֬Խ • υΩϡϝϯταΠτͷࣗಈੜ • ͦͷଞͷϫʔΫϑϩʔࣗಈԽ
CODEOWNERS • ϑΝΠϧͷछྨσΟϨΫτϦຖʹΦʔφʔΛࢦఆՄೳ • JavaScriptͷमਖ਼ϑϩϯτΤϯυνʔϜ • όοΫΤϯυͷमਖ਼όοΫΤϯυνʔϜ • CSSը૾ͷमਖ਼σβΠϯνʔϜ
# ΦʔφʔݸਓͰνʔϜͰྑ͍ * @global-owner1 @global-owner2 *.js @frontend-team *.go @backend-team *.css
@design-team /build/logs/ @infra-team docs/* @mr-document
CI + Protected Branch
GitHub Pages
None
GitHub Actions
GitHub Actions • GitHub্ͷଟ͘ͷΠϕϯτͰτϦΨʔՄೳ • CI/CDతͳ͍ํ͚ͩͰͳ͘ɺࡉ͔ͳϫʔΫϑϩʔ ࣗಈԽʹ༗ޮ • ྫ •
ϚʔδࡁΈͷϒϥϯνΛআ͢Δ • ϚʔΫμϯͷ࣍Λੜ͢Δ • WIPͳPRΛؒҧͬͯϚʔδ͠ͳ͍Α͏ʹ͢Δ
InnerSourceΛଅਐ͢ΔΈ 1. ใΛڞ༗͢Δج൫Λ౷Ұ͢Δ 2. ίϯτϦϏϡʔτͷํΛ໌֬ʹ͢Δ 3. ϫʔΫϑϩʔΛࣗಈԽ͢Δ
None
org/devGroupA org/devGroupB org/devGroupC
org/devGroupA org/devGroupB org/devGroupC org/javascript-devs org/security org/SQL
PayPal͕ૺ۰ͨ͠ • ଞνʔϜ͔ΒͷPRͷϨϏϡʔΛ୭͕Δ͔ʁ • ϘϥϯςΟΞͩͱɺ୭Βͳ͍ • ࣗͷϓϩδΣΫτͷλεΫΛ༏ઌ͕ͪ͠
Trusted Committers • ଞνʔϜ͔ΒͷΠγϡʔͷରԠ • ଞνʔϜ͔ΒͷϓϧϦΫΤετͷϨϏϡʔ • υΩϡϝϯτͷඋ • ྑ͍ϓϧϦΫΤετΛ࡞ΔͨΊͷखॱ
• ػೳཁɾόάϨϙʔτΛ͛Δखॱ • ྃͷఆٛ • Ϗϧυϓϩηεͷ໌จԽ • ίʔσΟϯάنͷඋ • ϫʔΫϑϩʔࣗಈԽ
Trusted Committers • ՝ • ίʔσΟϯά͢Δ͕࣌ؒ͋·Γແ͍ͷͰෆධ • ϓϩδΣΫτͷ͋ΒΏΔྖҬͷϨϏϡʔ͕དྷͯେม • ղܾࡦ
• εϓϦϯτຖͷ൪੍ • ൪දΛυΩϡϝϯτԽ • ֤ϝϯόʔ͕ಘҙͳྖҬυΩϡϝϯτԽ
·ͱΊ • ৫ͰOSSతʹιϑτΣΞ։ൃΛ͢Δ͜ͱ ߴ͍ੜ࢈ੑɺߴ࣭ͳιϑτΣΞʹܨ͕Δ • GitHubΛ͏·ͬͯ͘৫มֵͷ͖͔͚ͬʹ͠Α͏ • ใΛڞ༗͢Δج൫Λ౷Ұ͢Δ • ίϯτϦϏϡʔτͷํΛ໌֬ʹ͢Δ
• ϫʔΫϑϩʔΛࣗಈԽ͢Δ
ࢀߟࢿྉ
InnerSource https://www.oreilly.com/programming/free/getting-started-with-innersource.csp
InnerSource http://paypal.github.io/InnerSourceCommons/checklist/
InnerSource Commons http://paypal.github.io/InnerSourceCommons/
Open Source Guides https://opensource.guide/
ຊޠ༁ϓϩδΣΫτਐߦத https://github.com/github/opensource.guide/pull/702
CONTRIBUTING.md • CONTRIBUTING-template • https://github.com/nayafia/contributing-template/blob/master/ CONTRIBUTING-template.md • MozillaʹΑΔCONTRIBUTING.mdͷॻ͖ํ • https://mozillascience.github.io/working-open-workshop/contributing/
• ຊޠͷCONTRIBUTING.mdͷྫ • https://github.com/asciidwango/js-primer/blob/master/CONTRIBUTING.md
8 https://github.co.jp 1