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
実践 OSSことはじめ / First Step for OSS Contribution
Search
Masashi Hirano
April 23, 2020
Programming
4
11k
実践 OSSことはじめ / First Step for OSS Contribution
OSSへの貢献に関して社内の勉強会で発表しました。
OSSへの貢献に関心のある方の参考にしてください。
Masashi Hirano
April 23, 2020
Tweet
Share
More Decks by Masashi Hirano
See All by Masashi Hirano
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
4.4k
Protocol Buffers and Connect for Frontend Development
masashi
0
140
You may not need XXX in Node.js
masashi
5
1.7k
OSSとコミュニティを支える
masashi
1
1.9k
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
masashi
1
3.6k
フロントエンド開発のためのセキュリティ入門について
masashi
1
580
フロントエンド開発のためのセキュリティ入門
masashi
50
18k
Node.jsの2022年と未来 / Node.js in 2022 and Future
masashi
1
1.1k
Corepack ~Node.jsに追加されたパッケージマネージャーマネージャー~ / #tng37
masashi
3
13k
Other Decks in Programming
See All in Programming
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
370
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
170
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
360
CSC307 Lecture 15
javiergs
PRO
0
220
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
200
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
450
atmaCup #23でAIコーディングを活用した話
ml_bear
4
750
浮動小数の比較について
kishikawakatsumi
0
380
Fundamentals of Software Engineering In the Age of AI
therealdanvega
1
220
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
150
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
290
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
99
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
470
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
A Tale of Four Properties
chriscoyier
163
24k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
80
Facilitating Awesome Meetings
lara
57
6.8k
Between Models and Reality
mayunak
2
230
The Cult of Friendly URLs
andyhume
79
6.8k
Transcript
࣮ફ OSS͜ͱ͡Ί Masashi Hirano (@shisama)
ฏ ণ࢜ / Masashi Hirano @shisama_ shisama Node.js Core Collaborator
λʔήοτ • OSSߩݙʹؔ৺͕ͳ͍ਓ • OSSߩݙʹؔ৺͋Δ͚ͲɺͲ͏͢Ε͍͍͔Θ͔Βͳ͍ਓ
͜ͷLTͷΰʔϧ • OSSߩݙʹগ͠Ͱؔ৺ΛͬͯΒ͏ • OSSߩݙͷ۩ମతΠϝʔδΛͬͯΒ͏ ্هΛୡʹࢲͷܦݧ͕ʹཱͯخ͍͠
OSSߩݙԿ͔Β࢝ΊΕ͍͍ͷ…?
ߩݙ͢ΔOSSͷϧʔϧΛΖ͏ • ҎԼ͕͋Εඞͣಡ͏ • ߦಈنൣ (Code of Conduct) ϋϥεϝϯτ͠ͳ͍͜ͱͳͲͨΓલͷ͜ͱ͕ॻ͔Ε͍ͯΔ͜ͱ͕ଟ͍ •
ίϯτϦϏϡʔγϣϯΨΠυ (CONTRIBUTING.md) ίϛοτϝοηʔδͷॻ͖ํʮίϛοτલςετΛ࣮ߦ͠·͠ΐ͏ʯͱ͔ Δ͜ͱ͕ॻ͔Ε͍ͯΔ
issue • όάใࠂ • ݪҼΘ͔Βͳͯ͘όά͔ͱࢥͬͨΒissueొ • ػೳཁ • ࡞ऀɾϝϯςφϢʔβʔͷΛ͍ͬͯ·͢
υΩϡϝϯτͷमਖ਼ • typo • misspell (github.com/client9/misspell) Λ͑ίϚϯυҰൃͰݟ͔ͭΔ • ףࢺɻ’the the
‘Ͱgrep͢ΔɻGrammarlyͳͲจ๏νΣοΧʔΛ͏ • දݱ • ෆ໌ྎͳจষͷॻ͖͠ • ੍͕࣌લޙͰ߹Θͳ͍จষͷमਖ਼
υΩϡϝϯτͷमਖ਼ • αϯϓϧίʔυ • υΩϡϝϯτREADMEʹ͍ํ͕ࡌ͍ͬͯͳ͍ͱ͖αϯ ϓϧίʔυΛՃ • αϯϓϧίʔυςετίʔυ͔Βഈआ • मਖ਼લʹissueͰ࣭ͯ͠Έͯྑ͍
υΩϡϝϯτͷ༁ https://github.com/gatsbyjs/gatsby-ja/issues/1
ςετίʔυ • ΧόϨοδΛݟͯςετΛՃ͢Δ • ৽ػೳΧόϨοδ͕͍ • ෆ҆ఆͳςετ(flaky test)Λमਖ਼͢ΔʢқߴΊʣ • ςετίʔυ͔ΒֶͿ͜ͱଟ͍
https://coverage.nodejs.org/
ґଘϥΠϒϥϦͷΞοϓσʔτ • ϥΠϒϥϦΛΞοϓσʔτͯ͠ςετΛ௨͢ • ϝδϟʔόʔδϣϯͷΞοϓσʔτ͍͠ • ݹ͍ϥΠϒϥϦΛ࠷ۙͷϥΠϒϥϦʹஔ͖͑ • e.g. TSLint
-> ESLintɺrequest -> axios
OSS׳Ε͖ͯͨͷͰίʔυΛ৮Γ͍ͨΜ͕ͩ…
όάमਖ਼ • ఆ֎ͷͷόϦσʔγϣϯՃ • null͕Ҿʹ͘Δ͜ͱ͕ఆ͞Ε͍ͯͳ͍͜ͱΑ͋͘Δ • ϥΠϒϥϦʹύονΛͯΔલʹຊՈʹPull RequestΛૹΖ͏ • ϥΠϒϥϦʹಠࣗύονΛͯΔӡ༻ͩͱϥΠϒϥϦͷΞοϓσʔτ࣌ʹύονͷमਖ਼
͕ඞཁʹͳΔ • ηΩϡϦςΟύον • ੬ऑੑใࠂͳͲͷݪҼ͕OSSʹ͋ͬͨ߹issueΛొ͢Δ
ػೳՃ • ͜Ε͕͋ͬͨΒศརͱࢥͬͨػೳissueͰఏҊͯ͠ΈΔ • Ϣʔεέʔεࠔ͍ͬͯΔ͜ͱΛΘ͔Γ͘͢ॻ͘ • ଞͷOSSݴޠʹ͋ΔػೳΛఏҊͯ͠ΈΔ • ෦ͰͷΈ͍ͬͯͨػೳΛެ։͢Δ
෦ͰͷΈ͍ͬͯͨػೳΛެ։͢Δ ෦Ͱ͔͠ΘΕ͍ͯͳ͔ͬͨ ςετ༻ͷศརؔΛ APIͱͯ͠ެ։͍ͯ͠Δ https://github.com/nodejs/node/issues/32912
ϦϑΝΫλϦϯά • ݴޠϥΠϒϥϦͷݹ͍ػೳΛॻ͖͑Δ • JSͷ߹ɺasync/awaitΞϩʔؔ, let/constͳͲ • Deprecated ͳػೳΛॻ͖͑Δ •
ܕΛ͚Δ • JavaScript -> TypeScript ॻ͖͑ʢࣄલʹ߹ҙͳͲඞཁʣ • any ΛͪΌΜͱͨ͠ܕʹॻ͖͑Δ • ܕ͕ແ͍ϥΠϒϥϦd.tsΛ࡞ͬͨΓDefinitelyTyped (@types/xxx) ʹܕΛొ
OSS׆ಈͷোนʹͳΓ͍͢ͱ͜Ζ
ӳޠ • Google ༁ɺDeepLͰશવ௨͡Δ • ૬खӳޠݍͰͳ͍͜ͱ͋ΔͷͰɺؾʹ͠ͳͯ͘ྑ͍ • μϒϧΫΥʔςʔγϣϯͰғͬͯݕࡧͯ݅͠ΛݟΔ
OSSʹׂ͕࣌ؒ͘ͳ͍ https://cybozu-oss-policy.readthedocs.io/ja/latest/index.html αΠϘζۀதʹOSS׆ಈ͢Δ͜ͱ͕ೝΊΒΕ͍ͯΔ https://cybozu-oss-policy.readthedocs.io/ja/latest/index.html
ͲΜͳOSSʹߩݙ͢Ε͍͍͔Θ͔Βͳ͍ FEνʔϜOSSͷωλΛஷΊ͍ͯͨΓɺ ίϯτϦϏϡʔγϣϯΛཧ͍ͯ͠ΔͷͰ͍ͯΈ͍ͯͩ͘͞ʂ૬ஊঝΓ·͢ʂʂ
·ͱΊ • OSSͷߩݙํ๏༷ʑ • αΠϘζOSS׆ಈ͢Δͷʹྑ͍ڥ • ؆୯ͳͷ͔Β࢝Ί·͠ΐ͏ʂ
Thanks. @shisama_ shisama