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
AWSに関するOSS活動で得た貢献までの壁を越えるコツ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
bun
May 26, 2023
Technology
0
1.1k
AWSに関するOSS活動で得た貢献までの壁を越えるコツ
2023/05/26(金)
クラスメソッド x フォージビジョン x Fusic【AWS勉強会】 でお話しした資料となります。
bun
May 26, 2023
Tweet
Share
More Decks by bun
See All by bun
メールやSlack通知をトリガーにした非同期APIテスト基盤を作ってみた / async-test-platform-for-automated-testing
bun913
0
220
はじめてのSDET / My first challenge as a SDET
bun913
1
610
とあるOSSを継続可能にするための取り組みについて / OSS Refactoring Process
bun913
2
600
そのbeforeEach本当に必要? TIPSをご紹介 / beforeEach TIPS
bun913
1
1.5k
あなたはどっち派?XSpec系テストフレームワークの構造化流派について / XSpec Title Naming
bun913
1
800
良いユニットテストの性質を整理してたら考えるべき設計も見えてきたの
bun913
11
7.1k
GitHub Copilotと快適なユニットテストコード作成生活
bun913
10
8.4k
気が付いたらJSTQB AL TAに合格していた。そんな旅がしたいの。
bun913
2
1.2k
ユーザーストーリーのレビューを自動化したみたの
bun913
1
1.2k
Other Decks in Technology
See All in Technology
Context Engineeringの取り組み
nutslove
0
240
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.4k
Tebiki Engineering Team Deck
tebiki
0
24k
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
420
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.3k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.4k
Amazon Bedrock AgentCore 認証・認可入門
hironobuiga
2
500
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
AI時代、1年目エンジニアの悩み
jin4
1
150
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.5k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
170
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
130
ラッコキーワード サービス紹介資料
rakko
1
2.2M
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Code Review Best Practice
trishagee
74
20k
Designing Powerful Visuals for Engaging Learning
tmiket
0
210
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
47
Code Reviewing Like a Champion
maltzj
527
40k
Transcript
クラスメソッド x フォージビジョン x Fusic AWS事業本部 コンサルティング部 1
AWSに関するOSS活動で得た貢献までの壁を越えるコツ 2023 5/26 今泉大樹
2 早速ですが今日のメッセージです OSS貢献に壁なんてなかった
3 自己紹介 今泉大樹(Taiki Imaizumi) (bun913) • クラスメソッド株式会社 • 2023 Japan
AWS Top Engineer (Services) • 2023 Japan AWS All Certifications Engineer • 好きな技術領域 • アプリとインフラの中間あたり • ダイの大冒険ガチ勢 @bun76235104
4 タイトルのとおり OSS活動(AWS関連も含む)お話をします
5 OSSとは • 詳細な定義には触れません • 今回は以下のように、ふわっとした意味で話させていただきま す • ソースコードが公開されている •
(規定されているライセンスに則って)利用、改変、再配布ができる • これらOSSコードやドキュメントに寄与することを「貢献」とか「コ ントリビュート」などと表現します
6 そもそも・・・ OSSに貢献すると何が嬉しいのか
7 OSS貢献は何が嬉しいのか(後でも紹介します) • GitHubが強く見える • 仕事ほどプレッシャーを感じずに、世界中で使われ得るプロダク トに携われる • 有名なOSSだと特に以下のようなメリットも •
世界中のすごい人からレビューをもらえる・コードを見れる • プロダクト特性に応じたCI/CDの流れなどを学習できる • (おまけ)エンジニアスキル可視化サービスのスコアアップなど
8 でも・・・ やり方がよく分からないんです (半年前くらいの私)
9 基本的にはこれだけ(ほぼ一般的な開発と同じ)
10 でもやっぱり OSSって強い人しかできないんでしょう? ソンナコトナイヨ
11 ここからは 実際に私がしていた勘違いを見ていきます
12 • よくある(?)勘違い • OSSのコードはツヨツヨエンジニアが作っているので、凡庸なエンジニ アでは理解できないのでは? • クリーンアーキテクチャーが〜 • ドメイン駆動設計が〜
• 片方向の依存性が〜 • 手を加える何てもってのほか • 美しい作品に手を加えられるのか・・・!? 幻想1: OSSのプログラマーはツヨツヨしかいない
13 ここでAWS CDKのコードを見てください
14 コードが何をしているかは分からないけど • パッと見てわかるイケてなさそうな箇所 • if文のネストが深い • if文にダラダラ複数の条件が書かれている • 本当のことを言っているのか分からないコメント
• そもそもコメントでコードを取り繕おうとしている? • etc • リファクタリングしたくてムズムズしませんか?
15 リファクタリングするだけでも貢献です!
16 幻想2: 深く理解しているサービスじゃないとダメ? 「良く分からんけど貢献したい」 でも大丈夫です!
17 貢献するOSSの探し方 • 自分が仕事で関わっている領域で探す • GItHubのOrganizationを眺めてみるだけでも楽しい • 例 「Amazon Web
Services GitHub」 「HashiCorp GitHub」 • 自分の好きな言語・初心者向けのIssueを探す • Good First Issueというサービスでも探せます • 自分が好きなツールで探す • 私の場合、Raycastというツールが大好きです • 既存で便利ツールないから作っちゃえパターンも • 新しく作る必要なし。既存のサービスを組み合わせてもOK
18 とはいえ・・・ • 「詳しくなくても良い」ので自分の好きなツール・触ったことのあ るツールがおすすめです • 感情面の理由 • 単純にモチベーションが湧く •
Pull Requestがマージされた時の充実感がすごい • 技術面の理由 • ディレクトリを眺めてコードの場所にあたりをつけられる • 変数名や関数名にもアイディアが湧く(ドメイン知識がある)
19 幻想3: 英語ができないとやり取りも大変 私もできないけど大丈夫です!!(断言)
20 今は無料で使える翻訳ツールがすごいですし • Google翻訳のChrome拡張 • DeepLのChrome拡張 • 最近だとAIサービスも非常に良いです! • ChatGPTに英語のお知らせタイトルを書いてもらったら一瞬でネイ
ティブっぽいのができた • ChatGPTを使って英語学習をしてみました • 私「”あなたのアイディアは最高です!改善してみます!”という言葉 を英語ネイティブの友達に伝える感じに翻訳して」
21 細かいニュアンスが分からなくても大丈夫です • レビュワー「My eyeballs thank you for this refactor.」
• 私「いえーす!!OKぇぇぇ!!」 眼球がありがとうって言うの?
22 なんか大丈夫な気がしてきませんか? 実際なんとかなるんですよ
23 これらを乗り越えてPull Requestがマージされると
24 コントリビュートへのご褒美は知識だけではない
25 (おまけ)AWS CDKの場合
26 最後に・・・AWS CDKへの貢献のTIPS 1/2 • AWS CDKとは • よく知ったプログラミング言語で書けるIaCツール •
TypeScript / Python / Go / Java / C# • 型がある言語であれば当然型の補完も有効 • 短い記述でAWSのベストプラクティスを意識した構築ができる
27 AWS CDKへの貢献のTIPS 2/2 • コントリビュートへの流れ • CONTRIBUTING.mdに流れがよくまとまっています • 重要な点を抜粋
• jsiiという仕組みでTypeScriptから他の言語へと変換 • コントリビュートする際はTypeScriptのリポジトリだけでOK • ※ 生成された各言語のコードは「らしくない」コードになっているかも しれませんが、怒らない • リファクタリングも結構歓迎されます • Issue立ててさっさとPull Requestを作ってしまえば案外
28 ということで(再掲) OSS貢献に壁なんてなかった
29 ご清聴ありがとうございました!!