日々ブログ

当サイトは、アフィリエイトプログラムにより商品をご紹介しています

【プログラミング】OSSの選び方

f:id:xinformation:20210710130253p:plain OSSの選び方悩んでいませんか。 品質を守りながら、納期を遵守するためにはOSSの活用およびOSSを選定する能力は必要不可欠です。 今回は、私なりのOSSの選び方・考え方について記載したいと思います。 重要度の高い項目から順に説明したいと思います。 OSSについて詳しく知りたい方は下の記事を御覧ください。 また、もっと良い選び方・考え方がありましたら是非ともコメントで教えて欲しいです。

xinformation.hatenadiary.com

流行をつかむ

f:id:xinformation:20210710124909p:plain OSSには流行があります。 OSSには同じような仕様を実現するものが複数ある場合はありますが、 それ以外の要素、たとえば使いやすさバグの多さが異なります。 これらを一つ一つ精査するのには膨大な時間がかかります。 そこで、まずはどれくらいの人が使っているのか調べてみましょう。 使っている人が多いというのは、総合的な性能が高い確率が高くなります。 また、使い方やバグに困ったときに情報を入手しやすいというメリットもあります。 さらに、単純に使っている人の「数」だけでなく、「増加傾向」なのか「減少傾向」なのかにも注目しましょう。 なぜなら、使っている人は多いが減少傾向にあるOSSと使っている人は少ないが、増加傾向にあるOSSは今後、後者が主流になる可能性が高いからです。 javascriptの場合は下記のサイトがおすすめです。 調べたいOSS加えて、似たような機能を持ったOSSもサジェストしてくれるので、 javascriptの場合はこちらを利用しましょう。

フロントエンドに近いほど小さな部品を選ぶ

 これは要求仕様次第ですが、個人的にはおすすめしたい考え方です。 理由は、フロントエンドに近くなるとくに操作や表示に関わるものほど、ユーザーや市場固有の特殊な仕様を実現しなければなりません。 そうした場合、大きな部品をフロントエンドに持ってくるよりは、小さな部品を複数組み合わせた方が早くできることが多いです。

更新日時が新しいかどうか

 これは、ソフトウェアの保守性に効いてきます。 何年もメンテナンスされていないOSSを製品に組み込むのは少々リスクが大きいです。 特に、web系は流れが早いので、メンテナンスされていないOSSを利用するのはあまりおすすめしません。

バグの多さやソフトウェア品質を確認する

f:id:xinformation:20210710124956p:plain こちらも、ソフトウェアの保守性の担保に必要となります。 OSSの更新が盛んで無い場合は、バグや新しい仕様を追加する場合、ソフトウェアを自ら改変することとなります。その場合、OSSソースコードが読み解きやすいか、コメントがきちんと記載されているか、フォルダ構成が適切かなどのいわゆる品質が重要になってきます。また、必ずしもというわけではありませんが、ソフトウェア品質が低いとバグを多く含む印象です。

LTSかどうか

これは、部品が大きいほど重要になってきます。LTSとは、Long Term Supportの略で、数年オーダーでアップデートが保証されていることを意味します。使用されているOSSにLTSが設定されている場合は、しっかりと確認し、開発するプロダクト寿命に合致するかは最低限検討しましょう。くれぐれも、参考にした技術情報ブログと同じバージョンにするなどという安易な選び方は避けましょう。なお、敢えて古いバージョンを使い続け、不足分は自ら補填するという選択肢もあるにはありますが、おすすめしません。

まとめ

いかがでしたでしょうか。 今回は私なりのOSSの選定方法を紹介しました。 項目は多いですが、時間がない場合でも1つ目は実施することをおすすめします。 あらゆる状況に備えて、常に複数の選択肢を持っておくと言うのは、何事においても重要だと思うので。 そのほか、OSSの選定に関して、ご意見ある方はコメントいただければ幸いです。