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
11k
4
Share
実践 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
4.5k
Protocol Buffers and Connect for Frontend Development
masashi
0
150
You may not need XXX in Node.js
masashi
5
1.8k
OSSとコミュニティを支える
masashi
1
1.9k
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
masashi
1
3.7k
フロントエンド開発のためのセキュリティ入門について
masashi
1
580
フロントエンド開発のためのセキュリティ入門
masashi
50
18k
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
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
230
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
120
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
300
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
210
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
190
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
7
1.2k
PHPで TLSのプロトコルを実装してみる
higaki_program
0
730
飯MCP
yusukebe
0
480
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
360
事業会社でのセキュリティ長期インターンについて
masachikaura
0
220
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1.3k
Featured
See All Featured
Fireside Chat
paigeccino
42
3.9k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
140
Google's AI Overviews - The New Search
badams
0
960
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
Designing for Timeless Needs
cassininazir
0
180
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
190
Documentation Writing (for coders)
carmenintech
77
5.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
170
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
230
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