OSSの導入とカスタマイズ
システム管理のつぼ(2016年11月号)
システム設計部 利波 健二
OSSを導入する際、「こんな機能があれば...」と思ったことはありませんか。OSSは、ライセンスに従って利用すれば、自由に利用可能なソフトウェアですが、加えて、ソースコードを入手可能なところも重要なポイントです。ソースコードを読んで理解し、カスタマイズをすれば足りなかった機能を追加することができます。
では、既存システムの内容や業務フローなどを踏まえて、OSSへの切り替えを行うときに、カスタマイズすればできる、と簡単に結論を出してはいないでしょうか。
カスタマイズという行為は、ライセンスに従って行う分には保証されている権利ですので問題はありません。ですが、カスタマイズにかかる費用は、サービスインまでの初期費用(カスタマイズ費用)だけではありません。
例えば、採用したOSSに致命的な脆弱性が見つかったとき、OSSは、いち早く脆弱性対応を行ったソースコードが公開されます。ですが、そのソースコードにはもちろんカスタマイズコードは含まれていません。カスタマイズしたコードを最新のソースコードへ適用し、動作に問題がないことを確認しなければなりません。これを短期間で行わなければ、脆弱性を含んだバージョンを使い続けることになります。
これは、OSSのバージョンアップにより、魅力的な機能が追加された場合も同様で、その機能をいち早く利用することができないものになっているのです。
これらの費用は、その都度発生するものであり、OSSによっては数か月毎にバージョンアップが行われるものもあります。こうなると、カスタマイズに対する費用は非常に大きなものになっていきます。
ただ、この継続的な費用に対して対策することができる手段があります。それは、OSSのコミュニティにカスタマイズ内容をフィードバックし、採用してもらうという方法です。カスタマイズ内容が一般的に受け入れられる魅力的なものであれば採用され、OSSに組み込まれてソースコードがリリースされることになります。こうなれば、今まで、コストに跳ね返ってきた脆弱性対策も新機能対応もすばやく取り入れることができます。
カスタマイズに関しては、「それが本当に必要な機能か」を考え、費用対効果が見込めるかを検討した上で決断をする必要があります。状況によっては、OSSに合わせた仕様の検討も必要でしょう。
デージーネットでは、OSSの導入の際に要件に応じてカスタマイズの提案をしています。もちろんOSSのバージョンアップ時の課題についてご理解いただいた上での対応をしています。デージーネットが提供しているOSSについては、お客様の同意を得た上で標準機能として次のバージョンアップ時に取り込むこともあります。この場合は、バージョンアップしたOSSの採用で済むため、スムーズに最新機能がご利用いただけます。
OSSの導入の際には、こういった継続的コストも視野に入れて検討してもらうことで、より良いシステムの導入へとつながります。検討項目の一つに加えて考えてもらえればと思います。