支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • オープンソースソフトウェアとは?詳し

オープンソースソフトウェア(OSS)の概要について

オープンソースソフトウェア(OSS)はソースコードが一般に公開され、誰でも利用や修正、 再配布を自由に行うことが認められているソフトウェアとなります。 現在のIT業界においてOSSになっておりますが、 それはコンピューターの歴史やテクノロジーの歴史と関連しております。 1950年代のソフトウェアにおいては、ソースコードはパブリックドメインで共有され共有・修正・再頒布する文化というのは存在していたのですが、1970年に入りソフトウェアが商用化するに従い、ソースコードを非公開とするクローズドソースの文化や あるいはプロプライエタリソフトウェアといった方法で制限をかけるなどの方法(プロプライエタリソフトウェアとは、ソフトウェアの入手、使用、改変、複製などに関する権利であり、技術的制限手法としてバイナリ実行コードのみを使用者に提供し、ソースコードは公開しない、あるいは法的制限手法としては、著作権や特許権、不正競争防止法、国家機密及びそれに基づくソフトウェアライセンス許諾といった方法が 存在します)が採用されてきたという歴史があります。

リチャード・ストールマンについて

1980年に入りフリーソフトウェア活動家として有名なリチャード・ストールマンがフリーソフトウェア財団を設立をして、OSSについての考え方や歴史に大きな影響を与えました。 リチャード・ストールマンはGNUプロジェクトやハッカー文化の旗手としても有名であり、コンピュータ―業界やソフトウェア業界に対して 大きな影響を与えた人物としても有名です。
ではここでフリーソフトウェア活動について説明させていただきます。 フリーソフトウェア活動はコピーレフト(著作権を保持したまま、二次的著作物も含めて、すべての者が著作物を利用・再配布・改変できるようにする考え方) を中心として、リチャード・ストールマンによって急速に拡大した考え方となります。 コピーレフトの定義としては「著作物の利用、コピー、再配布、翻案を制限しない」「改変したもの(二次的著作物)の再配布を制限しない」 「二次的著作物の利用、コピー、再配布、翻案を制限してはならない」「コピー、再配布の際には、その後の利用と翻案に制限が無いよう、全ての情報を含める必要がある」 「翻案が制限されない反面、原著作物の二次的著作物にも同一のコピーレフトのライセンスを適用し、これを明記しなければならない」という主義となります。
また、リチャード・ストールマンに関する知識としてGNU宣言(GNU Manifesto)についても説明させていただきます。 GNUプロジェクト の目標を定義し説明し、支援と参加を呼びかける文書でもありフリーソフトウェア活動における重要な考え方を表しているもです。 ここでは引用は割愛させていただきますが、GNUについての考え方や哲学について細かく定義されております。 また、GNUにおいてあるプログラムが自由ソフトウェアであるとは、そのプログラムの利用者が、以下の四つの必須の自由を有するときであるとしており、 「どんな目的に対しても、プログラムを望むままに実行する自由 」「プログラムがどのように動作しているか研究し、必要に応じて改造する自由 。 ソースコードへのアクセスは、この前提条件となります。」「ほかの人を助けられるよう、コピーを再配布する自由 。」「改変した版を他に配布する自由 。これにより、変更がコミュニティ全体にとって利益となる機会を提供できます。ソースコードへのアクセスは、この前提条件となります。」 としております。 以上がリチャード・ストールマンとGNUプロジェクトおよびフリーソフトウェア活動に関する説明となります。

エリック・レイモンドについて

1990年代後半に入り、自由ソフトウェア運動の動きを引き継いだソースコードの共有文化の再構築や、OSSの概念を再提唱し企業や商用にOSSが浸透してくるようになりました。 このような活動の中心的な人物として知られているのがエリック・レイモンドです。 エリック・レイモンドはウェブブラウザで有名なNetscapeのソースコード公開などに大きく影響を与えた人物であり、その著書である「伽藍とバザール(The Cathedral and the Bazaar)」はOSSのソフトウェア開発方式に関する書籍として非常に有名です。 また、伽藍とバザールの中で記述しているOSSに関するバザール方式は非常に有名です。 伽藍とバザールを簡単に説明させていただくと、優秀な人々がクローズの中で作った伽藍方式とオープンな環境で多くの開発者が作ったバザール方式などの違いについて述べられておりOSSの有効性やその成功のためのポイントなどが紹介されております。 例えば「早めのリリースや頻繁なリリース。そして顧客の話を聞くこと。」のようなことが述べられており、 それらの考え方は現在のアジャイル開発に直接繋がっているとも言えます。 そのほかにも伽藍とバザールでは以下のようなことが述べられており、 OSSを理解するうえで重要なポイントとして理解しておくといいでしょう。
「全ての良いソフトウェアは開発者の個人的な希望から始まる。」
「良いプログラマは何を書けば良いか知っている。凄いプログラマは何を書き直せば・何を再利用すれば良いか知っている。」
「破棄する計画を立てる。いずれにせよ、そうすることになる。」
「適切な取り組みをしていれば、おかしな問題は自発的に主張してくる。」
「ソフトウェアに興味がなくなった時には、ソフトウェアを手放して優秀な後継者に引き継ぎする。」
「利用者を共同開発者として扱うことは迅速な実装改善と効率的なデバッグの最短ルートである。」
「素早く頻繁なリリース(英語版)を実施し、顧客の話を聞く。」
「十分なベータテスターと共同開発者の基盤があれば、大半の問題はすぐに特定されて誰かが直す。」
「賢いデータ構造と愚かなソースコードは、その逆であるよりずっと良い成果を出す。」
「あなたがベータテスターを最も有益な資産として扱うなら、彼らは最も有益な資産となり応えてくれる。」
「次の最適案は利用者による良いアイディアに気付かされる。後から出たアイディアの方が良いこともある。」
「大半の衝撃的で革新的な解決策は自身の問題の捉え方が間違っていることに気付くことから始まる。」
「完璧な設計はそれ以上の追加することがなくなった時ではなく、それ以上の削減することがなくなった時である。」
「全てのツールは想像通りに便利であるべきであるが、本当に凄いツールは作者の想像を越えた便利さを与える。」
「どんなゲートウェイソフトウェアを実装する場合でも、データストリームへの影響は可能な限り最小限に抑え、受け手が強制しない限りはデータを決して破棄しない。」
「自分の書き方がチューリング完全から外れているなら、シンタックス・シュガーは手助けになる。」
「セキュリティシステムのセキュリティはそれが秘密である時だけ意味を成す。見掛けのセキュリティには注意すること。」
「おかしな問題を解決することは、おかしな問題を探すことから始まる。」
「開発コーディネーターが少なくともインターネットと同等に良質な交流手段を持って圧力をかけない先導手法を知っているなら、必然的に頭数は多い方が良い。」

オープンソース・イニシアティブとフリーソフトウェア財団について

OSSの標準化団体について説明させていただきます。 オープンソース・イニシアティブとフリーソフトウェア財団が主要の2つの組織と言えます。 オープンソース・イニシアティブはエリック・レイモンドとブルース・ペレンズによって設立された組織、 フリーソフトウェア財団はリチャード・ストールマンによって設立された組織となります。 オープンソース・イニシアティブとフリーソフトウェア財団についての考え方について大きく理解するのであれば、フリーソフトウェア財団は自由ソフトウェアを標榜、定義し社会運動の支援を行い、オープンソース・イニシアティブはオープンソースの促進や発展を支援する団体であるということとなります。 オープンソースと自由ソフトウェアの定義は解釈が難しいのですが、リチャード・ストールマンは オープンソースは自由ソフトウェアのものよりもゆるい基準に立脚しているとしております。
また、「『自由ソフトウェア』と『オープンソース』の用語はほぼ同じ範囲のプログラムを指します。 しかし、そのプログラムについて異なる価値にもとづいて深く異なることを述べます。 自由ソフトウェア運動はユーザーのコンピューティングの自由のために活動します。それは自由と正義のための運動です。 対照的に、オープンソースの考えは主に実際上の優位性に価値を置き、原理について活動しません。この点が、わたしたちがオープンソースに同意せず、その用語を使わない理由です。」とも述べています。 オープンソース・イニシアティブとフリーソフトウェア財団についての説明は長くなってしまうため、説明については以上とさせていただきます。
いずれにせよOSSの中でオープンソース・イニシアティブとフリーソフトウェア財団が担ってきたあるいは将来的に担っていく役割は非常に大きいと言えますので、興味のある方は参考文献などをご覧いただくことをおすすめします。

2000年以降のオープンソースソフトウェア(OSS)について

ここまでOSSの生い立ちと歴史について紹介させていただきました。 2000年以降のOSSについても簡単に触れておきます。 2000年代に入りOSSは市場に浸透し、多くの企業やコミュニティーによって 開発されることとなります。 オペレーティングシステムであるLinuxが代表かつ最も有名なものであり、 データベース管理システムのMySQL、プログラミング言語のJava、Perl、PHP、Pythonなど現代社会を支えるテクノロジーにおいて非常に大きな役割を担っているとは間違いありません。

オープンソースソフトウェア(OSS)のメリットについて

OSSのメリットについてポイントを絞り紹介させていただきますので、参考にしてみてください。

コスト

OSSのメリットの一点目がコストとなります。 コミュニティーおよび多くの開発者による生産性の高いソースコードを無償で利用することができるため、 企業や開発者はコスト面の負担なく開発に集中できる点は大きなメリットと言えるでしょう。 初期費用や導入後のライセンス管理費用や様々な負担がない点は OSSにおける最大のメリットであることは間違いありません。

信頼性

OSSのメリットの二点目が信頼性となります。 世界中のコミュニティーや開発者が利用していることにより、 不正なプログラムや脆弱性などのリスクなく安心して開発に利用することができます。 不正なプログラムや脆弱性が発見された場合には迅速に修正が行われることや、 様々な方法で最新のニュースを入手できることもOSSのメリットの一つとなります。

安定性

OSSのメリットの三点目が安定性となります。 サービスの終了やサポートの打ち切りといったリスクを負うことなく、 OSSではユーザーがいてコミュニティーが運営する限りは 安心して利用することができるという点はメリットと言えるでしょう。

まとめ

いかがでしたでしょうか? OSSについて説明させていただきましたので参考にしていただけましたら幸いです。