Dyno

ウェブの発注者側視点でのオープンソース CMS のメリット・デメリット

2018/06/29

ウェブサイト構築の発注側視点でのオープンソース CMS のメリット・デメリット をまとめてみました。

同じテーマの記事がすでにウェブ上にありますが、その多くには 2 つの問題があると私は感じています。

  1. 視点が混在している
    • 企業のオープンソース CMS への関わり方は大きく分けて 3 つあります。
      1. ソフトウェア会社が自社の CMS をオープンソース化する
      2. 制作会社がオープンソースのソフトウェアを利用する
      3. 発注者がオープンソース CMS を利用する
    • それぞれメリット・デメリットは異なるのですが、多くの記事ではこの視点・立場の区別がされていません。
  2. ポジショントーク
    • CMS を取り扱う会社が「メリット・デメリット」を論じるとき、それは自社のアピールのために行われています。
    • 同業者から見れば明らかにバイアスがかかっていて誘導的なものがよくあります。

もう少しニュートラルな立場からオープンソース CMS のメリット・デメリットを語る記事があれば多くの方の役に立つのではないかと思い、今回このテーマで書く次第です。

著者の立場について

最初に私の立場を明らかにしておきます。

私はオープンソース CMS Drupal の開発経験が多めです。 しかし現在特に Drupal 推しというわけではありません。 CMS にはそれぞれ個性があるので「目的と状況にいちばん合った CMS を選ぶのがいい」と考えています。 さらに言うと、 CMS の選定はウェブプロジェクト全体から見て CSF (成功決定要因)では無いとも思っており 、特定の CMS を推すモチベーションはありません。

オープンソースの比較対象

オープンソース CMS のメリット・デメリットを語るには比較対象が必要です。 今回は「プロプライエタリ CMS 」(企業製 CMS )を比較対象にしました。 オープンソースとプロプライエタリの定義についてはここでは説明はしないので、意味がよくわからないなという方は先に一度検索してみてください。

では本題です。

発注者にとってのオープンソース CMS のメリット・デメリット

以下順番にメリットとデメリットをあげていきます。

メリット

気軽に試せる。 オープンソース CMS は無償で手に入るので、気軽に試して調査することができます。 逆に、トライアルに費用がかかってしまうと社内での決済・承認にも手がかかるため気軽にパッと試すことができません。 オープンソースの場合は、実際に試してみて「これは使えないな」と思ったときに失うのは手間のコストのみです。

ベンダーへの依存を減らせる。 オープンソース CMS は一般に多くの制作会社が取り扱えるので、ベンダーへの依存を減らすことができます。 これには「利用継続可能性」と「交渉力」の 2 つの点でメリットがあります。 つまり、制作会社が万が一倒産したときでも他の制作会社に引き継いでもらえる可能性があり、ポーターの「 5 Forces 」でいうところの「サプライヤー」(=開発会社)の力がさほど強くならずに済みます。 ただし、このメリットがあるのはシェアの高いごく一部の CMS にかぎられます。 具体的に名前を挙げるなら、 WordPress 他 2 〜 3 個のトップシェア CMS のみです。

使い方の自由度が高い。 オープンソース CMS はソースコードが公開されているので、機能追加や変更の自由度がプロプライエタリ CMS よりも高いです。 相応の技術力を持つ制作会社に頼めば、プロプライエタリ CMS では実現が難しいさまざまなことが可能になるでしょう。 また、自らあるいは制作会社に頼んでセットアップする形になるので、レンタルサーバ・ VPS ・専用サーバ・クラウド等、設置場所・方法等を自由に選べるという意味でも自由度は高いと言えます。 ただし、もちろん、機能追加や変更にはコストがかかります。 自由度が高いというのは必ずしも「安くできる」ことを意味しないので、その点には注意が必要です。

メリットはこのぐらいでしょうか。 他にメリットとしてよく謳われることの中には疑わしいものがいくつかあるので、それは後でご紹介します。

デメリット

続いてデメリットです。

セキュリティ脆弱性や不具合の対応が自己責任。 セキュリティ脆弱性や不具合があった場合に、それに各自で対応する必要があります。 公式のリリースが出ればそれに対応し、リリースが出ない場合は適宜パッチを見つけてくるか自分で書くかして対応しなくてはなりません。 これは構築を行った制作会社が保守の一環でやってくれることが一般的ですが、どれだけ適切な対応ができるかは制作会社次第です。 私の観察では、適切な標準フローを持って適切に対応できる制作会社はおそらく全体の半数未満です。

攻撃の対象にされやすい。 これはシェアの高い CMS にかぎられますが、オープンソース CMS はクラッカーによる攻撃の対象にされやすいです。 その理由は、シェアが高いことに加えて、ソースコードが見えているので「脆弱性の内容が詳細までわかるから」です。 「セキュリティ脆弱性や不具合の対応が自己責任」というのとあわせて、これはオープンソース CMS の最大のデメリットでしょう。 繰り返しになりますが、これはオープンソース CMS 全般のデメリットというよりも、シェアが極めて高い一部のオープンソース CMS のデメリットとです。

ちなみに、オープンソース CMS のセキュリティ対策については次の記事も書いているので、興味のある方はご覧になってみてください。

高品質なサポートが受けづらい。 オープンソース CMS はプロプライエタリの CMS に比べて質の高いサポートを受けづらいです。 制作会社のスタッフやコミュニティのボランティアによるサポートを受けることができますが、プロプライエタリ CMS ほどの手厚いサポートは受けられない場合が一般的でしょう。 プロプライエタリ CMS の場合はサポートそのものをビジネスとしていることもあり、回答の質・回答時間等の店でオープンソースよりも高い水準にあります。

ドキュメントの質が低い。 オープンソース CMS はプロプライエタリの CMS に比べてマニュアルやヘルプドキュメントの質が低いです。 原理的に、オープンソースの場合はどうしてもわからないことがあれば自分でインストールしたりソースコードを見たりして調べることができるので、ドキュメントの質は総じて低いことが多いと言えます。 特に、世界中で使われている CMS の場合は、日本語を含む、英語以外のドキュメントはろくに揃っていないことがほとんどです。 制作会社が独自のマニュアルを用意してくれることもありますが、規模の大きな CMS だととてもすべての機能を網羅することはできません。 そのため、わからないことを自主的に調べる努力をする覚悟が発注者側にも必要です。

望まない進化も受け入れる必要がある。 オープンソース CMS には多くの人たちが開発に関わっているため、多様なニーズを満たすためにさまざまな方面で進化をします。 自社の使い方からしたら望ましくない機能の追加や改善・削除が行われることもあります。 プロプライエタリ CMS でも似たことは発生しますが、オープンソース CMS の場合はプロプライエタリよりも思わぬ方向に進む可能性が高いと言えるでしょう。 特に活発に開発されている CMS の場合はセキュリティに関する修正アップデートが頻繁に発生するため、バージョンアップを行わず進化を拒むという選択肢は実質ありません。

オープンソース CMS のメリットとしてよく謳われるが怪しいもの

オープンソース CMS を取り扱う制作会社がよく謳うオープンソース CMS のメリットのうち、本当にメリットがあるかどうか疑わしいものを挙げます。

ライセンス費が要らないので初期費用が安い? ……確かにオープンソース CMS は無償で入手できますが、無償の代わりに、使い方を調べたりセキュリティ対応をしたりといった部分が自己責任となります。 それを肩代わりしてくれるのが制作会社ですが、制作会社にも当然オープンソース CMS に習熟するための手間とコストがかかっており、そのコストは制作費で回収する形になります。 つまり、見積もり項目が違うだけで、ライセンス費に相当するコストはオープンソース CMS でもかかるということです。 オープンソースを選んだ方が初期費用が安いとはかぎりません。

バージョンアップの恩恵を無料で受けられる? ……これは「オープンソース CMS はコミュニティの開発者たちが勝手に開発を進めてくれるので、バージョンアップの恩恵を無料で受けられる」という主張です。 反論としては、まず第一に、進化するかどうか、そしてどんな進化をするかはその CMS 次第です。 逆に進化が完全に止まることもあればサポートが短期で切れることもあります。 加えて、バージョンアップには一定の手間がかかります。 バージョンアップに含まれる変更内容を調べ、重大なバグやプラグインへの悪影響はないかといったことを確認し、問題があればそれらに対応する必要があります。 これは通常、制作会社が保守サービスの一貫で行ってくれますが、それにはもちろんコストがかかります。 無料というわけではありません。

企業よりも寿命が長い? ……これは「企業は倒産してなくなることがあるが、オープンソースは引き継ぐ人さえいればなくならない」という主張です。 これは「 CMS による」としか言いようがありません。 確かに、一般的な企業よりも寿命の長いオープンソース CMS はありますが、それは高々数十個ぐらいです。 むしろ、途中で開発する人がいなくなり終わりを迎える CMS の方が圧倒的に多い状況です。 これは、オープンソース CMS の特徴というよりも「シェアの高いオープンソース CMS 」の特徴と言えるでしょう。

多くの目に晒されているのでセキュリティに強い? ……コミュニティが大きい CMS の場合にソースコードが多くの人の目に触れることは事実です。 しかしそれはセキュリティの強さには必ずしも繋がりません。 というのは、オープンソース CMS の中身を正しく理解できているのはほんの一握りの人たちだからです。 例を挙げます。 Drupal は 2018 年時点で 100 万以上のサイトで使われておりアクティブな利用者も 10 万人前後いると言われています。 しかし、コアの開発に関わっている人はそのうちわずか数百人です。 常連となるとさらに数は絞られ、高々数十人です(十数人かもしれません)。 コミュニティの規模が 10 万人ほどあっても、正しくチェックしている人・できる人というのはごくわずかです。 事実、 2018 年に見つかった Drupal の深刻なセキュリティホールは 10 年ほど前から存在し続けていましたが、 Drupal 利用者でそれに気づいた人は一人もいませんでした。 これは決して Drupal に特有の状況ではありません。 オープンソース CMS には「セキュリティ対応は自己責任」「シェアが高いと攻撃されやすい」という特徴があるので、その点も加味すると、オープンソース CMS のセキュリティが高いとは決して言えません。

まとめ

以上、発注者側視点から見たときのオープンソース CMS のメリット・デメリットについてでした。

各ポイントは細かい説明をしましたが、要は、私からのメッセージは次のとおりです。

  • オープンソースだからこう、プロプライエタリだからこう、とは一概には言えない
  • それよりも、個別の CMS のシェアや人気度の方が重要
  • 結局、オープンソースでもプロプライエタリでもどちらでもよくて、目的と状況に合ったものを選ぶことが大事

押さえるべきポイントについてはおおよそ押さえられたと思いますが、もしかしたら見逃している重大なポイントがあるかもしれません。 考えが発展すれば、また都度この記事を更新したいと思います。

ご参考になれば幸いです :)