Jump to section

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

URL をコピー

オープンソースソフトウェアは、エンドユーザーが合法的にソースコードを取得できる特定の種類のライセンスを通じてリリースされます。このようなライセンスは多数ありますが、一般に、ソフトウェアは次の場合にオープンソースと見なされます。

  • 追加のコストをかけずにソースコードを取得できる。つまり、ユーザーはソフトウェアを構成するコードを表示し、思い通りに変更を加えることができる。
  • ソースコードを他の新しいソフトウェアに転用できる。つまり、誰でもソースコードを取得して、そこから独自のプログラムを配布できる。

オープンソースソフトウェアであることは、実行可能なソフトウェアが無料で配布されることを意味するわけではありません。ただし、そのソースコードへのアクセスは無料でできます。

たとえば、Red Hat® Enterprise Linux® のソースコードは誰でも自由に利用できますが (公開ページ)、そのソースコードを実行可能なコードに変換するには、専門知識、時間、サーバーが必要です。ソースコードから自力で再構築する必要のない Red Hat Enterprise Linux の本番用コードを入手するには、サブスクリプションを取得します。

オープンソースソフトウェアは、フリーソフトウェア運動と混同されることもあり、それが「オープンソース=無料」という誤解を助長している面もあります。フリーソフトウェア運動は、1970 年代のハッカー文化から発展し、GNU Project と非営利の Free Software Foundation の一環として Richard Stallman 氏が公式に設立したものです。通常、「フリーソフトウェア」という言葉はエンドユーザーの権利の自由 (フリー) を強調するために使われますが、この「フリー」が「無料」を意味すると誤解されることがあります。

実際には、フリーソフトウェアもオープンソースソフトウェアも、コストについては何も規定していません。どちらの種類のソフトウェアも合法的に販売または譲渡できます。

フリーソフトウェアとオープンソースソフトウェアには共通の価値観があり、これらの用語を組み合わせた FOSS (Free and Open Source Software) という表現がよく使われます。

オープンソースについて詳しく知る

ご興味をお持ちの分野をお知らせください。 

プロプライエタリー・ソフトウェアと FOSS の決定的な違いは、ソースコードにアクセスできるかどうかです。Microsoft Windows や Adobe Photoshop などのプロプライエタリー・ソフトウェアあるいは商用ソフトウェアのソースコードは、エンドユーザーに公開されていません。Linux カーネル (Red Hat Enterprise Linux の基盤) のようなフリーソフトウェアや Google Chromium (Chrome Web ブラウザの基盤) などのオープンソースソフトウェアは、それぞれのライセンスを通じてソースコードにアクセスできます。

また、オープンソースライセンスにもさまざまな種類があります。たとえば、既存のソースコードを変更して新しいソフトウェアを作成した場合、そのソフトウェアのリリースには同じライセンスを適用しなくてはならないものもあれば (GNU GPL)、異なるライセンスの下でのリリースを許可するものもあります (GNU LGPL)。インターネットと、ますます人気が高まっているクラウド・コンピューティングは、もしオープンソースソフトウェアから生まれていなければ、今とはまったく異なったものになっていたでしょう。

オープンソースソフトウェアは、プログラマーのみならず、すべての人々にとって重要です。それは、クローズドソースモデルよりもはるかに多くの人々にイノベーターになれるチャンスを提供するからです。たとえば、オープンソース・コミュニティはオープンソース・プロジェクトを中心に組織されていますが、プロジェクトにはスキルを持つ人なら誰でも参加してコードに貢献できます。これらのグループにも、オープンソース・プロジェクトへの貢献に関する規定はあります。そこはプロプライエタリー・ソフトウェアのチームと同じです。しかしこのプロセスは、貢献したいと考える世界中のすべての人たちに開かれています。

今日使用されている最も重要なアプリケーションとクラウドプラットフォームには、このオープンソース開発モデルによって生まれたものもあります。その中で最も一般的なのが、Web の大部分を支えるサービススタックモデルの LAMP です。LAMP の頭文字が表す意味は次のとおりです。

  • Linux:オープンソースのオペレーティングシステム (OS) であり、世界最大のオープンソース・プロジェクト
  • Apache:初期の Web で重要な役割を果たしたオープンソースのクロスプラットフォーム Web サーバー
  • MySQL:多くのデータベース駆動型 Web アプリケーションで使用されるオープンソースのリレーショナル・データベース管理システム
  • PHP:ソフトウェア開発で使用される汎用スクリプト言語 (Perl または Python 言語に置き換えられることもあります)

よく知られているオープンソース・テクノロジーの他の例としては、モバイル OS の Android、Web ブラウザの Mozilla Firefox、広く使用されているバージョン管理システムの Git、2 つの関連するオフィススイートの OpenOffice と LibreOffice があります。また、視点を広げると、クラウド・コンピューティング、ビッグデータ、人工知能の分野におけるほとんどのイノベーションは、オープンソースソフトウェア・プロジェクトから生まれたものです。 

オープンソースソフトウェアは、初期の Web や、現在最も広く使用されているいくつかのアプリケーションで重要な役割を果たしましたが、それに加えて、企業プログラマーや個人プログラマーにとって他の利点があります。ソースコードがオープンであれば、誰でも簡単に学習できるようになり、新しいプログラミングスキルを身に付けられます。オープンソース・ライセンスにより、学習者はコードを編集して、それを友人やより大きなオープンソース・コミュニティと共有したり、あるいは既存のオープンソース・プロジェクトの修正に貢献したりすることで実践を積むこともできます。

また、オープンソースソフトウェアは、企業が特定のニーズに合わせてカスタマイズしたり、元のソースコードに含まれていない新しいカスタマー・エクスペリエンスを導入したりすることも可能にします。ソースコードがオープンに利用可能で、アクティブなコミュニティがそれをサポートしているということは、セキュリティの脆弱性をチェックしている開発者が多いということでもあるため、オープンソースソフトウェアの方を好む人たちもいます。

オープンソースソフトウェアは、オープンソース開発モデルから生まれました。オープンソース開発モデルは分散化されており、オープンなコラボレーションとピアプロダクションを促進します。これはソフトウェア開発の幅広い動きに影響を与えており、人々はしばしばそのコア原則を「The Open Source Way (オープンソースウェイ)」と呼んでいます。

The Open Source Way (オープンソースウェイ) は技術力のある大勢の人材に支持されており、優れた効果があります。テクノロジーにおけるイノベーションの多くはオープンソース・コミュニティで起こり、世界中の人々がオープンソースソフトウェアを利用する結果となっています。多数の人気のある Web サイトやアプリケーションのベースには Linux、Kubernetes、Git などのプロジェクトが使用され、インターネットのアクセスには Firefox や Chromium などのオープンソース・ブラウザーが使用されています。

オープンソース・ストーリーのロゴ

インスリンのオープンソース化:糖尿病患者の自由なアクセスに向けて

Tidepool へようこそ。Tidepool は「膵臓でゲームをする」(当人たちが好んで使う表現)イノベーターたちが集まる、成長を続けるコミュニティです。#WeAreNotWaiting 運動を発端として活動を始めた彼らは、オープンソースを活用して糖尿病ケアの未来を変革しており、たとえば、糖尿病データへのアクセスを容易にしてより良い結果を安全に達成する方法などを開発しています。

全編を見る

関連資料

記事

Fedora と Red Hat Enterprise Linux の違い

いずれもオペレーティングシステム・テクノロジーですが、Fedora はオープンソース・コミュニティによって構築され、Red Hat Enterprise Linux はエンタープライズ向けの IT プラットフォームとして使用されることを明確に意図した上で、Red Hat が開発しています。

記事

オープンソースとは

オープンソースとは、オープンソースソフトウェア (OSS) を指す言葉です。オープンソースソフトウェアは誰もが見ることができ、修正したり配信したりできるコードのことです。 

記事

KVM とVMware

この KVM とVMware の比較を読んで、お客様にとってどちらのハイパーバイザーが最適かをご確認ください。