OSSとは?利用するメリットやデメリットを解説!

この記事では『OSS』について、

  • オープンソースソフトウェア(OSS)とは
  • OSSを利用するメリットとデメリット
  • 有名なOSS

などを分かりやすく説明するように心掛けています。ご参考になれば幸いです。

オープンソースソフトウェア(OSS)とは

オープンソースソフトウェア(OSS)は、ソースコードが公開されており、誰でも自由に使用、複製、改変、配布が可能なソフトウェアです。

OSSとは、一般的には、Open Source Initiativeによって提唱される、以下の10の条件による定義(The Open Source Definition)を満たすソフトウェアであると考えられています。

OSSの定義

  • 再配布の自由
    • OSSの利用者は派生ソフトウェア(既存のOSSを引用・改変・拡張して作成された新しいソフトウェア)を第三者へ有料で販売したり、無料で提供することができる。その際に元のOSSの開発者に対して印税や報酬を支払う必要がない。
  • ソースコード
    • OSSはソースコードを公開しなけらばならない(OSSがコンパイル済みのバイナリファイルであった場合でも、元のソースコードを公開し、利用者が自由に閲覧、改変ができる状態でなければならない)。
  • 派生ソフトウェア
    • OSSの利用者は、元のソフトウェアを改変し、新たな派生ソフトウェアを作成して頒布することができる。
  • 作者のソースコードの完全性
    • OSSライセンスによっては、元のOSSのソースコードを改変した状態で再頒布することが禁止されている場合がある。そのような場合には、元のOSSのソースコードと一緒に「パッチファイル」を頒布しなければならない。
    • 元のOSSのソースコードを改変した状態で再頒布することが許可されている場合でも、OSSライセンスによっては、派生ソフトウェアの再頒布時に元のOSSとは異なる名前や違うバージョン番号をつけることを義務付けしている場合がある。
  • 個人やグループに対する差別の禁止
    • どの個人やグループに対しても差別してはならない。OSSは全ての人が利用することができる。
  • 使用する分野に対する差別の禁止
    • どの分野に対しても差別してはならない。OSSはどの分野でも利用することができる。
  • ライセンスの分散
    • OSSライセンスの権利は、そのプログラムの再配布に関わる全ての人々に適用される。
  • 特定製品でのみ有効なライセンスの禁止
    • OSSは使用される特定の製品や配布物に依存してはならない。OSSがある製品や配布物の一部であったとしても、そのOSSはその製品や配布物から独立して使用、改変、再配布することができる。
  • 他のソフトウェアに干渉するライセンスの禁止
    • OSSライセンスはソフトウェアと一緒に配布される他のソフトウェアに対して制約を設けてはならない。
    • 例えば、あるソフトウェアがCDなどの物理的な媒体で配布される場合、その媒体に含まれる他のソフトウェアが全てオープンソースである必要があるという条件をOSSライセンスに設けてはいけない。
  • ライセンスは技術中立的でなければならない
    • 特定の技術やインターフェーススタイルに依存しないように設計されていなければならない。
    • 例えば、ソフトウェアがLinuxオペレーティングシステムでのみ使用できる、または特定のデータベース技術にのみ対応するという条件をOSSライセンスに設けてはいけない。

OSSの定義が記載されているサイトを以下に示します。各定義の詳細については、以下のサイトを参考にしてください。

上記の定義を満たすように、様々なOSSライセンスが公開されています。例えば、以下のサイトでは、主要なOSSライセンスの日本語参考訳を紹介しています。

OSSは無料で利用できることが多いですが、利用する際には各OSSが持つライセンス条項に従う必要があります。ライセンス条項には著作権の表示や改変点の公開などが含まれています。

補足

OSSは「Open Source Software」の略です。

OSSを利用するメリットとデメリット

OSSを利用する主なメリットデメリットについて説明します。

OSSのメリット

  • コスト削減できる
    • OSSは基本的には無料で利用できるので、商用ソフトウェアを購入するコストが削減されます。
  • 自由度が高い
    • ソースコードが公開されているため、ユーザーは自分のニーズに合わせて、ソフトウェアをカスタマイズすることが可能です。
  • 透明性と信頼性がある
    • ソースコードが公開されているため、セキュリティの脆弱性やバグを発見しやすく、これらの問題を迅速に修正することが可能です。
  • コミュニティサポートがある
    • 多くのOSSプロジェクトには、コミュニティが存在し、問題解決のためのサポートや新機能の開発が行われています。
  • 改良されることが多い
    • 多くのユーザーと開発者がコードをテストし、バグを報告するため、ソフトウェアは広範囲にわたって検証され、改良されることが多いです。

OSSのデメリット

  • 不具合や脆弱性に対する保証がない
    • OSSはコミュニティの中で開発されているため、不具合や脆弱性に対する保証や責任が定められていないものが存在します。
  • 開発コミュニティ存続の保証がない
    • OSSプロジェクトはコミュニティによって、支えられていますが、その維持は保証されていません。そのため、プロジェクトが急に廃止されるリスクがあります。
  • サポートが基本的にない
    • 有償のソフトウェアは、開発元のサポートが受けられる場合が多いですが、オープンソースのソフトウェアにはサポートが基本的にありません。
  • ドキュメントが不足していることがある
    • 一部のOSSプロジェクトでは、ドキュメントが不十分であることがあります。
  • プログラミングの知識が必要である
    • プログラミングの知識がないと問題が発生した時に対処するのが難しいです。

有名なOSS

様々なOSSが公開されていますが、中でも有名なOSSを紹介します。

有名なOSS

  • Linux
    • オペレーティングシステムのカーネルです。サーバーやデスクトップ、スマートフォンなど幅広いデバイスでて広く利用されています。
  • Apache HTTP Server
    • ウェブサーバーソフトウェアです。インターネットのウェブサイトを提供するために広く利用されています。
  • Mozilla Firefox
    • ウェブブラウザです。高い拡張性とプライバシー保護機能が特徴です。
  • MySQL/MariaDB
    • リレーショナルデータベース管理システムです。ウェブアプリケーションのバックエンドとして広く利用されています。
  • Git
    • バージョン管理システムです。ソフトウェア開発でのコードの変更を追跡するために広く利用されています。
  • VLC Media Player
    • マルチメディアプレイヤーソフトウェアです。多種多様なメディア形式をサポートしており、非常に人気があります。
  • WordPress
    • ウェブコンテンツ管理システム(CMS)です。ブログやウェブサイトの作成に広く利用されています。
  • TensorFlow
    • Googleによって開発された、オープンソースの機械学習ライブラリです。
  • Eclipse
    • Javaや他のプログラミング言語用の統合開発環境(IDE)です。

本記事のまとめ

この記事では『OSS』について、以下の内容を説明しました。

  • オープンソースソフトウェア(OSS)とは
  • OSSを利用するメリットとデメリット
  • 有名なOSS

お読み頂きありがとうございました。