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
8
1.7k
InnerSourceのすすめ / InnerSource
企業内のソフトウェア開発にOSSのベストプラクティスを取り入れるやり方
Yuichi Tanaka
February 15, 2019
Tweet
Share
More Decks by Yuichi Tanaka
See All by Yuichi Tanaka
GitHub Copilot Tips and Tricks
yuichielectric
29
10k
How GitHub uses Codespaces
yuichielectric
3
840
30分でわかるシステム運用アンチパターン / Operations Anti Patterns in 30 minutes
yuichielectric
12
16k
オープンソースのベストプラクティスを企業内で実践/How to implement InnerSource
yuichielectric
12
11k
GitHubにおける継続的デリバリー/How GitHub builds and deploy software
yuichielectric
12
3.7k
GitHubにおける GitHub Actions利用法/How GitHub uses GitHub Actions
yuichielectric
7
640
GitHub Pro Tips
yuichielectric
0
160
Other Decks in Programming
See All in Programming
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
1.1k
Folding Cheat Sheet #4
philipschwarz
PRO
0
110
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
6
1.9k
Going beyond Apache Parquet's default settings
xhochy
0
140
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
580
業務ツールとして使うPostman
msys75
0
120
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
140
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
1.1k
Tailwind CSSを本気でカスタマイズする方法
fsubal
15
5.6k
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
490
TypeScriptのパフォーマンス改善
yajihum
3
790
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
2
410
Featured
See All Featured
Visualization
eitanlees
137
14k
Ruby is Unlike a Banana
tanoku
96
10k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Code Review Best Practice
trishagee
56
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Designing with Data
zakiwarfel
96
4.8k
How GitHub (no longer) Works
holman
305
140k
Unsuck your backbone
ammeep
664
57k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Agile that works and the tools we love
rasmusluckow
325
20k
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