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
780
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
330
コードレビューで開発を加速させるAIコードレビュー
akkie76
1
540
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
4.8k
コードレビューを支援するAI技術の応用
akkie76
5
1.1k
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
8.6k
Jetpack Compose で Adaptive Layout に対応しよう
akkie76
0
740
Observationではじめる値監視
akkie76
4
4.6k
TextField 表示スタイル変更の 有効活用例 5 選
akkie76
0
650
rememberUpdatedState の使いどころを考える
akkie76
0
510
Other Decks in Technology
See All in Technology
Cloud Native PG 使ってみて気づいたことと最新機能の紹介 - 第52回PostgreSQLアンカンファレンス
seinoyu
2
200
BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation
sakitakamachi
2
1.2k
Tirez profit de Messenger pour améliorer votre architecture
tucksaun
1
140
移行できそうでやりきれなかった 10年超えのシステムを葬るための戦略 / phper-kaigi-2025-ryu
carta_engineering
0
690
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
140
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
6
990
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
4
1.1k
Compose MultiplatformにおけるiOSネイティブ実装のベストプラクティス
enomotok
1
210
OCI見積もり入門セミナー
oracle4engineer
PRO
0
120
LINE API Deep Dive Q1 2025: Unlocking New Possibilities
linedevth
1
160
LINEギフトのLINEミニアプリアクセシビリティ改善事例
lycorptech_jp
PRO
0
240
Dapr For Java Developers SouJava 25
salaboy
1
130
Featured
See All Featured
Facilitating Awesome Meetings
lara
53
6.3k
RailsConf 2023
tenderlove
29
1k
Documentation Writing (for coders)
carmenintech
69
4.7k
Building Applications with DynamoDB
mza
94
6.3k
Why Our Code Smells
bkeepers
PRO
336
57k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Designing for Performance
lara
606
69k
Statistics for Hackers
jakevdp
798
220k
Side Projects
sachag
452
42k
4 Signs Your Business is Dying
shpigford
183
22k
Code Review Best Practice
trishagee
67
18k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
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 !