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ライブラリの呪縛と解放戦略
Search
akkiee76
August 24, 2023
Technology
1
770
OSSライブラリの呪縛と解放戦略
「ミノ駆動さんと語るエンジニア怪談〜技術的負債の呪いにどう立ち向かうのかLT〜」で発表した資料になります。
https://forkwell.connpass.com/event/291332/
akkiee76
August 24, 2023
Tweet
Share
More Decks by akkiee76
See All by akkiee76
Meet the Translation API
akkie76
0
320
コードレビューで開発を加速させるAIコードレビュー
akkie76
1
530
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
4.6k
コードレビューを支援するAI技術の応用
akkie76
5
880
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
8.3k
Jetpack Compose で Adaptive Layout に対応しよう
akkie76
0
710
Observationではじめる値監視
akkie76
4
4.6k
TextField 表示スタイル変更の 有効活用例 5 選
akkie76
0
640
rememberUpdatedState の使いどころを考える
akkie76
0
500
Other Decks in Technology
See All in Technology
Codar: Arte ou Ciência?! A Jornada de um DEV na Creator Economy
vclementino
0
190
TechBullエンジニアコミュニティの取り組みについて
rvirus0817
0
510
完璧を捨てろ! “攻め”のQAがもたらすスピードと革新/20250306 Hiroki Hachisuka
shift_evolve
0
210
コンテナ上シェル悪用の話とPure Bashでcurlが作れた話
ryotosaito
2
290
EC-CUBEはサーバレスで動かせるのか?
yukishimada
1
130
Real World Nix CI/CD編
asa1984
1
210
プロダクトの一番の理解者を目指してQAが取り組んでいること 〜現場・マネジメント各視点のプラクティス〜
hacomono
PRO
0
110
組織のスケールを見据えたプロジェクトリードエンジニア制度の実践 / Project Lead Engineer for Scaling Engineering Organization
ohbarye
9
2.6k
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
350
Autonomous Database サービス・アップデート (FY25)
oracle4engineer
PRO
1
540
StotybookからはじめるVRT -個人開発編-
arrow2nd
1
940
Platform Engineering for Private Cloud
cote
PRO
0
110
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Done Done
chrislema
182
16k
Music & Morning Musume
bryan
46
6.4k
The Language of Interfaces
destraynor
156
24k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Designing for humans not robots
tammielis
250
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
2k
Statistics for Hackers
jakevdp
797
220k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Docker and Python
trallard
44
3.3k
Making Projects Easy
brettharned
116
6.1k
We Have a Design System, Now What?
morganepeng
51
7.5k
Transcript
©2023 RAKUS Co., Ltd. OSSライブラリの呪縛と解放戦略 2023/08/24 ミノ駆動さんと語るエンジニア怪談 LT @akkiee76
Akihiko Sato 株式会社ラクス / 楽楽精算 / Lead Engineer @akkiee76 自己紹介
OSSライブラリのアップデート戦略 今日のテーマ
OSSライブラリの アップデートしていますか?
アップデート大変ですよね?
アップデートしないと 様々な問題が発生します 👻
OSSライブラリの呪縛 1 • セキュリティリスク • 互換性の懸念 • 保守性の低下 ◦ 公式のサポートが受けられないことも
• 法的リスク ◦ ライセンス違反などの法的問題が発生ことも アップデートしないとどうなるか?
OSSライブラリの呪縛 2 • セキュリティホールが増える 😈 • 顧客情報が流出することも 😈 • 社会的信頼の低下
😈 • 株価低下 😈 更にアップデートしないとどうなるか? プロダクト存続の危機 😅
OSSライブラリの呪縛 3 • 対応コストが取れない 😭 • 技術的な難易度が高い 😭 • 仕様を知る人がいない
😭 どうしてアップデートが難しいか? アップデートのハードルが高くなる 😅
OSSライブラリの呪縛を解放しよう • OSSライブラリを管理する ◦ アップデート日、EOLスケジュール • アップデートのコストを見積もる • アップデートを開発スケジュールに計上する(必要なコスト) 継続的なアップデートを行うためには?
アップデートのハードルを下げよう 😃
OSSライブラリ アップデート対応例 🔨
OSSライブラリをアップデートしよう 1 • OSSライブラリを見える化(一覧化)😃 • 定期的なアップデートを行う 😃 • アップデートはバージョン開発の初期に行う 😃
弊社での主なアップデートへの取り組み
OSSライブラリをアップデートしよう 2 • 管理ツールで一覧化 ◦ yamory、楽楽販売、スプレッドシート • アップデート時のバージョン、最終リリース日を記載 • 難易度・優先度を棚卸し
◦ 難易度・工数は定量的に判定し、工数に反映する OSSライブラリを見える化(棚卸し)する 😃
OSSライブラリをアップデートしよう 3 • 半年〜1年周期でアップデートを実施 • 開発リストに計上する(コストを計上する) ◦ レビュー待ちのタスクなどでコツコツ行う • アップデートする組み合わせは柔軟に組み替える
◦ 影響度、難易度によってスコープを変える 定期的なアップデートを行う 😃
OSSライブラリをアップデートしよう 4 • 場合によっては全機能影響を受けることも ◦ 機能開発中だとデグレを発見しやすくなる • 可能であればアップデート後から開発スタート ◦ merge
を次バージョン初期にするでもOK! アップデートはバージョン開発初期に行う 😃
• OSSライブラリを見える化(一覧化)😃 • 定期的なアップデートを行う 😃 • アップデートはバージョン開発の初期に行う 😃 主なアップデートへの取り組み
• Frontendライブラリの アップデートで苦労した話 • これで失敗しない!JUnit 5 へのマイグレーション方法 • 既存プロジェクトへの Swift
Concurrency 導入戦略 • 大規模AndroidアプリのDIをKoinからHiltへ移行するTIPS これまで行なってきたアップデート戦略
まとめ • OSSライブラリは生物 ◦ 対応しないとハードルが上がる • アップデートは定期的に ◦ アップデート不可能にならないように定期的にアップデート! •
アップデートは戦略を持って行おう ◦ アップデート対応は開発スケジュールに入れる!
Thank you !