Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
実践 OSSことはじめ / First Step for OSS Contribution
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Masashi Hirano
April 23, 2020
Programming
11k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実践 OSSことはじめ / First Step for OSS Contribution
OSSへの貢献に関して社内の勉強会で発表しました。
OSSへの貢献に関心のある方の参考にしてください。
Masashi Hirano
April 23, 2020
More Decks by Masashi Hirano
See All by Masashi Hirano
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
5.2k
Protocol Buffers and Connect for Frontend Development
masashi
0
180
You may not need XXX in Node.js
masashi
5
2.1k
OSSとコミュニティを支える
masashi
1
2.4k
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
masashi
1
3.9k
フロントエンド開発のためのセキュリティ入門について
masashi
1
620
フロントエンド開発のためのセキュリティ入門
masashi
50
19k
Node.jsの2022年と未来 / Node.js in 2022 and Future
masashi
1
1.2k
Corepack ~Node.jsに追加されたパッケージマネージャーマネージャー~ / #tng37
masashi
3
13k
Other Decks in Programming
See All in Programming
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
130
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
150
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.3k
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
240
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
960
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.8k
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
ActionController meets Protocol Buffers
sorah
1
710
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
220
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
110
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
150
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
260
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Abbi's Birthday
coloredviolet
4
10k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
560
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
500
Accessibility Awareness
sabderemane
1
260
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
280
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