オープンソース利用のメリット・デメリット
昨今のウェブサイトやECサイトではオープンソースソフトウエア(OSS)が使われているケースが非常に多いのはご存知だと思います。オープンソースとは開発元が無償でプログラムを公開しているもので、代表的なものはWordpressやEC-CUBEがあります。このようなOSSはカスタマイズすることを前提として開発されているため、制作会社はもちろん、市販のカスタマイズ本を購入すれば素人でもそれなりに使い勝手のよいものに仕上げることができます。
良いことばかりが強調されるOSSですが、「タダより高いものはない」という言葉どおり、デメリットもあります。今回は発注者側(クライアント)、制作会社側それぞれにおけるOSS利用のメリット・デメリットをご紹介します。
オープンソース利用のメリット
開発・制作費用を低く抑えられる
例えばECサイトを構築する場合、EC-CUBEと同等のプログラムを企画・設計段階から開発した場合、恐らく数千万円レベルの開発コストが発生するでしょう。これはこの業界に限らず、ゼロからモノを作るには相当な初期投資が必要になるからです。しかしオープンソースを利用すれば、この初期投資が必要ありません。すでにベースは出来上がっている状態ですので、あとはカスタマイズする技能を持った制作会社に、カスタマイズする分の費用を支払えばOKです。
開発・制作期間を短縮できる
企画・設計段階からECシステムを構築しようとすれば、企画・設計だけで数ヶ月かかり、納品するまでに半年以上はかかるでしょう。しかし、オープンソースを利用すればカスタマイズする工程だけで済みますので納品までの期間はだいぶ短縮されます。
問題解決しやすい
例えばWordpressのように世界中で利用されているオープンソースは、世界中のプログラマがカスタマイズしていることになります。ということは、カスタマイズ事例が大量に蓄積されるわけですので、制作会社のプログラマもその事例を元にカスタマイズすることができます。したがって、発注元から多少無理難題を押し付けられても、世界のどこかに似たようなカスタマイズ事例がある可能性が高く、それを元に課題を解決することができるわけです。
オープンソース利用のデメリット
脆弱性が露見されやすい
ECサービスで例えると、Amazonや楽天のシステムのソース(プログラム)は非公開です。また、Makeshopやカラーミーショップのような商用ASPサービスも非公開です。一方、EC-CUBEはオープンソースですので、全てのプログラムが公開されています。プログラムが公開されているということは、それを分析する知識があれば、そのプログラムの脆弱性も発見できるわけです。つまり、オープンソースは脆弱性が発見されやすく、それを悪用される可能性が高まります。特にWordpressのように世界中で使われているオープンソースは、そのリスクはかなり高いと考えられます。したがって、オープンソースを利用する場合は、サーバやネットワークのセキュリティ強化もセットで考える必要があります。
法的責任リスク
通常、クライアントが開発会社にシステム構築を企画・設計から依頼し、納品したプログラムに瑕疵があり、個人情報漏えいなどが発生した場合、クライアントはシステム会社に対して瑕疵担保責任の損害賠償を請求することができる可能性がありますが、オープンソースの場合、開発元の会社にその責任を問うことは非常に難しいです。
まずオープンソース提供元はダウンロードの際の規約に免責事項を設けています。使うのは自由だけど、使って何か損害が発生しても何も責任を負いませんよ、という内容です。これに同意した上で制作会社はダウンロードして使っています。しかし、前述の通りオープンソースは脆弱性が露見する可能性がありますし、そもそもそれ自体に不具合がある可能性もあるわけです。
万が一、納品したクライアントのシステムから個人情報が漏洩した場合、誰がどんな責任を負うのでしょうか。おそらく制作会社はクライアントと契約を交わす際、契約書にオープンソース利用による免責事項を設けていないでしょう(契約書が無いというのは論外です)。ですので、制作会社は何らかの損害賠償を請求される可能性があります。しかし制作会社はオープンソース提供元に損害賠償を請求することは不可能でしょう。
クライアントは損害賠償を請求できるといっても相手は小規模な制作会社がほとんどです。請求できる金額はたかがしれています。それよりも、個人情報漏えいなどによって失った社会的信頼を回復するほうが大変です。タダより高いものはない、とはまさにこのような状態ですよね。
リスクを理解した上で、うまく付き合っていく
最後はオープンソースのマイナスイメージが際立ってしまいましたが、現状のウェブ制作業界はオープンソース無しでは成り立たないのが現実です。クライアントがウェブ制作やシステム開発に費やす費用は年々下がっていますが、だからといって要求が減っているかというとそういうわけでもありません。クライアントの要求を費用内で実現しようとすればオープンソースの利用は必須になります。
オープンソース利用はさまざまなリスクはありますが、そのリスクを最小限に抑えようと多くのプログラマが知恵を出し合って日々改善されています。したがって、よほどのことが無い限り大きな問題には発展しないでしょう。ですので重要なのは、契約時にクライアントと制作会社がオープンソースを利用することのデメリットをお互いに認識することと、何か障害が発生した場合にどのような対処を行うのか作業に入る前に決めておくことです。
当社も今までは契約に関する意識が低かったのですが、今後は企業として契約の重要性を理解し、法的な部分も考慮しながら案件を進めていく必要があると考えています。また、制作会社同士で契約に関する取り組みを話し合える場が作りたいな〜と思っています。