OSSとは
OSSとは、Open Source Software(オープンソースソフトウェア)の略称で、プログラムのソースコードが一般に公開されていて、無償で利用できるソフトウェアのことである。無償で利用できるとは言っても、ライセンス(著作権)表示が存在しない訳ではなく、自由に配布したり利用したりすることができるライセンス形式になっている。代表的なOSSの例として、OS(オペレーティングシステム)であるLinux、データベース管理システムのMySQL、コンテンツ管理システムのWordPress、プログラミング言語のJava、ウェブブラウザのFirefoxなどが有名である。
OSSという言葉は、Netscapeというウェブブラウザのソースコードを公開するにあたって、適切な言葉を議論した中で生まれてきたものと言われていて、2000年前後くらいから使われるようになった。
実際にOSSと同様の考えは、1980年代から既に普及していた。特に、無償のUnixであるFreeBSDが採用しているBSDライセンスや、フリーソフトウェア財団(GNU)が採用しているGPL(GNU General Public License)などの有名なライセンスは、その頃から存在している。
OSSの要件・定義
OSSの要件の厳密な定義はないが、一般的には、米国のOpen Source Initiative(OSI)という組織が掲げたOpen Source Definition(OSD)が、オープンソースの定義として使われている。Open Source Definition(OSD)は、Open Source Initiative(OSI)が提唱したオープンソースソフトウェア(OSS)と認められるための基準の要件のことで、以下の10項目が定められている。
- 再配布の自由
- ソースコードの配布
- 派生ソフトウェアの配布の許可
- 作者コードの完全性
- 個人やグループに対する差別の禁止
- 使用分野に対する差別の禁止
- ライセンスの配布
- 製品を特定したライセンスの禁止
- 他のソフトウェアを制限するライセンスの禁止
- ライセンスの技術的な中立
なお、OSSと混同されがちなものに、フリーウェアがある。フリーウェアは、無料で利用できるソフトウェアという点ではOSSと同じだが、ソースコードは公開されておらず、改変・再配布も制限されている点に違いがある。
OSSはなぜ普及したのか?
現在、OSSはソフトウェア開発やアプリケーション開発、システム開発に無くてはならないものとなり、日本の国内でも様々な業界で利用されている。このようにOSSが普及した背景には、開発した人、企業、利用者がそれぞれメリットを享受できるという理由がある。
インターネットとOSS
インターネットを中心とした多くのテクノロジーが生まれたのは、現在のインターネットの基本となるWebサーバーの技術や暗号化の技術などが、オープンソースで公開されたことがきっかけと言われている。つまり、OSSはインターネットと共に成長してきた。OSSと同様の考え方は、オープンソースムーブメントとも言われている。その考え方自体も、広く世界に普及しつつある。
コミュニティによる管理
OSSは、ソフトウェアの作者でなくても、誰でも自由に修正・変更し再配布することができる。また、多くのOSSはコミュニティによって管理されている。コミュニティには世界中のユーザが参加し、様々な人の貢献によって成り立っている。
例えば、コミュニティに参加している誰かがバグや不具合の発見について投稿すると、同じOSSを使用している誰かがその部分を修正したり、機能を追加・拡張したりすることができる。この場合、バグや不具合の発見も、修正や変更、機能の追加・拡張も貢献の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には、GPL、MIT、BSD、AGPL-3.0、MPL、LGPLやApacheなど、さまざまなライセンスが存在する。一般的に、コピーレフト型と呼ばれるライセンスから、準コピーレフト型、非コピーレフト型の順で、ライセンスの内容が寛容になっていく傾向にある。いずれにせよ、単に個人や企業で利用する限り、ライセンス違反が発生することはない。ソースコードの改変や改良も、自分が利用するためだけであれば特に問題となることはない。
しかし、改変したソースコードを頒布する際には、オリジナルの情報を掲載することを求められる場合がある。また、OSSを組み込んだ製品を販売したり、サービスを提供したりする場合は、ライセンスで許可された範囲であることを確認する必要がある。
さらに、名称には、商標が設定されている場合もある。そのため、個人や企業での単純な利用でない場合には、ソフトウェアごとに宣言されたライセンス契約や商標に準拠しているかの確認を徹底することが重要である。
デージーネットの取り組み
デージーネットは、創業当初からOSSを活用したサーバ構築を行っている。現在では150種類以上のOSSを使い、その数は業界でもトップクラスである。社内にOSSを調査する専門の部署も設置しており、高い専門性を提供している。この専門性を活かし、日本語化や日本語の利用マニュアルの公開、コミュニティへの還元、またデージーネットで開発したソフトウェアやプラグインもオープンソースとして公開するなど、OSSの普及に貢献している。
以下は、OSSに関するデージーネットの取り組みの一部である。
- 書籍出版
LinuxやOSSに関連した書籍を多数執筆している。初心者でも分かりやすい基礎から学ぶための入門書から、実践的なガイドブックまで幅広く出版している。
- 無料資料の提供
OSSを使ってシステムを構築したい人向けに、各ソフトウェアの技術的な詳細情報についてまとめたホワイトペーパーを作成し、Webサイトから無料でダウンロードできるようにしている。
- セミナー開催
Linux関連をはじめ、様々なセミナーを随時開催している。情報システム部門担当者、OSSの導入を検討している人など、興味のある方は無料で参加可能である。
- 開発・日本語化
OSSを利用してサービス提供を行うために必要なソフトウェアの開発やカスタマイズに加え、日本のユーザがより使いやすくなるよう、日本語対応のないOSSの日本語化も実施している。弊社で開発したソフトウェアや日本語化したソフトウェアもオープンソースとして公開しており、プロジェクトサイトから確認することができる。
また、当ホームページでは、デージーネットが扱うOSSについて内容や特徴等を紹介している。
OSS情報
OSS情報では、OSS紹介と一押しOSSを設け、デージーネットが調査したOSSをジャンルに分け紹介している。以下は、その中で紹介している一部である。
ジャンル | 紹介しているOSS(一部抜粋) |
---|---|
テレワーク/リモートワーク | Web会議システム「Jitsi Meet」 リモートデスクトップ「Apache Guacamole」 |
ビッグデータ | 統合ログ管理「Graylog」 全文検索システム「Apache Solr」 |
メールサーバ | メーリングリスト管理「Sympa」 Webメールソフト「Roundcube」 |
クラスタ | クラスタのリソース管理「Pacemaker」 ネットワークミラーリング「DRBD」 |
DNSサーバ | DNSサーバ「PowerDNS」 キャッシュDNSサーバ「unbound」 |
認証サーバ | シングルサインオン「Keycloak」 LDAPサーバ「389 Directory Server」 |
プライベートクラウド | オンラインストレージ「Nextcloud」 仮想基盤「oVirt」 |
監視 | 統合監視ツール「Zabbix」 BIツール「Apache Superset」 |
管理 | 資産管理システム「Snipe-IT」 動画配信サーバ「AVideo」 |
データベース | NoSQLデータベース「GridDB」 インメモリデータベース「Valkey」 |
OS | RHELのクローンOS「AlmaLinux」 「Rocky Linux」 |
デージーネットで開発したOSS | 添付ファイル安全化「SaMMA」 問い合わせ管理システム「CuMAS」 |
OSS比較
OSS比較では、デージーネット独自の視点から選定ポイントを挙げ、ポイントに沿ったソフトウェアを比較する。例えば次のような記事で、目的のOSSを探す際や、複数から選定する際の参考にしていただけるよう、各ソフトウェアの機能や特徴、メリット・デメリットを比較し紹介している。
- 監視サーバ・監視ツール比較
- 仮想基盤で使えるソフトウェア比較
- ウェビナーツール比較
- Linux OS比較 等
デージーネットのサービスの特徴
デージーネットでは、OSSを積極的に利用したシステム構築を推奨しており、全国の通信事業者、大学、自治体、企業などに年間100以上のシステムを構築している実績がある。特に、多くのユーザが利用するシステムを得意としていて、認証、冗長化、データの移行、IoTプラットフォーム、機械学習基盤の構築などに注力している。以下のページでは、これまでデージーネットで構築してきた幅広い分野におけるOSSの導入事例を紹介している。
デージーネットが行うシステム構築は、その多岐にわたるOSSの知識と経験を活用し、お客様それぞれの環境や要望に合わせたソフトウェアを使用することが特徴である。デージーネットでシステムを構築したお客様には、Open Smart Assistanceという導入後支援サービスを提供している。Open Smart Assistanceでは、OSSそのものだけが対象ではなく、運用中のシステムが適切に運用できることをサポートする。保守サービスでは、使い方から運用方法まで幅広い範囲でのQ&Aや、安定した運用に繋がるセキュリティの情報提供、障害調査、回避を行い、安心して利用して頂けるよう管理者の業務をサポートしている。
OSSコンサルティング
デージーネットでは、OSSに関する各種のコンサルティングサービスを行っている。システムの企画立案をする導入支援コンサル、自分でサーバーシステムを構築したいが不安があるという方のための構築支援コンサル、導入したシステムの問題を解決する改善支援コンサルなど、お客様のご要望に応じて、幅広いメニューで利用を推進している。
【カテゴリ】:オープンソースソフトウェア  
【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー
日程: | 11月22日(金)Webセミナー「BigBlueButton」を使用します。 |
内容: | OSSを導入したいけど、どこから手をつければいいかわからない方必見! |
ご興味のあるかたはぜひご参加ください。 |