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活動のススメ / oss-activities
Search
k.goto
June 19, 2024
Technology
5
1.3k
OSS活動のススメ / oss-activities
2024/06/20,21開催AWS Summit Japan 2024での登壇資料です。
k.goto
June 19, 2024
Tweet
Share
More Decks by k.goto
See All by k.goto
AWS CDKの仕組み / how-aws-cdk-works
gotok365
13
1.8k
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
7
1.5k
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
9
730
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
7
690
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
450
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
6
1.2k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
420
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
8
3.2k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
9
2k
Other Decks in Technology
See All in Technology
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
Understanding Go GC #coefl_go_jp
bengo4com
0
1.1k
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
2
220
イオン店舗一覧ページのパフォーマンスチューニング事例 / Performance tuning example for AEON store list page
aeonpeople
2
270
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
5
1.4k
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
270
[CV勉強会@関東 CVPR2025 読み会] MegaSaM: Accurate, Fast, and Robust Structure and Motion from Casual Dynamic Videos (Li+, CVPR2025)
abemii
0
190
GCASアップデート(202506-202508)
techniczna
0
250
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
1
150
Goでマークダウンの独自記法を実装する
lag129
0
210
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
170
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
570
Featured
See All Featured
Designing for Performance
lara
610
69k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Docker and Python
trallard
45
3.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Git: the NoSQL Database
bkeepers
PRO
431
65k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
A designer walks into a library…
pauljervisheath
207
24k
It's Worth the Effort
3n
187
28k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Transcript
2 0 2 4 / 0 6 / 2 1
AW S S U M M I T JA PA N 2 0 2 4 DAY 2 OSS活動のススメ k.goto (後藤 健太) AWS DevTools Hero 1
自己紹介 (k.goto) X: @365_step_tech AWS HERO AWS DevTools Hero 自作OSS
AWSツール (cls3, delstack, lamver) AWS CDKコントリビュート Top Contributor Trusted Reviewer Community-Driven CDK Construct Library Maintainer CDK Constructライブラリ GitHub: @go-to-k
本セッションの目的 • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 3
本セッションの目的 • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 4 1人でもそう思ってもらえるように・・・ OSS活動のハードルを下げ 一歩踏み出したくなる!
OSS活動とは 5
OSS • OSS = オープンソースソフトウェア § 利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配 布が可能なソフトウェアの総称 (Wikipediaより) •
AWS関連のOSSでも種類はたくさん § AWS公式のものからコミュニティ・個人によるものまで § 海外発のものから国内発のものまで 6
OSS活動 • OSSコントリビュート(貢献) § コード・テスト・ドキュメントなどを書き、Pull Requestを提出 § 機能追加の要望やバグの内容などをissueに起票 § 既存のissueやPull
Requestなどでディスカッション § Pull Requestをレビュー 7
OSS活動は敷居が高い? 8
OSS活動は敷居が高い? 9 興味はあるんだけど・・・ いつかやってみたい・・・ いつも使っているし 何か貢献したい・・・ なんかすごい あまりプログラミング できないし・・・ カッコいいけど
自分にはとても・・・ 今年中には・・・ 自分の書いたコードを 知らない人に見せるのか・・・ すごい人多そう・・・ 英語わからん
OSS活動は敷居が高い? • 有名なOSSなんてとても・・・ • プログラミングがあまり得意でない • 英語が苦手 • 知らない人怖い・海外の人すごそう 10
OSS活動は敷居が高い? • 有名なOSSなんてとても・・・ • プログラミングがあまり得意でない • 英語が苦手 • 知らない人怖い・海外の人すごそう 11
自信がない なんか難しそう
OSS活動は敷居が高い? 12 もったいない!!
OSS活動は敷居が高い? 13 そんなことないんです!!
「有名なOSSなんてとても・・・」 • 例えば:AWS Cloud Development Kit (CDK)へのコントリビュート § 深いコーディング知識がなくてもコントリビュートできる –
TypeScript固有の実装方法などはあまり使われていない § むしろ他の面の比重が大きい – ビルド方法・Pull Request提出ルール – AWSサービスの知識 14 マネコンだとこうだから デフォルト値はこれが便利 この設定だとリソース作成失敗 するからバリデーションしよう ログ名にはルールがあるから 最初から設定してあげよう XプロパティとYプロパティ はセットで必要だよな 必要な権限はこれとあれだから 簡単に付与できるようにしよう コーディング知識 << AWS知識 な方にはピッタリのOSS!!
「有名なOSSなんてとても・・・」 • ベンダー公式・有名なOSSへのコントリビュートじゃなくてもいい § 個人・コミュニティで作っているOSS § 自分のリポジトリ(Public) – 自作ツール/ライブラリ •
シェルスクリプトでもいい! – TIPS/コードサンプル • CDKコード • IaCツールの定義コード 15 これらも立派なOSSです! 公開してみるのが大事! (※ライセンスには注意)
「プログラミングがあまり得意でない」 • 何ならプログラミングできなくてもいい § Typo・ドキュメント修正 § issue起票 (バグ報告や機能の要望) § 既存issueやPRにコメント
§ そのOSSを広める – 登壇・ブログ・SNS・etc… 16 「よかった」と書くだけでも立派な貢献!
「英語が苦手」 • 翻訳ツール・生成AIを駆使 § 対面の同期会話じゃない・文章での非同期会話 • 日本語だけで作っても良い § 日本人ユーザーだけでも助かる人はたくさんいる §
一旦日本語で作って、後から英語にするのもOK – ハードル低く始められる! 17 英語のいい経験になります!
「知らない人怖い・海外の人すごそう」 • みんな人間 • だいたい優しい 18 AWSコミュニティの人は特に優しい!
OSS活動はイイぞ 19
OSS活動はイイぞ • グローバルな交流ができる • 自分の貢献したものが色々な人に使われる • アウトプット・アピールになる 20
グローバルな交流ができる • 多くのOSSでは英語が主流 § 必然的に英語の交流が経験できる • 自作OSSを海外の方に使ってもらえたり § Issue, PRをくれたり
§ ブログを書いてくれたり 21 AWS Españolの方が自分のツールの記事を スペイン語で書いてくれました
自分の貢献したものが色々な人に使われる • 日本から海外までたくさんの人が助かる § 自分の業務で使う場合、自分も助かる • とにかく嬉しい! 22 自己肯定感・自信に繋がる
アウトプット・アピールになる • 実際に手を動かすのでスキルが向上 • GitHubに公開することでパブリックな成果物・記録になる § 執筆や登壇以外でのアウトプット方法・アピールにもなる 23 AWS界隈はインフラ寄りの方が多いので 目立てるかも?
(AWS HEROにもなれました)
はじめてのOSS活動 (k.gotoの場合) 24
はじめてのOSS活動 (k.gotoの場合) 25 自作 OSS 作成 AWS CDK 貢献
はじめてのOSS活動: 自作OSS作成 • CLIツールのようなものをシェルスクリプトで自分用に作成 • ポータビリティなどを理由にGo言語で再作成 § AWS CLI部分 ->
AWS SDKに変更 (今の時代なら生成AIに頼めば楽々?) § オプション導入・関数化・ファイル分割・エラーハンドリングなどリファクタ • GitHubリポジトリで公開 § 簡単な概要だけのREADMEを英語でとりあえず作成 • 色々と変更を加えて今に至る 26
はじめてのOSS活動: AWS CDK貢献 • Issue漁る § Good first issueラベル、 Typo/ドキュメント変更系
• 他の人のPull Requestを見まくる・コントリビュートガイド読む § 貢献ルールやビルド・テスト方法を学ぶ • とりあえず着手 + PR出してみる § 初心者にはレビュアーが親切に教えてくれるので、それをもとに修正 • あとは都度やりながらお作法を学んでいく (勢いが大事!) 27
自作OSSの紹介 28
自作OSS: AWSツール 【delstack】AWS CloudFormationスタック強制削除ツール § https://github.com/go-to-k/delstack 【cls3】Amazon S3バケットを高速に削除・空にするツール § https://github.com/go-to-k/cls3
【lamver】AWS Lambdaランタイム/バージョン検索ツール § https://github.com/go-to-k/lamver 29
delstack AWS CloudFormationスタック強制削除ツール 30 スタック削除で失敗するリソースがあっても、そのリソース含めスタックごと強制削除! 対話で検索して、複数スタック一括削除可能! (依存関係を加味して新しいものから順に削除)
cls3 Amazon S3バケットを高速に削除・空にするツール 31 対話で検索して、複数バケット一括削除可能! 非現行バージョンのみ削除も可能!
lamver AWS Lambdaランタイム/バージョン検索ツール 32
lamver AWS Lambdaランタイム/バージョン検索ツール 33 リージョン横断検索! CSV出力オプションもあり!
自作OSS: AWS CDKコンストラクトライブラリ 【image-scanner-with-trivy】CDKでTrivyでコンテナイメージスキャン § https://constructs.dev/packages/image-scanner-with-trivy 【image-scanner-with-dockle】CDKでDockleでコンテナイメージスキャン § https://constructs.dev/packages/image-scanner-with-dockle 【elb-other-5xx-alarm】CDKでマイナーな5xx(501,506...)のELBアラーム
§ https://constructs.dev/packages/image-scanner-with-dockle 34
まとめ 35
まとめ • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 36
まとめ • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 37 OSS活動のハードルが下がり 一歩踏み出したくなったらいいな 気軽に一歩踏み出してみよう!
宣伝 38
builders.flashに寄稿させていただきました! 2024/06/04 『AWS CDK におけるバリデーションの使い分け方を学ぶ』 • https://aws.amazon.com/jp/builders-flash/202406/cdk-validation/ 39
CDKコントリビュートワークショップやります! 2024/07/06(土) 『AWS CDK Conference Japan 2024』(@目黒セントラルスクエア 21階) • AWS
CDKへコントリビュートしてみようワークショップ (現地参加のみ) § https://jawsug-cdk.connpass.com/event/317921/ 40
CDKコントリビュートワークショップやります! 2024/07/06(土) 『AWS CDK Conference Japan 2024』(@目黒セントラルスクエア 21階) • AWS
CDKへコントリビュートしてみようワークショップ (現地参加のみ) § https://jawsug-cdk.connpass.com/event/317921/ 41 登壇もします! (セッションはオンラインとのハイブリッド) 17:35 - 17:55 『AWS CDKにおける「再利用性」を考える』
Thank you! k.goto (後藤 健太) AWS DevTools Hero X: @365_step_tech
GitHub: @go-to-k 42