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.2k
InnerSourceのすすめ / InnerSource
企業内のソフトウェア開発にOSSのベストプラクティスを取り入れるやり方
Yuichi Tanaka
February 15, 2019
Tweet
Share
More Decks by Yuichi Tanaka
See All by Yuichi Tanaka
yuichielectric
10
3.9k
yuichielectric
11
2k
yuichielectric
7
500
yuichielectric
0
84
Other Decks in Programming
See All in Programming
o0h
PRO
0
280
ajstarks
2
750
minecr
0
110
yusuke57
2
270
thatjeffsmith
0
610
inoue2002
1
280
track3jyo
3
220
amakza
0
170
dunglas
5
4.2k
deepu105
0
230
rockname
1
320
chimerast
0
320
Featured
See All Featured
malarkey
193
8.7k
brianwarren
82
4.8k
sstephenson
146
12k
reverentgeek
27
2.1k
jlugia
217
16k
swwweet
206
6.9k
brettharned
93
3.1k
jrom
116
7.2k
jnunemaker
PRO
40
4.7k
nonsquared
81
3.4k
kneath
220
15k
iamctodd
22
2.1k
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