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.8k
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 (en)
yuichielectric
1
110
GitHub Copilot Tips and Tricks
yuichielectric
40
15k
How GitHub uses Codespaces
yuichielectric
3
1.1k
30分でわかるシステム運用アンチパターン / Operations Anti Patterns in 30 minutes
yuichielectric
12
18k
オープンソースのベストプラクティスを企業内で実践/How to implement InnerSource
yuichielectric
12
17k
GitHubにおける継続的デリバリー/How GitHub builds and deploy software
yuichielectric
12
4.1k
GitHubにおける GitHub Actions利用法/How GitHub uses GitHub Actions
yuichielectric
7
700
GitHub Pro Tips
yuichielectric
0
190
Other Decks in Programming
See All in Programming
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
560
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
870
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
300
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
580
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
630
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
590
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
300
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.3k
return文におけるstd::moveについて
onihusube
1
1.4k
良いユニットテストを書こう
mototakatsu
11
3.6k
ASP.NET Core の OpenAPIサポート
h455h1
0
110
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Making the Leap to Tech Lead
cromwellryan
133
9k
Thoughts on Productivity
jonyablonski
68
4.4k
Become a Pro
speakerdeck
PRO
26
5.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Designing Experiences People Love
moore
139
23k
Bash Introduction
62gerente
610
210k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
How to Ace a Technical Interview
jacobian
276
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
860
Statistics for Hackers
jakevdp
797
220k
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