OSSの選定基準のマイルール
開発の際にOSSを利用することが多々あると思いますが、その際に自分が重視している点を言語化しておきます。
- 要件を満たしていること
- 大前提ですが、使いたい機能を満たしていること。人気だからという理由で用途がズレているのに採用するのは良くないです。
- 極力、薄いツールであること
- 何かあった時に差し替えられる。
- 大きすぎるツールはよからぬバグを生むことも。
- Starが多く、メンテナンスが活発であること
- 利用者が多い = 実績がある、利用情報が多い。
- メンテナンスが活発 = バグが直されやすい。
- 何か合った時(開発が止まった時など)にも移行等の情報が出て来やすい。
- 速い is 正義
- サービス内に組み込む場合、速いということはメモリやcpuの効率が良く、スパイク時の運用で問題が起きにくくなります。
- 開発時のツールであっても、速さは開発時の体験を向上します。
- 上記の理由から要件を満たすものが複数ある場合、ベンチマークの良い方を選んでいます。