Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
InnerSourceのすすめ / InnerSource
Yuichi Tanaka
February 15, 2019
Programming
8
1.5k
InnerSourceのすすめ / InnerSource
企業内のソフトウェア開発にOSSのベストプラクティスを取り入れるやり方
Yuichi Tanaka
February 15, 2019
Tweet
Share
More Decks by Yuichi Tanaka
See All by Yuichi Tanaka
How GitHub uses Codespaces
yuichielectric
2
450
30分でわかるシステム運用アンチパターン / Operations Anti Patterns in 30 minutes
yuichielectric
11
11k
オープンソースのベストプラクティスを企業内で実践/How to implement InnerSource
yuichielectric
12
8.5k
GitHubにおける継続的デリバリー/How GitHub builds and deploy software
yuichielectric
12
3k
GitHubにおける GitHub Actions利用法/How GitHub uses GitHub Actions
yuichielectric
7
570
GitHub Pro Tips
yuichielectric
0
110
Other Decks in Programming
See All in Programming
Most Valuable Bug(?) ~インシデント未遂から得た学び~
tatsumiakahori
0
140
T3 Stack and TypeScript ecosystem
quramy
3
680
ITエンジニア特化型Q&Aサイトteratailを 言語、DB、クラウドなど フルリプレイスした話
leveragestech
0
380
An Advanced Introduction to R
nicetak
0
1.6k
花き業界のサプライチェーンを繋げるプロダクト開発の進め方
userlike1
0
100
中小企業開発事例から見るサーバーレス
seike460
PRO
4
1.5k
あなたと 「|」 したい・・・
track3jyo
PRO
2
1k
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
yutorin
0
200
Functional Data Engineering - A Blueprint for adopting functional principles in data pipeline
vananth22
0
160
スタック・オーバーフローに コントリビュートしはじめて良かったこと🐣
takuyakikuchi
1
120
Swift Expression Macros: a practical introduction
kishikawakatsumi
2
700
PHPDocにおける配列の型定義を少し知る
shimabox
1
120
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
261
26k
Support Driven Design
roundedbygravity
88
8.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
254
12k
Rebuilding a faster, lazier Slack
samanthasiow
69
7.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
31
20k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
214
12k
Code Reviewing Like a Champion
maltzj
508
38k
Scaling GitHub
holman
453
140k
The Pragmatic Product Professional
lauravandoore
21
3.4k
Web development in the modern age
philhawksworth
197
9.6k
Robots, Beer and Maslow
schacon
154
7.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
31
1.8k
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