前置き
- 社のesaに投下したものの反応が薄くて寂しいので全体公開
- 他人が作ったOSSを使うにあたって、もしあまりメンテされないOSSを使うと結局別のOSSに乗り換える必要があっておつらいので、僕がどんな観点でOSSを選択してるのかをまとめました
- あくまで僕が見ている観点なので異論は認める
観点
GitHubやGitLabなどのリポジトリの場合
- Star数
- 多ければ多いほどいい
- 放置されてるIssueやPRの数
- 少なければ少ない方がいい
- オープンになってるPRがたくさんあってもちゃんとレビューされてマージされてるのであればいいんだけど、放置されてるとヤバい
- もしこの手のOSSを導入する時は最悪自分でforkしてメンテし続ける覚悟が必要(経験者談)
- masterブランチやdevelopブランチの最終コミット日時
- 最終コミットが1年以上前とかだとPR投げても依存ライブラリとかの関係でCIコケることがあるので要注意
- 定期的にリリースされているかどうか
- 最終tagとmasterの差分コミット数で見る
- 小規模なライブラリであればPRマージして即リリースしてくれると嬉しい
- CIのバッジ
- ずっとビルドがコケてると誰も見てなくてメンテされてない可能性が高い
https://rubygems.org/
- gemのDL数