You can edit almost every page by Creating an account. Otherwise, see the FAQ.

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

提供:EverybodyWiki Bios & Wiki
移動先:案内検索

オープンソースソフトウェア(英: Open Source Software、略称: OSS)とは、利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配布が可能なソフトウェアの総称である。

解説[編集]

1950年代のコンピュータ上でソフトウェアが稼働するようになった頃、学術機関・研究機関の間でソフトウェアのソースコードはパブリックドメインで共有されていた。1970年代前後よりソフトウェア開発は徐々に商業となり、ソフトウェアの再頒布を禁止するプロプライエタリソフトウェア、ソースコードを非公開とするクローズドソースの文化ができあがった。1980年代より利用者がソフトウェアのソースコードを自由に利用できないことをストレスに感じた人たちはフリーソフトウェア財団やオープンソース・イニシアティブを立ち上げ、ソースコードを一般に公開してソフトウェアの利用者による利用・修正・再頒布を許すことによるソフトウェア開発の発展を提唱し、オープンソースソフトウェアの文化ができあがった。

一般に使われている基準として、オープンソース・イニシアティブの提唱するオープンソースおよびフリーソフトウェア財団の提唱する自由ソフトウェアのカテゴリに含まれるソフトウェアがオープンソースソフトウェアである。ソフトウェアのソースコードが公開されていても、その利用・修正・再頒布が有償である、商用利用は禁止されるなどの制限がある場合は、オープンソースソフトウェアではなくプロプライエタリソフトウェアやシェアードソース・ソフトウェアと呼ばれる。オープンソースソフトウェアに課すソフトウェアライセンスはオープンソースライセンスと呼ばれ、管理団体やコミュニティによってある程度精査されており、GNU GPL・Apache-2.0・MITなどの既存の汎用的なライセンスを利用することが推奨されている。

類似した概念にオープンソースハードウェア・オープンシステム・オープンコンテントなどがある。

歴史[編集]

1950年代のコンピュータ上でソフトウェアが稼働するようになった頃、学術機関・研究機関の間でソフトウェアとソースコードはパブリックドメインで共有され、ソフトウェアのソースコードを利用者が共有・修正・再頒布する文化は存在していた。1970年代以降、ソフトウェア開発は徐々に商業となり、ソフトウェアの頒布に制約を付与するプロプライエタリソフトウェア、ソースコードを非公開とするクローズドソースの文化ができあがった。

1980年代序盤、リチャード・ストールマンは利用者がソフトウェアのソースコードを自由に利用できないことは非道徳であると考えて自由ソフトウェアを提唱した。リチャード・ストールマンはフリーソフトウェアだけで構成されたオペレーティングシステムを開発するGNUプロジェクトを立ち上げ、自由ソフトウェア運動を促進するフリーソフトウェア財団を設立した。フリーソフトウェアはソフトウェア利用者のソフトウェアを実行・複製・配布・研究・変更・改良する自由を守るためソースコードの公開を求め、コピーレフト・ライセンスを用いてソースコード共有文化のコモンズ(ローカル・コモンズ)の輪を広げた。

1990年代末、ネットスケープ・コミュニケーションズはエリック・レイモンドの著書The Cathedral and the Bazaarに感化されてクローズドソースで開発していたMozilla Application Suiteをフリーソフトウェアとしてソースコードを公開した。エリック・レイモンドやブルース・ペレンズ、リーナス・トーバルズたちはソースコードの共有は望ましいが、自由ソフトウェア運動のプロプライエタリソフトウェアへの攻撃的姿勢とコピーレフトの閉鎖性は企業には受け入れられ辛いと考えた。そこでソースコードの共有文化の再ブランドを検討し、ソースコードを公開・共有したソフトウェア開発の実利的なメリットを主観にしたオープンソースを提唱し、オープンソース・イニシアティブを設立した。オープンソースの開発手法はホビイストやハッカーの非商用ソフトウェアだけでなく企業・商用のプロプライエタリソフトウェアにも利用され、ソフトウェア開発の分野で広く利用されるようになった。

2000年代以降、オープンソースは一般的な用語となり、オープンソースソフトウェアとして様々なソフトウェア、例えばLAMP・Ruby on Railsなどのウェブプラットフォーム、Linux・FreeBSD・Androidなどのオペレーティングシステム、OpenCVなどのライブラリ、といったものが開発された。Javaのソフトウェア開発キットであるOpenJDKや、.NET仕様のオープン実装であるMonoや.NET Coreなど、もともとクローズドソースやプロプライエタリだったソフトウェアがオープンソース化されたり、オープンソース版の実装がサードパーティの企業やコミュニティによって別途開発されたりしているものもある。TypeScriptやGoなど、公式の処理系(コンパイラやプログラミングツール)がオープンソースとなっているプログラミング言語も存在する。マイクロソフトによる従来のC#/Visual Basic .NETのコンパイラ (csc/vbc) はプロプライエタリだったが、のちにオープンソース版のRoslynコンパイラ(英語版)が開発された。処理系がオープンソース化されるプログラミング言語は、言語仕様がオープン標準になっていたり、ISOやEcmaといった団体によって標準化されていたりするものも多い。



Read or create/edit this page in another language[編集]