OSGeo/FOSS4G周辺における「自由」「オープン」「Free」

※このエントリーはFOSS4G Advent Calendar 2012のエントリーとして書いております。他のエントリーもとても面白く、勉強になりますので、ぜひご一読下さい。

はじめに

本当は何か具体的なツールの使い方などを紹介した方がいいのかもしれませんが、
最近OSGeo財団日本支部関係やFOSS4G関係のイベントなどで言葉が曖昧なまま使われている例や間違った意味で使われている例を最近よく目にし、
発信する側が言葉を間違って使っているのはいかがなものか、と思いましたので
ちょっと堅いですがこんなエントリーにしてみました。
決してこんなイベントをやるからこういうネタで書くわけじゃありませんよ(ステマ)。
あと、今週はぶっ飛んだ面白いエントリーが多かったのに、ここに来てこんな堅い話になって水を差すことになってしまって申し訳ございません…。

「OSGeo」および「FOSS4G」について

「OSGeo」とはOSGeo財団(The Open Source Geospatial Foundation)のことで、
「高品質のオープンソース地理空間ソフトウェアの支援と構築のために設立されました。この財団の目的は、コミュニティーが先導して、オープンソースプロジェクトの利用と開発を促進することです。」
(http://www.osgeo.jp/ より引用)
「FOSS4G」とは「Free Open Source Software for(4) Geospatial」の略で、
英語としては不自然な表現だと指摘されることもありますが、
一応、「自由でオープンなGISソフトウェア」と言う意味です。
ただし、この言葉には、OSGeo財団が主催するカンファレンス/イベントのタイトルとしても用いられることがあります。
ここでややこしいのは、FOSS4Gのカバー範囲はどこまでか、という事です。
僕自身は狭義にはOSGeo財団が開発を支援しているプロジェクトの成果物に対する名称だと考えております。
現在OSGeo財団が支援しているプロジェクトは、財団の公式Webサイト http://www.osgeo.org/ ここの右側のペインにリストが挙げられています。
著名なソフトウェアはこちらに沢山挙げられていますが、
自由でオープンなGISソフトウェアはこれ以外にも沢山あります。
例えば有名なところではSAGA GISGMTといったソフトウェアはOSGeo財団の支援は受けておりません。
これらもライセンスはGPLなどを採用しており、立派な自由でオープンなソフトウェアなのですが、FOSS4Gと言えるかというと微妙です。
単純に英単語の意味としては確かにFOSS4Gなのですが…。
なお、ドイツではFOSSGIS e.V.という非営利社団法人があり、OSGeo財団の支援を受けていない自由でオープンなGISソフトウェアや、
更にはオープンなジオデータをも扱う、「FOSSGIS」というカンファレンスを開いています。
http://www.fossgis.de/
そして、このFOSSGIS e.V.が設置している http://freegis.org/ というサイトには、OSGeo財団の支援を受けていないGISソフトウェアが数多く登録されています。
これらを包括した呼び方は現状では定義されていないの状態です。

「FOSS」って?

ところで、そもそも「FOSS4G」の「FOSS」の部分についても実は説明が必要なことが多いようです。
なお、「FOSS」という言葉は、近年は「Free/Libre Open Source Software: FLOSS」と呼ばれることも多くなってきています。
本当はこれらの言葉の背後には長い歴史があり、
こんなざっくり書いたらいろんな人から怒られてしまうのですが、
とりあえずさらっと書きたいと思います。
詳しい説明はWikipediaなどでも解説されていますから、
踏み込んで勉強したい方はそうした関連ドキュメントに目を通して下さい。

「Free Software」と「Open Source Software

まず、「Free Software」と言う言葉と「Open Source Software」と言う言葉ですが、
厳密にはイコールの概念ではありません。
歴史的には「Free Software」という言葉が先に存在し、その言葉の定義に不満を持った人たちが、それを避けて新しい概念として立てたのが「Open Source Software」という言葉です。

「Free Software」

「Free Software」という言葉はフリーソフトウェア財団(Free Software Foundation: FSF)が提唱する言葉で、厳密な提議があります。
そして、この邦訳としては「自由なソフトウェア」と呼ぶことを、この言葉を定義したRichard Stallman氏が推奨しています。
http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AA%E3%83%BC%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2#cite_note-1
ここでの「Free」は決して「無料」のことを指すのでは無く、「自由」を意味しています。
ですので、「有料な『Free Software』」というものも存在すること自体は可能です(実質的な意味があるかは別問題です)。

Open Source Software

一方、「Open Source Software」については「Free Software」に不満があった人々によって定義された部分もある言葉なので、その性質には若干の相違があります。
例えばFree Softwareではソフトウェアのソースを改変したものを再配布する場合には、利用者が改変部分を入手できるようにする必要があります。
しかし、オープンソースの場合は、その義務が伴わないものも認められています。
ただ、方向性として、自由に使えるソフトウェアにしたい、という思いは両者とも同じなので、このように併記して用いられることが多いのです。
詳しくは関連ドキュメントを参照して下さい。

「自由≠無料」、「Free」「フリー」って?

日本ではよく、「無料のソフトウェア」のことを指して「フリーソフト」という言葉が用いられることがあります。
しかしこの「フリーソフト」という言葉は非常に曖昧です。
また「フリーウェア」という言葉もあります。こちらは、ほとんど自由でオープンという点を強調せず、
無料である点のみを強調している場合が多いように見受けられます。
個人的な意見としては、きちんと「フリーソフトウェア」なら「フリーソフトウェア」もしくは「自由なソフトウェア」と言うべきで、
無料のソフトウェアに対しては「無料ソフトウェア」や「フリーウェア」などの言葉を使うべきだと思います。
「フリー」という言葉も安易に使うのではなく、できるだけきちんと文脈に即して「自由」あるいは「無料」と言う言葉を使って表現すべきでしょう。
無料でも自由ではないソフトウェアは沢山あります。多くの場合はソースコードは入手できず、実行形式のファイル(バイナリファイル)のみが提供されています。
例えば有名なところでは、Adobe Readerや、GISソフトウェアではGoogleEarthやカシミール3Dなどです。

なぜ「自由」が大事なのか?

自由の担保は非常に重要です。
「タダより高いものはない」とはよく言いますが、
無料だからといってそれに頼っていると、ある日突然それが使えなくなったりした際に、困るのはその利用者です。
特定の企業や個人の思惑に左右されることは避けられません。
仮に、過去にダウンロードしたものがあったとしても、多くの無料だが自由ではないソフトウェアの場合、
利用規約でそうしたファイルの再配布は認めてられていなかったりします。
こうなるともうお手上げです。
僕が自由でオープンなソフトウェアをことさら強調するのは永続性の確保や特定の企業などによる囲い込み(ベンダーロックイン)を避けることなどを重視しているからです。
また、自分が身を置く学問の世界においては特に、研究の成果は広く人類に還元されるべきであり、
そのためには誰もがアクセスできる方法で研究が行われることが望ましいと考えています。
分析をする際に用いられるソフトウェアも同様でしょう。
また、研究の世界というのはその世界のカッティングエッジであるため、細かく自分の要求に応じて処理が修正できる必要があります。
そのためにも処理がブラックボックス化されたソフトウェアは具合が悪いのです。

みんながハッピーな未来に向けて

無料も悪いことではないのですが、
自由でオープンなソフトウェアを積極的に使っていきましょう。
その先にはみんながハッピーになれる未来があると思います。
またそうしたソフトウェアの開発コミュニティにも積極的に参加して、
自分達が使っているソフトウェアを自分達で育てていきましょう。
タダ乗り(フリーライド)することも悪いことではありませんが、
与えられるのを待ち、満足いかなかったからといって不満を述べているだけでは、
いつまで経ってもそのソフトウェアが良くなることはありません。
せっかく自由でオープンなのです。
みんなで良くしていく事で、自分も、また自分の後に続く人たちにも幸せが訪れるようになるといいですよね!


Happy Hacking!!


明日はnao.tさんです。


※本当はライセンスのことも書こうと思っていたのですが、量が多くなってきたので、エントリーを分けて議論したいと思います。