フリーソフトウェア
フリーソフトウェア (free software) とは、ソフトウェアのうち、フリーソフトウェア財団が提唱する自由なソフトウェアを指す。大半のフリーソフトウェアは無償(フリー)で配布されているが、定義に従えば、ここでいうフリーソフトウェアについて一次配布が無償である必要は必ずしもない。
フリーソフトウェア財団はフリーソフトウェアの定義を提示している。ソフトウェアライセンスについてはフリーソフトウェアライセンスを参照。
定義に照らして自由ではない、すなわち改造や再配布などに制限が掛かっていたり、ソースコードが開示されていない、無償で利用できるソフトウェアとは異なる概念であり、この場合はフリーウェアもしくは無料ソフトと呼ぶことが望ましいとフリーソフトウェア財団はしている。
逆に定義に従ったソフトウェアであれば、一次的な配布が有償であってもフリーソフトウェアと呼ぶことができる。ただし、前述したように配布が自由であるため、ほとんどのフリーソフトウェアは無償で配布されている。
また、現状強い影響力を持つ定義として、フリーソフトウェア財団の定義の他に、DebianフリーソフトウェアガイドラインとそれをベースにしたOpen Source Initiativeのオープンソースの定義がある。
目次
自由なソフトウェアと、無償のソフトウェア
そもそも、英単語であるフリー (free) は、「自由」と「無料」、双方の意味をもっていて、たんに"free"といっただけでは区別が付かない。これに対し、フリーソフトウェアの概念においては、「自由」と「無料」の違いが大きな意味を持つ。このため、英語圏では、自由のfreeと、無料のfreeを区別するため、無料を示すのに「free as in "free beer"(無料のビール)」、また、自由であることを示すのに「free as in "free speech"(言論の自由)」などという表現がよく使われる。
熟語として記述する際には、"free software"、"Free Software"と区別している。前者がよく言われる"無料のソフトウェア"であり、後者は固有名詞で、リチャード・ストールマンが自由なソフトウェアに対して名づけた"自由なソフトウェア"のことである。最近では本来英語の単語でないものの、「自由」を意味する単語としてラテン語の "libre" を使い "Software libre" のように表すこともある。
英語圏だけではなく、日本でもフリーソフトウェアは二通りの意味に使われているが、日本語で、単に"フリーソフトウェア"と表記しただけでは、一般的な意味でいう"無料のソフトウェア"か、それともリチャード・ストールマンのいう"自由なソフトウェア"か、情報が抜け落ちてしまって区別できない。このため、この違いが重要な文脈においては、どちらの「フリーソフトウェア」なのかを、特に示す必要がある。
無償のソフトウェア
フリーウェアを参照のこと。
自由なソフトウェア
自由を促進するという意味でフリーと呼ばれている。コンパイルした成果物だけでなく、ソースコードが入手可能であり、さらに、その改変と再配付も自由である必要がある。
フリーソフトウェア財団(FSF)の創始者リチャード・ストールマン(RMS)が、自由に利用し、改変し、再配布することができるという意味でフリーソフトウェアという語を1980年代初頭に作った。この場合、単に無料であるソフトウェアは、"フリーウェア"と呼んで区別するが、フリーソフトウェアとも呼ばれている。
ソフトウェアが自由であることを重視するリチャード・ストールマンの立場からは「無料」との混同は避けたいところである。そのため、彼は折に触れてこの区別を強調し、また「日本語にはせっかく2つの意味を区別する言葉があるのだから、フリーソフトウェアではなく自由なソフトウェアと呼んで欲しい」と述べている[1]。
フリーソフトウェアは、著作権を放棄した「パブリックドメインソフトウェア」とは異なる。一見矛盾しているように見えるかも知れないが、フリーソフトウェアは(自身が自由であるための手段として)著作権を明確に主張し、そのライセンスの文中で自由を規定するという方法を取っている。
このため、あるソフトウェアが、自由なソフトウェアである場合には、自由であることを、ライセンスで明確に示しており、確認することができる。ライセンスが、例えばGPL、LGPL、GFDL、BSDライセンス、X11ライセンスなどであれば、自由なソフトウェアである。
現在、GNU/Linuxとして知られるフリーソフトウェアのオペレーティングシステムのプロジェクト:GNUを始めるに当たって、作られるソフトウェアの自由を保証するために、フリーソフトウェアの概念を定義した。GNUはフリーソフトウェアのみで構成されるというわけである。
フリーソフトウェアとして認められるライセンスには、二通りある。
- コピーレフトなフリーソフトウェアのライセンス
- コピーレフトではないフリーソフトウェアのライセンス
- 再配付/改変後のソフトウェアをフリーソフトウェアにする必要のないライセンス。
- BSDライセンスなど。
自由と無料の比較
ソースコードが公開されなければ、自由なソフトウェアではない。ソフトウェアを自由に変更・配布することはソースコード無しには極めて困難だからである。
しかし、ソースコードが付属していても、ソースコードを改変したり配布したりする自由が制限されていれば自由なソフトウェアとは言えない。
自由なソフトウェアは、そのソフトウェアが仮に有料で取得されたとしても、それを無料でコピーすることを制限しない。また、同時に、自由なソフトウェアは、それを有料で販売することも制限していない。「自由」には有料で販売する自由、無料でコピーする自由が含まれている。したがって、「有料なので自由なソフトウェアではない」という判断は間違いである。例えばLinuxディストリビューションに有償のものも多いように、自由なソフトウェアを集めてそれらを有償で販売する製品形態は定着してきている。
自由なソフトウェアは、有用なものであれば大抵はそれを無料で配布しようとする者が現れる。勿論、無料で配布することは自由である。その意味では自由なソフトウェアには無料という意味でもフリーなものが多い。
関連する概念
コピーレフト
テンプレート:Main 自由なソフトウェアが、永続的に自由であるための概念としてコピーレフトがある。
コピーレフトとは、配布にあたって「配布される人にソースコードを自由に取得・変更・再配布する権利を提供せずにプログラムの再配布をしてはいけない」という制約をつけることで一旦フリーソフトウェアになったソフトウェアは他人の手を経て再配布されてもフリーソフトウェアであり続けることを保証する。
この制約の有効性はプログラム著作者の著作権(コピーライト)によって保証されている。rightをleftに置き換えてコピーレフトという語が作られた。
日本においては、コピーレフトの観念を"永久に無料で更新され続ける"かのようなイメージで語られることがある(実際、フリーソフトウェア寄りの論者も、意図してかどうかはともかく、そのように表現することが多い)が、コピーレフトは、ソフトウェアを"永続的に使う機会を保証する"ために、そのソフトウェアのもとになるソースコードの利用の自由を保証する(させる)だけである。エンドユーザが常に改良されたソフトウェアを使えるかどうかとは無関係である点に注意が必要である。
要するに、プロプライエタリなソフトウェアは、なんらかの事情で権利主が更新が停止したら、そのソフトウェアの命脈は文字通りそれまでであるが、コピーレフトであれば、ソースコードを改良する人がいる限り、ソフトウェアの更新も継続される、ということである。逆にいえば、コピーレフトであっても、誰もメンテナが居なければそのソフトウェアはそのままであるし、実際にそういうソフトウェアは多い。
コピーレフトもまたGNUを始めるに当たって、より自由なソフトウェアを定義するための概念である。GPL/LGPLは、コピーレフトを実現する法的に有効なライセンスで、弁護士の協力の元に作られた。
ソフトウェアに例えて言えば、コピーレフトは「アーキテクチャ」であり、GPLはその「実装」ということになる。つまり、コピーレフトを実現するライセンスにはGPL以外にもあり得る。
コピーレフトやGPL自身が、実社会で動作するコンピュータプログラムの様なもので、天才プログラマのストールマンならではの作品だと言える。自由な社会を作り出すプログラムである。「GPLをあなたのソフトウェア/作品に組み込めばそれは、自由な社会を作り出すために自動的に働き始めますよ」と言うわけだ。
GNUなどの考え方としては、コピーレフトなライセンスが「自由な世界のソフトウェアは自由を失うことが難しい」という意味で、より自由ということになる。
これに対して、BSDを始めとしたコピーレフトではないフリーソフトウェアなライセンスは、「自由なソフトウェアが将来自由を失う可能性があり得る」という意味で、コピーレフトに比べて自由さに欠けるとされる。例えば、BSDライセンスで公開されているソフトウェアを改良して公開するとき、必ずしもソースコードを公開しなくても良い。コピーレフトの考え方によれば、このとき「改良されたバージョンは自由が失われている」とされる。
一方、コピーレフトは「自由であること」が失われないために「自由でなければならない」という制約を付けていると見ることもできる。例えば、コピーレフトなソフトウェアを改造して公開する場合、ソースコードの公開を拒むことはできない。コピーレフトなソフトウェアをBSDライセンスで公開することもできない。この意味で、「コピーレフトは制約が強く、BSDライセンスなどに比べて自由でない」と考える人もいる。
詳しくはGNUプロジェクトの「さまざまなライセンスとそれらについての解説[2]」にフリーソフトウェアとして認められるライセンスの一覧があり、必要に応じて更新されている(日本語版は英語版に比べて更新が遅れるので、最新の情報を得る必要があるときは、英語版を参照のこと)。
オープンソース
テンプレート:Main フリーソフトウェアという言葉は「無料」を連想させるため、一般企業には採用されにくい考えかたであった。この状況を改善させるため、エリック・レイモンドらによって近年オープンソースという語が提案され、広く使われるようになった。オープンソースという言葉には自由の思想が含まれておらず(前述の状況を回避するため意図的に避けられている)、あくまでビジネス上の企業戦略の一つとして紹介された。「ソースコードを公開するとどういうメリットがあるか」が関心の中心である。
オープンソースはソースを取得、変更、再配布できることに注目し、ソフトウェアの自由を維持するためのコピーレフトの概念は含まれていない。
このような違いから、フリーソフトウェアとオープンソースの立場は別の物として扱われている。形としては、オープンソースはフリーソフトウェアの一部のように見えるが、意味としては全く違うと、リチャード・ストールマンは主張している。逆にオープンソースは、フリーソフトウェアをその一部として含む。
各ライセンスはオープンソースの概念を発表・定義し、推進する団体であるOpen Source Initiativeによる認証を受けることで「オープンソース・ライセンス」を名乗ることができる。しかしオープンソースは流行語になったため独自の解釈による自称オープンソースが複数存在するため問題となっている。
産業としてのフリーソフトウェア
フリーソフトウェアが提唱された当初は、「ソフトウェアの私有を否定する共産主義的思想」「品質が保証されないため信頼性が低い」などの批判もあり、利用者は研究者や個人に限られ、産業としてフリーソフトウェアが開発・利用されることは稀であった。
1990年代になると、インターネットの爆発的普及により、フリーソフトウェアに携わる技術者が世界的に増大した。 また、ダウンサイジングとオープンシステムの普及により、情報システムにおける標準化とコストの劇的な低下が起こり、相対的にシステム構築や、保守運用のコストの比重が増加した。
このため、フリーソフトウェアを使用し、情報システムの構築、保守運用を行うことで利益を上げるベンチャービジネスが勃興した。 このような企業において独自に行われた、バク修正や機能の追加は、インターネットを通じ公開され、フリーソフトウェアの信頼性向上や高機能化に貢献した。 企業も、社会貢献によるイメージアップと、技術力を示すことによる広告効果が期待できたため、積極的にフリーソフトウェア開発に携わった。
2000年代になると、フリーソフトウェア産業はエコシステムとして機能するようになり、多くの人から産業としての価値を認められるようになった。 また、従来からの大企業がフリーソフトウェアに関わることも珍しくなくなった。
一方、現在でもフリーソフトウェア開発では、特許などの知的所有権の保護が十分検証されておらず、企業での利用にはリスクがあると批判されることがある。 また、保守運用で利益を上げることが難しい個人向けソフトウェアでは、フリーソフトウェアの使用は進んでいない。
脚注
関連項目
参考文献
- リチャード・ストールマン『フリーソフトウェアと自由な社会 Richard M. Stallmanエッセイ集』アスキー ISBN 4-7561-4281-8
外部リンク
- フリーソフトウェアの定義
- GNU プロジェクトの概要
- GNU プロジェクトの思想
- 「フリーソフトウェア」が「オープンソース」より好ましい理由
- Debian フリーソフトウェアガイドライン (DFSG) - Debian プロジェクトによる、何をもってフリーソフトウェアと言えるのかの妥当な定義。