フリーソフトウェア
フリーソフトウェアまたは自由ソフトウェア（）とは、ユーザーがどのような目的に対しても実行することを許可し、また、プログラムについて研究したり、変更したり、それを配布したりする自由も認めることを条件として配布されるコンピュータソフトウェアのことである。フリーソフトウェアの「フリー」とは、価格が「無料である」ソフトウェアという意味ではなく、上記のような「自由がある」ソフトウェアという意味である。つまり、自由ソフトウェアには、プログラムの対価として支払った価格とは無関係に、ユーザーが（個人で、あるいは、コンピュータプログラマーと協力して）ソフトウェアのコピーを用いて、自身が望むことを（自由ソフトウェアを用いて利益を獲得することを含めて）する自由が存在するということである。コンピュータプログラムが自由であるとみなされる必要十分条件は、本質的には（開発者のみではなく）すべてのユーザーに第一にプログラムをコントロールする権利があるということであるとされる。したがって、ユーザーが所有する装置が「自由」であるためには、プログラムによって何が行われるのかを、ユーザーが本質的にはコントロールできなければならない。
コンピュータプログラムを研究したり変更したりする権利を保証するためには、ユーザーがプログラムのソースコード（これがプログラムの変更を行うために適した形式である）を読むことが可能である必要がある。このことは「ソースコードにアクセスできる」（access to source code）とか「パブリックに利用できる」（public availability）という言葉で言い表されることがよくあるが、フリーソフトウェア財団は、単純にこのような表現を使ってプログラムを考えることに反対している。その理由として、このような表現を使うと、プログラムのコピーを他者に与えなければならないという義務（義務とは権利とは正反対のものである）がユーザーにある、という印象を与える恐れがあることを挙げている。
フリーソフトウェア（"free software"）という言葉は、自由ソフトウェアの概念が生まれる以前からゆるく使われていたが、リチャード・ストールマンは、彼がGNUプロジェクトを立ち上げたのと同じ1983年から、この言葉を上記で述べたような意味で使うことを促すフリーソフトウェア運動（自由ソフトウェア運動）を開始した。GNUプロジェクトは、自由の精神を尊重したオペレーティングシステムを協力して製作するプロジェクトであり、コンピュータの黎明期にハッカーたちの間に存在していた、互いに協力する精神をよみがえらせることを目的としている。
フリーソフトウェア財団はフリーソフトウェアの定義を提示している。ソフトウェアライセンスについてはフリーソフトウェアライセンスを参照。
定義に照らして自由ではない、すなわち改造や再配布などに制限が掛かっていたり、ソースコードが開示されていない、無償で利用できるソフトウェアとは異なる概念であり、この場合はフリーウェアもしくは無料ソフトと呼ぶことが望ましいとフリーソフトウェア財団はしている。
逆に定義に従ったソフトウェアであれば、一次的な配布が有償であってもフリーソフトウェアと呼ぶことができる。ただし、前述したように配布が自由であるため、ほとんどのフリーソフトウェアは無償で配布されている。
また、現状強い影響力を持つ定義として、フリーソフトウェア財団の定義の他に、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つの意味を区別する言葉があるのだから、フリーソフトウェアではなく自由なソフトウェアと呼んで欲しい」と述べている。
フリーソフトウェアは、著作権を放棄した「パブリックドメインソフトウェア」とは異なる。一見矛盾しているように見えるかも知れないが、フリーソフトウェアは（自身が自由であるための手段として）著作権を明確に主張し、そのライセンスの文中で自由を規定するという方法を取っている。
このため、あるソフトウェアが、自由なソフトウェアである場合には、自由であることを、ライセンスで明確に示しており、確認することができる。ライセンスが、例えばGPL、LGPL、GFDL、BSDライセンス、X11ライセンスなどであれば、自由なソフトウェアである。
現在、GNU/Linuxとして知られるフリーソフトウェアのオペレーティングシステムのプロジェクト：GNUを始めるに当たって、作られるソフトウェアの自由を保証するために、フリーソフトウェアの概念を定義した。GNUはフリーソフトウェアのみで構成されるというわけである。
フリーソフトウェアとして認められるライセンスには、二通りある。
ソースコードが公開されなければ、自由なソフトウェアではない。ソフトウェアを自由に変更・配布することはソースコード無しには極めて困難だからである。
しかし、ソースコードが付属していても、ソースコードを改変したり配布したりする自由が制限されていれば自由なソフトウェアとは言えない。
自由なソフトウェアは、そのソフトウェアが仮に有料で取得されたとしても、それを無料でコピーすることを制限しない。また、同時に、自由なソフトウェアは、それを有料で販売することも制限していない。「自由」には有料で販売する自由、無料でコピーする自由が含まれている。したがって、「有料なので自由なソフトウェアではない」という判断は間違いである。例えばLinuxディストリビューションに有償のものも多いように、自由なソフトウェアを集めてそれらを有償で販売する製品形態は定着してきている。
自由なソフトウェアは、有用なものであれば大抵はそれを無料で配布しようとする者が現れる。勿論、無料で配布することは自由である。その意味では自由なソフトウェアには無料という意味でもフリーなものが多い。
自由なソフトウェアが、永続的に自由であるための概念としてコピーレフトがある。
コピーレフトとは、配布にあたって「配布される人にソースコードを自由に取得・変更・再配布する権利を提供せずにプログラムの再配布をしてはいけない」という制約をつけることで一旦フリーソフトウェアになったソフトウェアは他人の手を経て再配布されてもフリーソフトウェアであり続けることを保証する。
この制約の有効性はプログラム著作者の著作権（コピーライト）によって保証されている。rightをleftに置き換えてコピーレフトという語が作られた。
日本においては、コピーレフトの観念を"永久に無料で更新され続ける"かのようなイメージで語られることがある(実際、フリーソフトウェア寄りの論者も、意図してかどうかはともかく、そのように表現することが多い)が、コピーレフトは、ソフトウェアを"永続的に使う機会を保証する"ために、そのソフトウェアのもとになるソースコードの利用の自由を保証する(させる)だけである。エンドユーザが常に改良されたソフトウェアを使えるかどうかとは無関係である点に注意が必要である。
要するに、私有ソフトウェアは、なんらかの事情で権利主が更新が停止した場合、そのソフトウェアの命脈は文字通りそれまでであるが、コピーレフトであれば、ソースコードを改良する人がいる限り、ソフトウェアの更新も継続される、ということである。逆にいえば、コピーレフトであっても、誰もメンテナンスしなければそのソフトウェアはそのままであるし、実際にそういうソフトウェアは多い。
コピーレフトもまたGNUを始めるに当たって、より自由なソフトウェアを定義するための概念である。GPL/LGPLは、コピーレフトを実現する法的に有効なライセンスで、弁護士の協力の元に作られた。
ソフトウェアに例えて言えば、コピーレフトは「アーキテクチャ」であり、GPLはその「実装」ということになる。つまり、コピーレフトを実現するライセンスにはGPL以外にもあり得る。
コピーレフトやGPL自身が、実社会で動作するコンピュータプログラムのようなもので、天才プログラマのストールマンならではの作品だと言える。自由な社会を作り出すプログラムである。「GPLをあなたのソフトウェア/作品に組み込めばそれは、自由な社会を作り出すために自動的に働き始めますよ」というわけだ。
GNUなどの考え方としては、コピーレフトなライセンスが「自由な世界のソフトウェアは自由を失うことが難しい」という意味で、より自由ということになる。
これに対して、BSDを始めとしたコピーレフトではないフリーソフトウェアなライセンスは、「自由なソフトウェアが将来自由を失う可能性があり得る」という意味で、コピーレフトに比べて自由さに欠けるとされる。例えば、BSDライセンスで公開されているソフトウェアを改良して公開するとき、必ずしもソースコードを公開しなくても良い。コピーレフトの考え方によれば、このとき「改良されたバージョンは自由が失われている」とされる。
一方、コピーレフトは「自由であること」が失われないために「自由でなければならない」という制約を付けていると見ることもできる。例えば、コピーレフトなソフトウェアを改造して公開する場合、ソースコードの公開を拒むことはできない。コピーレフトなソフトウェアをBSDライセンスで公開することもできない。この意味で、「コピーレフトは制約が強く、BSDライセンスなどに比べて自由でない」と考える人もいる。
詳しくはGNUプロジェクトの「さまざまなライセンスとそれらについての解説」にフリーソフトウェアとして認められるライセンスの一覧があり、必要に応じて更新されている（日本語版は英語版に比べて更新が遅れるので、最新の情報を得る必要があるときは、英語版を参照のこと）。
フリーソフトウェアという言葉は「無料」を連想させるため、一般企業には採用されにくい考えかたであった。この状況を改善させるため、エリック・レイモンドらによって近年オープンソースという語が提案され、広く使われるようになった。オープンソースという言葉には"自由"の思想が含まれておらず（前述の状況を回避するため意図的に避けられている）、あくまでビジネス上の企業戦略の一つとして紹介された。「ソースコードを公開するとどういうメリットがあるか」が関心の中心である。
オープンソースはソースを取得、変更、再配布できることに注目し、ソフトウェアの自由を維持するためのコピーレフトの概念は含まれていない。
このような違いから、フリーソフトウェアとオープンソースの立場は別の物として扱われている。形としては、オープンソースはフリーソフトウェアの一部のように見えるが、意味としては全く違うと、リチャード・ストールマンは主張している。逆にオープンソースは、フリーソフトウェアをその一部として含む。
各ライセンスはオープンソースの概念を発表・定義し、推進する団体であるOpen Source Initiativeによる認証を受けることで「オープンソース・ライセンス」を名乗ることができる。しかしオープンソースは流行語になったため独自の解釈による自称オープンソースが複数存在するため問題となっている。
フリーソフトウェアが提唱された当初は批判意見もあり、利用者は研究者や個人に限られていた。
1990年代になると、インターネットの爆発的普及により、フリーソフトウェアに携わる技術者が世界的に増大した。また、ダウンサイジングとオープンシステムの普及により、情報システムにおける標準化とコストの劇的な低下が起こり、相対的にシステム構築や、保守運用のコストの比重が増加した。
このため、フリーソフトウェアを使用し、情報システムの構築、保守運用を行うことで利益を上げるベンチャービジネスが勃興した。
このような企業において独自に行われた、バク修正や機能の追加は、インターネットを通じ公開され、フリーソフトウェアの信頼性向上や高機能化に貢献した。企業も、社会貢献によるイメージアップと、技術力を示すことによる広告効果を期待することよりも、特定の高価な独占ソフトウェアでは利益が独占企業に集中するだけであり、対抗して作られてきたフリーソフトウェアに積極的に開発に携わることにより、利益確保の道を模索している。あるいは、開発、保守の費用負担ができなさそうなソフトウェアをフリーソフトウェアとしてソースコードを公開することより、固定的な費用負担を削減することを目的としている場合もある。
2000年代になると、フリーソフトウェア産業はエコシステムとして機能するようになり、多くの人から産業としての価値を認められるようになった。また、従来からの大企業がフリーソフトウェアに関わることも珍しくなくなった。
一方、現在でもフリーソフトウェア開発では、特許などの知的所有権の保護が十分検証されておらず、企業での利用にはリスクがあると批判されることがある。しかし、国際規格などの公開の規格類に適合していれば、特許・知的所有権は規格制定とその後の所定の期間で検証済みとなるため、企業での利用にリスクがあるとは限らない。保守運用で利益を上げることが難しい個人向けソフトウェアでは、有償のフリーソフトウェアの運用は進んでおらず、個人の自己責任での利用が広がっている。また、フリーソフトウェアが入っていることを知らずに利用している場合の方が多くなっている。