フリーのソフトウェアとは?

「フリーウェア」という曖昧な言葉の意味を考えてみましょう.

フリーソフト

さて, 今まではソフトを「作者」と「使用者」の関係として見てきました. しかし最後に少し言ったように, ソフトに関わる人は作者と使用者の二つの立場だけではありません. 「作者の作ったものを別の人にも配布したい」「作者の作ったものを自分で修正したい」という人もいます.

私はどちらかというと「フリー」という言葉に関してこちらの意味を考えてほしいのです. タダで使うだけではなく, それを広めもっと良くするために皆で一緒になって貢献しようという考え方です. フリーソフトは「作者が好意で使わせてあげる」ものではなく「皆で作っていく」ものなのです.

フリーソフトの意図は単純です. 「それがフリーソフトである事を妨げないような事以外は何をしてもいい事にしよう」というわけです. フリーソフトはどこにどう配布しても, 自分で改良してそれを公開してもいいのです. 逆にそれが望まれてさえいるのです.

著作人格権

著作人格権とは大まかに言うと「自分が作ったものである」と主張する権利のことです. これは「公表権(どこにどう発表するかを決める権利)」「氏名表示権(作ったものに自分の名前を表示する権利)」「同一性保持権(自分が作ったものを勝手に改変されない権利)」の3つがあります.

ソフトを使う代わりに対価を要求する場合, それがお金であれメールであれ,それは「著作権の行使」です. 作者は著作権に基づいて使用者に対価を要求することができますし, その権利を誰かに譲ったり放棄したりすることもできます.

それに対して, 著作人格権は作者の名誉や人格に関するものです. 例えば,他人が作ったものを勝手に「俺が作った」と主張するのは氏名表示権の侵害ですし, 他人が作ったソフトに勝手にウィルスを仕込んでそれをばらまくのは同一性保持権の侵害です. こうした権利は日本の法律では譲渡も放棄もできないことになっています.

では, 「だれでも自由に配布できるようにしたい」「だれでも自分の作ったものを勝手に書き換えられるようにしたい」場合はどうすればいいでしょう? そういった権利を放棄する代わりに前もって許諾を与えたのが「フリーソフト」です. 「いちいち連絡してこなくても私は誰にでも配布や改変の許可を与えますよ」と明記しておくわけです.

まとめます. 今まで話をしてきた無料ソフトウェアは「誰でもタダで使っていいよ」とだけ言っていたのに対し, フリーソフトはそれに加えて「誰でも勝手にコピーして配っていいし, それに勝手に変更を加えてもいいよ」というわけです. 作者が使用者への許可だけでなく改良したり配布したりする人にも無制限に許可を出しているものをここでは「フリーソフトウェア」と呼ぶことにします.

無制限ということ

「無制限」ということは文字通り「何をやってもいい」ということです. これは「皆で作っていく」ソフトでは非常に重要なことです. そして誤解されやすい事でもあります.

例えば, フリーソフトでは(ある義務項目はあるものの)「無制限の配布」を認めています. 「無制限」というのは, 誰かが勝手にフリーソフトをCDに焼いて売りつけてもいいし, あなたのの書いた文書をそのまま本にして売り出してもいいということです. こうした項目を受け入れがたい無償ソフトの作者は多く, 配布に関して「商業利用は禁止」という項目をよく見かけます.

確かに, あなたが作ったもので誰かが勝手に利益を得て自分は一銭も儲からないのはなんだか嫌なものです. しかし考えてもみてください. あなたがタダで配っているにも関わらずそういった商品を買った人は, もしそういう商品がなかったらあなたのソフトは知りもしなかったはずです. 業者はタダのものをわざわざお金を出して買う人を発掘したのです. その業者はその行為に対してお金をもらってもいいはずです.

もともとあなたには一銭も入るはずのない所で他人が儲けてもあなたがとやかく言うべきではありません. 「神が気前がよいのをねたんではならない」のです. その結果あなたのソフトはあなたができる以上に普及するのです. 喜ぶべき事ではありませんか.

逆に, 「フリーソフト」を活用する側からいうと, それをフリーでなくする行為以外のほとんどの行為は許可されています. 自分のやっている事が著作権侵害にあたるかどうかをいちいち考えなくてもよいし, 著作者に許可を取る必要もありません. 著作者の願っていることは「自分の作ったソフトが広まること」なので, 遠慮せずにあちこちに配布していいのです.

それから, 稀に, 思想信条によって「○○の人は使用禁止」と書いてあるソフトもあります. 例えば「南アフリカ警察は使用禁止」というような条項です.これも「無制限」ではありません. もちろんこういった条項をつけるのは作者の勝手ですが, それを第三者が利用しようとすると様々な問題を引き起こします.

「無制限」ということは, それを広く普及させる上で重要なことなのです.

オープンソース

ソフトウェアのソースコード[1]が誰にでも手に入り誰でも自由に改良できることを, そのソフトウェアが「オープンソース」であるといいます. もちろんソースが自由に手に入るということはそれを基にして作ったソフトウェア自体も自由に手に入るということです. オープンソースの思想は「誰にでもソースを手に入れる事ができ,それを基に自分のソフトを作ることができる」というものです. どちらかというとソフトを皆で開発していくという所に重点を置いた考え方です.

単にソースが公開されているという事だけがオープンソースの条件ではないことに注意すべきです. 商用ソフトの中にはオープンソースだと言っておきながらダウンロードの際に妙な契約にOKボタンを押させるものがあります.こういうものは「オープンソース」の名を騙る不届き者です.

厳密にいうとオープンソースとは次の条件を備えていることです.

  • そのソフトを誰かが配ったり売ったりすることを妨げてはならないし, 他のソフトと一緒にして配ることを妨げてはなりません.

  • 人間が読むことのできるソースコードを添付するか, あるいはそれを誰でも簡単に取得できるようにしなくてはなりません. WebページのURLなどでもいいでしょう. またソースコードをわざと読みにくくしてはいけません.

  • 誰かがソースコードを変更・改良したものを元のソフトと同じ条件で配布することを許可しなくてはなりません.

  • 変更・改良を加える場合は, どのソフトのどのバージョンから変更を加えたのかをはっきりさせなくてはなりません.

    これは, ソフトウェアのどの部分を誰が作ったかを明確にするということです.自分が変更・改良を加えたのなら, それに新しいバージョン番号をつけて元のとは違うんだということを明確にしなくてはなりません.

  • 特定の人や団体, 分野などで差別する条項を設けてはいけません. 「商用利用は禁止」というのも商用分野を差別していることになります.

  • ソフトウェアの再配布に条件を付けたり再配布する方法を制限してはなりません. 例えば「ソフトウェアは必ず○○のWebページから持っていくこと」というような制限をつけてはいけません.

  • 複数のソフトウェアが一緒になって配布された時, その中の一つだけを抜き出して再配布することができなくてはなりません. 「ソフト○○とソフト△△を必ず一緒に配ること」という条件をつけてはいけません.

  • 誰かがソフトを一緒にして配る場合, 一緒にされる他のソフトに対して条件をつけてはいけません. 例えば「市販ソフトのおまけにつけることは禁止」という条項はつけてはいけません.

コピーレフト

コピーレフトとは「元のソフトを配布・変更・改良した場合に, 配布に関する条件を付け加えてはならない」フリーウェアのことです. つまりコピーレフトのソフトはコピーレフトのソフトとしてしか配布できないのです.「自分はフリーでソフトを作ったんだから, 改良するあなたも変な条件を付けずにフリーで配ってよ」というのがコピーレフトのソフトウェアです.

コピーレフトでないフリーソフトウェアは自分が作ったバージョンをフリーウェアでなくすることが認められています. たとえ一文字変えただけでもそれは変更ですから, それに対して「これのこの部分は俺が作った物だから自由には使わせない」と言う権利が存在します[2]. 例えばあるソフトをごくマイナーな機種で動くように改良して, それをお金を取って売ることだって可能になります.

前に「フリーソフトをお金を取って配ってもよい」と書きました. これが問題にならないのは同じ物をタダで手に入れる方法があるからです. 極言すれば「わざわざタダの物にお金を払うバカ」なのです. それに対して改良品をお金を取って売るのは「改良品はお金を払わないと手に入れられない」という点で大きく違います.

「改良者が自分の作った部分に対して著作権を主張するのはその人の勝手だろう」という意見ももっともです. 私はコピーレフトは少々行き過ぎの面もあると思っています. 「フリーソフト万歳」と今まで手放しの調子で話してきましたが,「コピーレフト万歳」と手放しで賛成することは私にはできません. 「コピーレフト」の概念はよく論争の種になります.

でもフリーソフトウェアの作者の多くは「このソフトは誰でも平等に自由に使ったり改造したりできるようにしたい」という精神でフリーソフトにしたのですから, その気持ちを汲んで自分の改良点についても同様の精神に従うのが礼儀というものではないかなあと私は思います. 少なくとも自分の作ったフリーソフトにこう宣言したい気持ちはわかりますしその考え方は狭量だと言われる筋合はないと思います.

フリーな文書

「フリー」の考え方はソフトウェアだけに限りません. 著作物すべてに当てはまる概念です. その中で「文書」については同様の考えを適用しやすい事例でしょう.

「フリー文書」とは, 「フリーソフト」と同様に誰でも自由にコピーしたり印刷したり書き換えたりといったことができる文書です. これもまた単に読むことだけが自由にできるWebページなどと区別しなくてはなりません.

現在Webが発達したおかげで「フリー文書」への要求も高まっています. おびただしい数の文書が氾濫し, 文書の作者が全部権利を主張しているおかげで,「情報をまとめる」という機能がマヒしかかっています. 「引用」とか「リンク」という曖昧な言葉でごまかしているのが実状です.

例えば「検索エンジン」というのは, 他人のページの内容を勝手につぎはぎして自分のページとして公表しています. 雑誌などでウェブページをCD-ROMに集めたものもありますが, これもすべてのページの作者に了解を取らないといけません. ページのリンクですら許可を要求する人がたくさんいます.[3]掲示板の書き込みはどうなるのか? 法的には, 掲示板の書き込みを雑誌で全文掲載したい場合には管理者の了解だけではなく書き込んだすべての人にいちいち了解を取らなくてはなりません.

残念ながらソフトウェアに比べて文書は著作権の明示がしっかりなされていない事が多いです. そしてそうした文書に出くわすと再配布や改良などにいちいち著者の許可をとらなくてはならないのです.

ほとんどのWebページの作者は自分のページの内容についてはどうしてもらっても構わないと思っているのではないでしょうか? 自分の書いた文書をフリーにしておくとそれを他人が使用することで新たな価値を産み出すことができます. 例えば「料理のレシピ」を自分のページで細々と2, 3書いただけでは見てくれる人もほとんどいないでしょうが, そういった文書を誰かが集めて「料理レシピ集」というページにまとめたとしたら, あなたの書いた料理レシピも多くの人に見てもらえるようになります[4].

そういった付加価値を付ける行為を妨げないためにも, 文書をフリーにすることを考えてもらいたいと思います.

フリーソフトのライセンス

では自分の作ったものをフリーソフトにしたい場合はどうすればいいでしょう? 一番簡単なのが「他のフリーソフトに書いてある条項をそのまま持ってくる」というものです. 車輪を再発明する必要はありません. ありがたく使わせてもらうことにしましょう.

自分で新たにソフトを作るなら次の有名なライセンス条項のどれかがお勧めです.

GNU General Public License (GPL)

「コピーレフト」なフリーソフトウェアライセンスとして有名なものです. これは「簡単に自分のソフトをGNU GPLに従うことにできる」という意味で便利なものです. どこかにただ一言「GNU GPLに従う」と書いておけばいいのです.GNU GPLのライセンスとして出回っているテキストファイルを添付しておけば完璧です.

GNU Lesser General Public License (LGPL)

LGPLとGPLの違いは, そのソフトが別のソフトのライブラリ[5]として利用された時に現れます. GPLは, ライブラリを利用したソフトの方もGPLに従って配布しなければならないと定めています. それに対して, LGPLは利用したソフトの方は別ライセンス(例えば有償にするとか)で配布することを条件付きで認めています.LGPLが指定されているライブラリを利用する場合は, ライブラリが変更された時にソフトの利用者がその新しいライブラリを自由に組み込むことができなくてはいけません.

このライセンス形態は誤解を恐れず大ざっぱに言うとGPLとBSDライセンスを無理矢理折衷した案です。だからこのライセンス形態はあまりお勧めできるものではありません. コピーレフトにしたいのならGPLを, したくないのならBSDライセンスを使うのが妥当ではないでしょうか.

X11ライセンス, BSDライセンス

コピーレフトという制限のないフリーソフトウェアとして有名なものです.自分の作ったフリーソフトにコピーレフトという制限をつけたくない場合はこちらのライセンス条項を使いましょう.

GNU FDL (Free Document License)

コピーレフトな文書についてのライセンスです. 対象がソフトではなく文書である以外はほとんどGPLと同じものです.

フリーソフトは「みんなのもの」である

フリーソフトの要点は, 自分の作ったものを「みんなのもの」であると宣言することにあります. 無料ソフトウェアが「自分のものを使わせてあげよう」という立場なのに対して「みんなで作ってみんなで使っていこう」というのがフリーソフトの立場です.

実際, フリーソフトは作者だけではなくいろいろな人の力で成り立っています.「こんなソフトがあるよ」と広く宣伝する人, 使ってみて不具合を報告する人,使い方のわかりやすいドキュメントを書く人……こうしたものの総体であるフリーウェアに「作者」など本当にあるのでしょうか? こうした様々な人々の力を無視して「俺が作ったんだから俺が許可を出す」と高飛車な態度をとれるでしょうか?

フリーソフトにはいろんな人に改良を加えられどんどん良い物になっていきます. これは一人の力では到底できません. フリーソフトウェアに質の良いものが多いのはこういう仕組みによるものなのです.


実際問題として、Webページの日記に「○○文庫の△△は面白かった」と書いただけで出版社に「勝手にウチの本の名前を出すな」なんて怒られたら話にならんでしょう.


  1. 「ソースコード」って何だ?という人がいるかもしれないので説明しておきます. ソフトウェアはコンピュータが理解できる命令の集まりです. それは,それは例えば「メモリからデータを取ってきて○○を足してどこにしまって……」という細かい命令が膨大な量つらなったものです. そして, その命令は数値で書かれています. 例えば「命令1はメモリからデータを取ってくる. 命令2は足し算をする」というようにです. 例えばあなたのWindowsプログラムのexeファイルが100Kバイトあったとすれば, そういった命令番号が数万個集まったものなのです. そんな細かい命令を数万もいちいち人間が書いていくわけにはいきません. そのため, 普通はもっと人間にわかりやすい形式で書かれた「ソースコード」を用意し, それを「コンパイル」して命令番号に変換します. 「自由に変更していいよ」といってポンと実行形式のファイルだけ渡されたとしても実際問題として誰も変更なんかできないのです. ↩︎

  2. もちろん、改変部分がごくわずかだったら、「それくらい自分で改変するから結構です」という人や「僕も同じような改変をして、それをフリーで配ることにしよう」という人が現われるだけのことですが。 ↩︎

  3. 本当は, リンクは例えば「本のタイトルを表示する」行為にあたり, 本のタイトルには著作権はないので、リンクについては作者がとやかく言う権利はないのです. ↩︎

  4. 一つ間違えてほしくないのは,改変や再配布には元の著作者の明示が必要だということです。もし「料理レシピ集」というページをだれかがまとめたとしたら、それぞれのレシピには「これは○○さんの考えたレシピです」と著作者の名前が書かれることになります. それでいいではありませんか. ↩︎

  5. 単体で動作をするソフトではないが,他のソフトを作るために利用されるコードの集まりをライブラリと言います. 例えば, 「ウィンドウ表示ライブラリ」はそれ自体では何もしないが, ウィンドウを使うソフトはそのライブラリを使って簡単にソフトを作ることができるのです. ↩︎