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.1k
Protocol Buffers and Connect for Frontend Development
masashi
0
130
You may not need XXX in Node.js
masashi
5
1.6k
OSSとコミュニティを支える
masashi
1
1.6k
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
masashi
1
3.6k
フロントエンド開発のためのセキュリティ入門について
masashi
1
560
フロントエンド開発のためのセキュリティ入門
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
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
Graviton と Nitro と私
maroon1st
0
150
TestingOsaka6_Ozono
o3
0
240
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4.1k
Implementation Patterns
denyspoltorak
0
140
gunshi
kazupon
1
130
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
300
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
420
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
130
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
180
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
560
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
63
Making Projects Easy
brettharned
120
6.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Agile that works and the tools we love
rasmusluckow
331
21k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
410
Speed Design
sergeychernyshev
33
1.5k
Docker and Python
trallard
47
3.7k
It's Worth the Effort
3n
187
29k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
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