よくある質問・用語集

サーバ構築のデージーネットTOP > OSS情報 > よくある質問・用語集 > 用語集 > OSSとは

  • どうやって使う?

OSSとは

オープンソフトウェア(OSS)とは、無償で利用でき、ソースコードが公開されているソフトウェアのことである。Open Source Softwareの略称で、日本語でもオープンソースソフトウェアと呼んでいる。無償で利用できるとは言っても、ライセンス(著作権)表示が存在しない訳ではなく、自由に配布したり利用したりすることができるライセンス形式になっている。

OSSという言葉は、Netscapeというウェブブラウザのソースコードを公開するにあたって、適切な言葉を議論した中で生まれてきたものと言われていて、2000年前後くらいから使われるようになった。

実際にOSSと同様の考えは、1980年代から既に普及していた。特に、無償のUnixであるFreeBSDが使っているBSDライセンスや、フリーソフトウェア財団(GNU)が使っているGPL(GNU Public License)は、その頃から存在している。

OSSの要件

OSSの要件の厳密な定義はないが、一般的にはOpen Source Initiative(OSI)が掲げたOpen Source Definition(OSD)の定義が使われている。

OSSはなぜ普及したのか?

現在、OSSは、システム開発の中ではなくてはならないものとなっている。このようにOSSが普及したのは、開発した人、企業、利用者のそれぞれにメリットがあるためである。

インターネットとOSS

現在のインターネットの元になったWebサーバの技術や、暗号化の技術などが、OSSとして公開されたことがきっかけで、インターネットを中心にした多くのテクノロジーが生まれたと言われている。そのため、OSSはインターネットと共に成長してきた。OSSと同様の考え方は、オープンソースムーブメントと言われている。その考え方自体も、広く世界に普及しつつある。

コミュニティによる管理

OSSは、誰でも自由に修正し再配布することができる。また、多くのOSSが、コミュニティで管理されている。コミュニティには、様々な人が参加しており、その結果、OSSのコミュニティは、様々な人の貢献で成り立っている。

例えば、誰かがバグや不具合を発見したことをコミュニティに投稿すると、それを誰かが修正する。バグや不具合の発見も貢献の1つであり、修正するのも貢献の1つである。また、様々な国で使われ、別の言語への対応がコミュニティに提案される。マニュアルを整備したり、ソフトウェアの利用方法をインターネット上で公開することも、コミュニティへの貢献である。

OSSは、こうした貢献によって非常に早いスピードで進化している。

貢献の連鎖

こうした貢献は、OSSのソースコードや文書などとして残る。そして、貢献した人のステータスとなる。こうしたステータスは、企業や個人の技術力の証として、販売活動、就職活動などに影響する。そのため、OSSの世界では、「最大の貢献をしたものが、最大の利益を得る」と言われている。

貢献活動の高まりによって、OSSの機能や品質は、どんどん高くなる。ソフトウェアの安定性も高くなり、利用者が増えればさらに貢献が増えるという、貢献の連鎖が生じる。そして、OSSはさらに普及していくことになる。

OSSと開発言語

OSSは、もともとC言語で開発されたものが多かったが、現在はJava、PHP、Pythonなど多種多様な言語で開発されている。また、プログラミング言語自体もOSSとなっているものが多い。

例えば、C言語は以前は商用のコンパイラが性能を競っていた。しかし、GNU(現在のFSF)が開発しフリーソフトウェアとして公開したGCC(GNU C Compiler)は様々なアーキテクチャで高速に動作するため、非常に広い分野で使われるようになった。

また、Javaは、もともとSun Microsystemsが開発した商用のプログラミング言語である。しかし、Sun Microsystemsは、ライセンスフリーのOpen Javaを公開し、OSSとしても利用することができるようになり、広く普及した。

一方で、PHP、Pyhton、Go、Java Scriptなどの新世代の言語は、最初からOSSとして開発された。そのため、OSSの開発者の中でも非常に人気がある。こうした言語には、GoogleやFacebookなどのインターネットサービスベンダーが深く関わっている。開発言語は、主体となって進めている企業のビジネスの発展とともに普及が進む傾向にある。

このように、開発言語はOSSであることが、普及の条件になってきている。

ネットサービスとOSS

GoogleやAmazonなどの、ネットサービスの多くがOSSで構成されている。ネットサービス事業者は、OSSを利用することで低価格でサービスを実現しているのだ。一方で、ネットワークサービス事業者も、自社で開発した技術の多くをOSSとして公開している。

例えば、Googleはサービスの提供にコンテナ技術を利用している。このコンテナ技術はKubernetesというOSSとして公開されていて、IoTプラットフォームや機械学習基盤として利用されている。

また、Googleの提供したTensorFlowという機械学習アルゴリズムは、画像認識などに優れ、様々な分野での機械学習システムに応用されている。

デファクトスタンダードとソフトウェアを公開するメリット

特定の分野で大きなシェアを得て、多くの人が利用するようになったものは、デファクトスタンダード(事実上の標準)とよばれる。デファクトスタンダードを生み出した企業は、その分野のリーディングカンパニーとなれる。

企業は、ソフトウェアを公開せず独自に管理し販売することもできる。しかし、多くの場合には、OSSと市場で競争することになる。OSSは、貢献の連鎖によって急速にシェアを拡大することが可能である。そのため、近年では非公開のソフトウェアがデファクトスタンダードとなることはまれで、OSSがデファクトスタンダードとなることが多い。

こうしたことから、企業は、開発したソフトウェアを公開する戦略を取ることが一般的になってきている。

OSS利用のメリット

OSSを利用することには、様々なメリットがある。

  • 適したソフトウェアを選択できる

    OSSは無料であるので、無料で試すことができる。また、多くの種類があるので、適したソフトウェアを選択することができる。

  • 技術情報が豊富である

    OSSに関する技術情報は、他の利用者によってインターネットなどにたくさん公開されている。そのため、製品のソフトウェアよりも簡単に技術情報を入手することができる。利用者の多いソフトウェアほど、この傾向が顕著である。

  • 特定のベンダーに依存しない

    製品のソフトウェアを販売する事業者は、利用者を自社製品から逃さないように囲い込もうとする。これをベンダーロックインという。ベンダーロックインをすると、利用価格や運用の方針などをベンダーにコントロールされやすくなる。そのため、企業にとってリスクと考えられている。
    OSSは、特定のベンダーが提供しているわけではないので、ベンダーロックインが起こりにくい。

  • 低価格で導入できる

    製品のソフトウェアでは、利用者数によるライセンス制をとっている場合が多い。OSSは、利用者数によらず無料である。そのため、大規模なシステムほど価格メリットが大きい。

  • 信頼性が高い

    OSSは、多くの人によって開発されているため、信頼性が高いと言われている。悪意を持ったコードが入り込む余地が低いためである。また、利用者が多くなり、貢献が多く集まるほど品質が向上していく傾向が強まる。そのため、安全で信頼性が高いソフトウェアが多い。

  • ソフトウェアの乗り換えやリプレースがしやすい

    OSSは、内部の構造が公開されている。そのため、蓄積されたデータがどのようなフォーマットで管理されているのかも、解析することができる。したがって、システムのリプレース時などに他のソフトウェアへデータを移行できる可能性が高い。

OSS利用のデメリット

OSSにもデメリットがある。

  • 改良が早い

    利用者が多くなるほど、貢献の連鎖が進み、急速に改良される傾向にある。するとバージョンアップが頻繁に行われ、ソフトウェアのアップデートが頻繁に必要になる。

  • 利用にはある程度の技術力が必要

    OSSは無料であるが、自己責任で利用しなければならない。上手く動かなかったり、障害が起きても助けてくれる人はいない。コミュニティに連絡すれば、相談に乗ってくれる場合もあるが、多くの場合には英語でしかも技術的な説明が必要になる。
    そのため、利用には相応の技術力が求められる。技術力の不足が懸念される場合には、商用サポートや構築ベンダーなどを利用する必要がある。

  • コミュニティの終息

    人気がなくなったオープンソースソフトウエアのコミュニティは、徐々に活動が低下する。すると、バグがあっても修正する人がいなくなってしまう。セキュリティの問題が発見されても修正されなくなるため、継続利用の妨げになる場合がある。

OSS利用時の注意点

こうしたOSSのデメリットがあるため、利用する場合には次のような点に注意すべきである。

  • 技術力を点検する

    自分で構築する場合には、自分で問題解決を行う必要がある。それができるのかを、考えて利用する必要がある。例えば、ソフトウェアの選択時には、自分が理解できる言語のソフトウェアを選択することが推奨される。

  • ベンダーへ依頼する

    技術力が不足する場合には、商用サポートの導入や構築ベンダーへの依頼を検討すべきである。ベンダーへ依頼する場合には、目先の構築価格だけで選択すると間違いの元である。障害時の対応やセキュリティ情報の提供など、適切な運用サポートを提供してくれるベンダーを選択するのが望ましい。
    さらに、様々なソフトウェアに対応できるベンダーがベストな選択である。というのは、利用しているソフトウェアのコミュニティが終息した場合でも、別のソフトウェアに切り替えるためのサポートが得られるからである。

  • 製品やネットサービスに比べて本当に安いのか考える

    特に人数が少ない組織では、OSSの導入はかえって割高になる場合がある。最近では、ネットサービスの方が低価格の場合もある。

デージーネットとOSS

デージーネットは、OSSを使ってシステムを構築する専門ベンダーである。OSSに関する様々な書籍を執筆していることでも知られている。

デージーネットのサービスの特徴

デージーネットでは、100種類以上のOSSを扱うことができる。特に、多くのユーザが利用するシステムを得意としていて、認証冗長化、データの移行、IoTプラットフォーム機械学習基盤の構築などに注力している。さらに、OSSを利用してサービス提供を行うために必要なソフトウェアの開発や、OSSのカスタマイズも行っている。開発したソフトウェアは、OSSとして公開している。

デージーネットで構築したシステムは、Open Smart Assistanceという導入後支援サービスを受けることができる。

OSSコンサルティング

また、デージーネットでは、OSSに関する各種のコンサルティングサービスを行っている。OSSを使ったシステムの企画立案をするOSS導入支援コンサル、自分で導入したいが不安があるという方のためのOSS構築支援コンサル、導入したシステムの問題を解決するOSS改善支援コンサルなど、独特のメニューでOSSの利用を推進している。

OSSでコミュニケーション活性化セミナー

日程: 12月11日(水)デージーネット本社
12月13日(金)デージーネット東京営業所
内容: 働き方改革を促進するコミュニケーションツールであるビジネスチャットの「Rocket.Chat」やオンラインストレージ「Nextcloud」について紹介いたします。
ご興味のあるかたはぜひご参加ください。

セミナー申込

  • どうやって使う?

関連用語

OSSに関連するページ(事例など)


デージーネット用語集のページです。「OSS」という用語と関連情報について説明します。「OSS」について情報を収集する際、サービスをご検討いただく際などに用語集ページをお役立てください。

OSSとは先頭へ