オープン系システム開発には「狭義」と「広義」2つの捉え方がある

マウスを操作する男性

更新日:2017年09月26日 | 公開日:2017年05月24日

この記事をご覧の方は、オープン系システム開発という言葉を何度も聞いたことがあると思います。
基本的にオープン系開発で言う「オープン」とは、技術的な仕様がオープンにされているという意味です。
具体的には、技術的仕様が一般に公開されているOSやハードウェアを組み合わせて構築されたシステムのことを指します。

このオープン系システム開発には「狭義」と「広義」2つの捉え方があることに注意しておきましょう。
発注を検討するときに、外注候補先の開発会社が言う「オープン」とは「狭義」のオープンなのか「広義」のオープンなのかを押さえておかないと、話が噛み合わなかったり、契約書に思わぬ不備ができたりしてしまいます。

システム開発では「オープン」の対義語は「クローズド」ではなく、「プロプライエタリ」となります。
プロプライエタリとは「非公開の」といったクローズドという意味のほかに「所有権・占有権のある」という意味も含まれます。

つまり、汎用機開発など情報がクローズドになっているだけでなく、Windowsのように開発に必要な仕様は無償・有償で公開されながらも、マイクロソフト社がOSの「所有権・占有権」を保持しているようなケースは「プロプライエタリ」なので、「オープン」ではありません。

この狭義の「オープン」に対して、広義の「オープン」は開発に必要な仕様は無償・有償で公開されているという状態を指します。
つまり広義の「オープン」にはWindows系のOSも含まれますので、「オープンシステム開発を請け負います」という看板を掲げている開発会社は、Windowsベースの開発も手がけていると考えてよいでしょう。

この違いを認識しておき、自社の求める最適な「オープン系開発会社」を探すことがポイントとなります。

レガシーシステムに対するオープンシステムの構築

パソコンのキーボード

現在社内で汎用機ベースのいわゆる「レガシーシステム」が稼働しており、そのハードウェアの耐用年数があと数年と迫っている…こんなケースを考えてみましょう。

このケースの場合には、「ハードウェアだけを新しくするのももったいない。
せっかくなら、これを期にオープン系システムに移行してはどうだろうか」というような声が社内で出ることが多いです。

この場合に求められている「オープンシステム」とは、レガシーシステムに対する「オープン」システムですので、厳密な意味で新しく導入する予定のOSやソフトウェアが著作権を放棄している「狭義」のオープンシステムである必要はありません。

1社の提供するハードウェアありきでシステムを組むのではなく、サーバーや周辺機器など自由なハードウェアの組み合わせを前提として、そのハードウェア上で稼働するソフトウェアのOSやパッケージソフト、オリジナルソフトについても各メーカーのソフトウェアを柔軟に組み合わせて最適なシステムを構築するのがこの場合の「オープン(広義)系開発」となります。

つまり開発にあたって、ベンダーの壁を超えて標準化が確立されていれば、この場合「広義」のオープン系開発の要件は満たしているということになります。
ベンダーの壁を超えているので、開発にあたっての人材の確保が容易であり、各メーカーの得意分野(Oracleのデータベース、シスコ・システムズのルーターやスイッチ、IBMのサーバーマシン、NECのCTIソリューションなど)を組み合わせて柔軟にシステムを構築することが可能です。

「オープン」という言葉の使われ方の歴史を概観してみよう

パソコンとメモ帳と砂時計

初期レガシーシステムのオープン化の目的はダウンサイジング

レガシーシステムが主流だった1980年代にはパーソナルコンピュータ(パソコン)が今日ほど高性能ではなく、ホストコンピュータとして採用されるのはメインフレームと呼ばれる大型のコンピュータでした。
業務で大量に情報を処理する選択肢としてパソコンはまだ検討段階にすらなかった時代ですので、その当時の業務システムは大型のメインフレームを採用し、それが今日でも使われているケースが多々あります。

当然この当時のメインフレームは高額であり、それに付随するソフトウェアをあわせて長期のリースを組んで導入するという方法が一般的で、保守管理に関するアウトソーシング費用もかなりの料金がかかるのが普通でした。

1990年代に入り、パソコンの性能が向上するにつれ、初期費用や維持費が高額なメインフレームを淘汰していくオープン化の波がやってきます。
また1990年代半ばにはインターネットの商用利用が解禁されたこともあり、クローズドなネットワークをベースとしたレガシーシステムはますます古い技術とされ、TCP/IP環境下でのクライアントサーバーシステムへのダウンサイジングが進みます。

当時のオープン化とは、このようにホストコンピュータとして使用していたメインフレームをUNIXやWindows Serverを利用したクライアントサーバーシステムにダウンサイジングすることを目的としていた場合がほとんどでした。

主目的が、大型コンピュータのパソコン化であったために、ここで言う「オープン系開発」は、パソコンで動くOSを使ったシステム構築という意味で使われましたので、Windowsや商用UNIXディストリビューションを採用した「広義」のオープン系システムがオープン系システム開発と同義語として使われていました。

今日でも、レガシーシステムのリプレイスの目的はダウンサイジングがメインですので、この場合には、自社で行いたい「オープン化」とは広義のオープン系システムを志向することであると考えておけばよいでしょう。

行き過ぎたオープン化によって見直されてきた「広義」のオープン化

時代遅れの大型のコンピュータをダウンサイジングしてコストを下げ、合わせてインターネットの商用利用に合わせてネットワーク的にもオープンなシステムにリプレイスしていく、という流れはどんどん加速していきます。

ところが、この歴史的必然と思われたオープン化の波が2000年代になって若干ブレーキがかかります。
オープンシステムは、各ベンダーの公開している仕様を基にして各ベンダーの技術を組み合わせて使うというところに特徴があります。
そのために、初期の設計に高度な経験とノウハウが必要、一度不具合が起きた場合などに原因の切り分けが難しい、などのハードルがあることが徐々に認識されてきます。

特に、勘定系などのシステムの場合、サーバーを多重化して障害時のリカバリーに備えなければならないオープンシステムは、システムをノンストップで稼働させるという点で不安があるということが指摘されるようにもなりました。

例えば銀行業務などのように、バッチシステムなどで、一度に集中して大量のデータを処理するには、メインフレームのような高い処理能力を有し、シンプルなシステム構成で耐障害性能にも優れるメインフレームが見直されるというケースも出てきました。

もちろん、ダウンサイジングを主な動機とした「オープン化」は現在も進んでいますが、現在では、「古いメインフレームはオープン化するのが当たり前」という一方的な流れは見直され、「広義」のオープン化に適したシステム改良とメインフレームの良さを活かしたシステムの共存が図られています。

オープンソースを使ったオープンシステムの構築

コーヒーとパソコン

これまで「広義」のオープン化の特徴とその流れを見てきましたが、次に「狭義」のオープン化を見ていきましょう。

「狭義」のオープン系システム開発とは、完全にオープンになった技術をベースとして開発を進めるということを指します。
この方法を採用するメリットは主に2点あります。

狭義のオープン系開発のメリット
  • 非公開の情報がないので開発上のブラックボックスがない
  • 完全にフリーウェアの技術を使うので特別なライセンス料金などが一切発生しない

次に、狭義のオープン系ソフトウェアにどんなものがあるか見てみましょう。
メリットの1、2ともに非常に魅力的ですが、対応しているオープン系ソフトウェアが極端に少ない場合には、あまりメリットを実感できません。
しかし、実際には下記のように、ビジネスソリューション分野で多岐にわたって定評のあるフリーのソフトウェアが公開されています。(一部、インストールを簡単にするなどの付加価値を付けた部分で料金を取っているソフトウェアを含みます)

【狭義のオープン系ソフトウェアの例】

UNIX
  • Fedora
  • Red Hat Enterprise Linux
  • CentOS
  • Yellow Dog Linux
  • Oracle Enterprise Linux
  • Scientific Linux
  • SUSE Linux Enterprise
  • openSUSE
  • Turbolinux
  • Vine Linux
  • PCLinuxOS
  • Slackware
  • Puppy Linux
  • SLAX
  • Debian GNU/Linux
  • KNOPPIX
  • Ubuntu
  • Xubuntu
  • Kubuntu
  • Lubuntu
  • Linux Mint
  • Google Chrome OS
  • Arch Linux
  • Android
  • Gentoo Linux
  • OpenSolaris
  • FreeBSD
  • NetBSD
    など
プログラミング言語
  • GNU Compiler Collection
  • LLVM/Clang
  • C言語
  • GNU C Compiler
  • PHP
  • Perl
  • Java
  • Swift
    など
セキュリティ
  • OpenSSL
    など
ブラウザ
  • Google Chrome
  • Opera
  • Opera Mini
  • Opera Mobile
  • Sleipnir
  • Firefox
  • Netscape(5.0以降)
  • Pale Moon
  • Waterfox
    など
オフィス系ツール
  • OpenOffice.org
  • LibreOffice
    など
サーバーソフトウェア
  • Apache
    など
ネットワーク
  • OpenVPN
    など
データベース
  • MySQL
  • SQLite
    など
ブログ
  • WordPress
  • Movable Type
    など
SNS
  • OpenPNE
    など

オープン系システムの導入・運用注意点

パソコンとメモ帳とコーヒー

ここまで、「広義」「狭義」のオープン系開発の特徴を見てきました。
ひとくちに「オープン系システム開発」と言っても、内容にかなりの違いがあることに気がついたことと思います。

最後に、実際にオープン系システム開発の導入・運用を行う場合、「広義」「狭義」それぞれのケースでどんな部分に注意すべきかをまとめます。

広義のオープンシステムの導入・運用方法の注意点

広義のオープン系システム開発においては、新規導入の場合も、レガシーシステムのリプレイスの場合も、オープン系システム開発のメリットである、ハードウェア、ソフトウェアの自由な組み合わせによる最適なソリューションの構築が実現できるかどうかがポイントとなります。

レガシーシステムの場合、ホストコンピュータ上で動作する基本ソフトも周辺ソフトもメーカー主導で独自開発され、その後の運用・保守もそのメーカーが半永久的に担当することが不文律となっていました。
そのため、ダウンサイジングの波に乗り遅れたり、インターネットの商用利用などの波に乗り遅れたりなど後手後手に回ってしまうIT戦略が問題視されることもあり、オープン系開発への移行が急速に進んだという経緯がありました。

しかし、先程歴史を概観したように、2000年代になってメインフレームを使ったレガシーシステムの安定性が見直され、現在ではレガシーシステムとオープン系開発の流れは共存していると言えます。
したがって、今後広義のオープン系開発を行いたいという企業は、この1990年代から2000年代の流れ=ダウンサイジングの急激な進行とレガシーシステムの見直しという教訓を自社に当てはめて考えてみることが大切です。

つまり、オープン系開発では、複数のメーカーのノウハウを組み合わせてシステムを構築するという点で、レガシーシステムに比べて技術的に高度でその分不安定な部分があります。
ダウンサイジングによって、コストダウンを図ることは大切にせよ、自社の業務の安定性を犠牲にしてまでオープン系開発を採用する必要があるかどうかをもう一度検討することが大切だということになります。

ハードウェア、ソフトウェアの自由な組み合わせによる最適なソリューションの構築メリットと、レガシーシステムの安定性の両方に目を配りながら自社にとって最適な方法を検討してください。

狭義のオープンシステムの導入・運用方法の注意点

狭義のオープン系開発のメリットは、なんと言ってもライセンス料金などが一切発生しないために、安い料金でシステム構築が可能になる点です。
合わせて、技術的なブラックボックスがないので、例えばWindowsの仕様に合わせて制約条件を気にしながらシステム設計をするなどが不要になります。

一見するといいことずくめのように見える狭義のオープン系開発ですが、デメリットについてもしっかり認識しておく必要があります。

完全にフリーウェアに依拠して開発を行うということは、分かりやすい言葉で言えば完全に自己責任で開発から保守・運用まで行うということになります。

有償のサポートはありませんので、世界中のボランティアの有志による技術サポートに頼りながらシステムを開発したり、保守・運用をしたりといったことが必要になります。

ブラックボックス化された技術情報はない代わりに、必要な情報をすべて開発会社が集めてきて、自分たちの責任で正当性を判断し、未経験の不具合やバグの対処・処理をしなければなりません。

当然のことながら、こうしたノウハウ、技術は開発会社ごとに大きな違いがあります。
あまり経験のない開発会社では、万が一のときに不安がありますし、業界でも定評のある一流開発会社の場合には技術的な不安はなくなるものの、それに反比例して開発料金や保守・メンテナンス料金は高額になる傾向にあります。

つまり、最終的にメーカーに対してライセンス料や、保守・サポート料金を払うことがなくなるというだけで、逆に開発会社に対して支払うべきコストは上昇することもあり得るということを認識しておきましょう。

単純にコストメリットだけを考えて「狭義」のオープン系開発を採用すると、このような思わぬ落とし穴にハマってしまうこともあります。
「プロプライエタリ」の「非公開の」「所有権・占有権のある」といった特徴をネガティブなこととしてだけとらえることをせずに、「プロプライエタリ」では「信頼のできる有償サポートが受けられる権利がある」、という見方も維持しつつ、自社にとって最適な開発方法を選択してください。

【まとめ】

ガッツポーズする男女

以上、「狭義」と「広義」2つの捉え方を軸に「オープン系システム開発」の特徴を整理してきました。
「オープン系開発」で外注先を選定する場合には、まず自社が求めるオープン系開発が、Windowsなどを含む広義のオープン系開発なのか、それとも、ライセンス料の一切かからない狭義のオープン系開発なのかをはっきりさせることが大切です。

その上で、「狭義」と「広義」それぞれのメリット・デメリットを考え、自社にとって最適なソリューションを考えることが大切です。

「広義」のオープン系開発の場合、ダウンサイジングによるコストダウンを選ぶかメインフレームの安定性を選ぶかが一つの焦点となります。
「狭義」のオープン系開発の場合には、ライセンス料金などが一切発生しないことを選ぶか、有償サポートの安心感を選ぶかが一つの焦点になります。

もちろんそれ以上に大切なのは、オープン系開発によって自社のビジネスソリューションにどんな新しい付加価値が見いだせるかです。

せっかくオープン系開発を採用して各ベンダーの得意とする技術を組み合わせてシステムを構築したのに、結局新システムの導入効果がなかった、ということではオープン系開発を採用した意味がありません。

自社で抱えている問題を掘り下げ、場合によっては現在のビジネスプロセスそのものを見直すBPR(ビジネスプロセス・リエンジニアリング)に踏み込んで新システムを設計することにより、成功するオープン系システム開発が見えてくることもあるでしょう。

こうした自社の課題整理、求めるソリューションの明確化はオープン系システム開発を成功させるために必ずやっておくべきですが、もし自社内のみでこうした作業を詰めていくことが難しければ、ぜひ経験豊富なコンシェルジュが多数在籍する「アイミツ」にご相談ください。

御社にとって最適なオープン系システム開発を提案してくれる、信頼のおける業者をピックアップいたします。

いま知りたいこと
コンシェルジュが解決します!

コンシェルジュサービスは
3万社以上が利用している無料の相談サービスです。

コンシェルジュ

発注は時間も手間もかかりますよね?

コンシェルジュが解決します!

コンシェルジュに相談、あなたにあった業者を提案、発注の手間を削減!

完全無料

まずはお気軽にご相談ください