【初心者向け】オープンソースとは?代表的なソフトウェアも紹介

【初心者向け】オープンソースとは?代表的なソフトウェアも紹介

目次

    オープンソースとは

    オープンソースとは、プログラミング言語で書かれたソースコード(コンピュータプログラム)を公開され、誰でも閲覧や使用、改良できるという考え方のことです。オープンソースの多くは完全無料ですが、営利目的のものよりは比較的安価な価格で販売されているものもあります。
    また、ソースコードが公開されているソフトウェアのことを「オープンソースソフトウェア(OSS:Open Source Software)」といいます。

    オープンソースライセンス

    オープンソースは誰でも活用することができますが、利用するにはオープンソースライセンスを遵守しなければなりません。オープンソースライセンスは、オープンソースの使用に対して様々な制限を設けています。
    オープンソースライセンスを守らないまま利用した結果、訴訟に発展したケースもあるため、注意が必要です。

    オープンソースの定義

    オープンソース・イニシアティブ(OSI:Open Source Initiative)は、ソースコードの公開、再頒布に関する10項目の定義を提唱しています。オープンソースは、その10項目を満たしていることが求められます。
    オープンソースの定義は以下の通りです。

    • 自由な再頒布ができること
    • ソースコードを頒布すること
    • 派生したソフトウェアも元のソフトウェアと同じライセンスを適用すること
    • 作者のソースコードの完全性を保持すること
    • 個人やグループを差別しないこと
    • 利用分野を差別しないこと
    • 再頒布の際にライセンスを追加しないこと
    • 特定の製品にのみ適応されるライセンスを設けないこと
    • 他のソフトウェアを制限しないこと
    • 技術的な中立であること

    オープンソースの歴史

    1980年代、ソフトウェアの利用に条件や制限を設ける「プロプライエタリソフトウェア」やソースコードを公表しない「クローズドソース」に対して、自由に利用できるソフトウェアが必要であるとして「フリーソフトウェア」が定義されました。
    1998年、「自由」「無料」のソフトウェアとして否定的に捉えられてきた「フリーソフトウェア」という名称が「オープンソース」に変更され、「ソースコードを公開することにメリットがある」という観点に重きを置くようになりました。
    同年、OSIが設立され、オープンソースの概念は広く周知されるようになりました。

    オープンソースのメリット・注意点

    ここでは、オープンソースのメリットと注意点を説明します。

    メリット

    コスト削減

    オープンソースは無料で利用できるものが多く、また、追加でカスタマイズすることも可能であるため金銭的・開発的コストを抑えることができます。

    透明性

    ソースコードが公開されているため、セキュリティやプライバシー、品質などをユーザの目で確認することができます。

    コミュニティ

    オープンソースのコミュニティには多くの開発者が参加しているため、新機能の提案、チェック、改善が活発に行われています。

    信頼性

    ソースコードが公開されているために攻撃されやすい一方で、不正なプログラムや脆弱性に事前に気付いたり、迅速に対処したりすることができます。その結果として、高い信頼性を持っています。

    注意点

    セキュリティの脆弱性

    セキュリティやプライバシーに関して、コードが公開されているために悪用されるリスクがあることも事実です。そのため、適切なセキュリティ監査を行うなど、対策が必要です。

    更新の不定期

    オープンソースは開発者がサービスを終了しても使い続けることができますが、その場合、ソースコードの修正や改善に責任を持っている人がいない状態になりやすいです。更新は開発者やコミュニティの活動状況によるため、定期的なメンテナンスが望めない場合もあります。

    公式サポートの欠如

    オープンソースでは、開発元のサポートが基本的には用意されていません。そのため、問題が発生しても自己責任で対応を行う必要があります。

    オープンソースの代表的なソフトウェア

    オープンソースであるソフトウェアには、さまざまなカテゴリーがあります。
    以下はそのカテゴリーと、そのカテゴリーに属する代表的なソフトウェアです。

    OS(オペレーティングシステム)

    OSとは、コンピュータ全体を制御するシステムのことです。ハードウェア(デスクトップやマウスなどの機器)をソフトウェア(コンピュータを動かすプログラム)の仲介の役割を担っています。
    オープンソースのOSには、以下のようなものがあります。

    • Linux
    • Android

    プログラミング言語

    プログラミング言語とは、人間がコンピュータに命令を伝えるための言語です。プログラミング言語を用いてプログラムを作成し、コンピュータが読み取る機械語に変換した後、実行されます。
    オープンソースのプログラミング言語には、以下のようなものがあります。

    • Python
    • PHP
    • Ruby

    データベース

    データベースとは、特定のテーマに沿ったデータの集まりのことを指します。その主な役割は、データを保存、保存されたデータの整理・管理、簡単に検索・抽出を可能にすることです。
    オープンソースのデータベースには、以下のようなものがあります。

    • MySQL
    • PostgreSQL
    • MariaDB

    Webサーバ

    Webサーバとは、ネットワークを通じて情報や機能を提供するハードウェアまたはソフトウェアのことです。Webページを表示する際、そのWebページの情報をユーザのコンピュータに提供するのがWebサーバの仕事です。

    オープンソースのWebサーバには、以下のようなものがあります。

    • Apache

    Webブラウザ

    Webブラウザとは、インターネットで検索をする際に必要なソフトウェアです。「ブラウザ」「インターネットブラウザ」と呼ばれることもあります。
    Google ChromeやMicrosoft EdgeもWebブラウザの1つであり、ユーザの好きなものに変更することができます。
    オープンソースのWebブラウザには、以下のようなものがあります。

    • Firefox

    まとめ

    今回は、オープンソースについて解説しました。

    オープンソースは多くの人によって開発・利用されています。

    オープンソースには多くのメリットがありますが、注意すべき点もあるため、今後活用しようと考えている方は、基本知識を理解した上で使用するようにしましょう。

    まずは選考会へ!

    「プログラマーになって一緒に働きませんか?」
    テックドリームの選考会は、選考だけでなく「相互理解」の場。不安なことも直接ご相談いただけます。


    電話でのご予約

    Webかんたん予約ができない場合や、ご質問がございましたら、
    お気軽にお電話ください。

    0120-262-242
    9:00~18:00(土日祝を除く)

     

    >テクド・リム

    テクド・リム


    「テックドリーム」の公式キャラクター。
    プログラマーだった父の影響を受けて、
    夢に向かって日々勉強に励むプログラマーのタマゴ。
    夢は「世界を変える、すごいプログラマーになること!」

    CTR IMG