2012-03-28

不自由なソフトウェアの時代は終わった

もはや、不自由なソフトウェアの時代は終わった。単純に終わったのだ。もうこれ以上、不自由なソフトウェアの未来はない。金銭的な価値はともかく、ソフトウェアの質は自由な方が圧倒的に高い。だからWindowsとかiOSとかAndoridが手元にあるならば、窓から投げ捨てるべきである。

こう言ったからとて、私は何も、フリーソフトウェア原理主義に改宗したのではない。今や、自由なソフトウェアの方が質が高くなっているからという至極単純な理由から言っているのである。私は質を優先する。不自由なソフトウェアの方が優れているのならば、いくら金を払っても構わないし、ソースコードが公開されていなくても構わない。しかし、事実として、今や、不自由でクローズドソースなソフトウェアは劣っている。自由か、最低でもオープンソースなソフトウェアの方が優れている。わざわざ不自由でクローズドソースなソフトウェアを使う必要はない。ましてや、劣ったソフトウェアに金を出すなんて論外だ。

10年前、私が初めて自分の稼いだ金を使って、コンピューターを所有しようしたとき、私はWindowsを選んだ、当時のGNU/Linuxの日本語サポートはおろそかだったからだ。5年前、今使っているコンピューターを買ったとき、私はまたもやWindowsを選んだ。当時学生だったので、アカデミック版が安かったからだ。

4日前まで、私はWindowsからGNU/Linuxへの移行に言い知れぬ恐怖を感じていた。なにしろ、10年間も使い慣れた環境である。勝手はわかっている。Windowsについては、ある程度理解しているつもりだ。Windows Internalsも、4thだが、読んでいる。MSDNの読み方も心得ている。今や、どんなWin32 APIだろうがらくらくと使えるようになった。この今までの経験が、すべて無になってしまうのだ。

もちろん、C言語やC++といった言語の文法知識は、GNU/Linuxでも通用するだろう。しかし、POSIXやLinux特有のAPIについては、Cの標準ライブラリの範囲しか知らないし、ましてやドキュメントの読み方もわからない。

Windowsでは、非常に有名なMicrosoft製の便利なIDEがある。しかしUNIXの世界では、エディタとビルドシステムはあまり密接に関係していないことが多い。もちろん、IDEもないことはないが、事実上、業界標準となっているIDEはないので、やはり広範な環境には対応できない。

そもそも、プログラミングどころか、UIも大幅に異なる。CLIの操作性も異なるし、GUIも勝手が違う。OSを変更するというのは、非常に怖いのだ。プログラマーこそ、最も変化に素早く対応しなければならない人種である。悲しいかな、我らもまた人間に過ぎず、旧態依然の環境に閉じこもっている。

ともかく、このままではならぬと、意を決して物理的に違うHDDにUbuntuをインストールし、Windowsの入ったHDDを取り外した。そして4日たった今、なぜあれだけWindowsにこだわっていたのか、すっかり忘れてしまった。このGNU/Linuxは、Windowsをブッちぎりで超越したのだ!! Ubuntuは利便性やパフォーマンスなど、すべての点においてWidnowsに優っている。

ターミナルや、GNU/LinuxのX環境でのターミナルエミュレーターは、Windowsよりはるかに優れている。一部の昔気質なユーザーが、いまだにCLIから移行しないのも納得だ。今はUbuntuデフォルトのUnityを使っているが、これも色々言われている割に、悪くはない。私はほとんどのソフトウェアを全画面で使うので、ごちゃごちゃとした高機能なランチャーやらメニューやらボタンやらは必要ないのだ。それより、compizの実解像度より広い画面を高速に移動できる方がいい

最も感動したのは、Debianのaptだ。これを使えば、コンパイル済みのソフトウェアのインストールはもちろん、ソースコードからのコンパイルも楽勝だ。あるソフトウェアをビルドするのに必要なツールやライブラリなどの依存関係を、すべて自動で解決してくれる。これにより、私の全くあずかり知らぬ言語とライブラリを使って書かれたソフトウェアのソースコードでも、簡単にビルドできる。

さらに、十分に有名なソフトウェアには、メンテナーが必要な調整を行ってくれていて、妥当なデフォルトの設定がされている。そのため、インストールしてすぐに使うことができる。調整や設定が気に入らない場合、自力での変更を妨げるような障害物は一切ない。

これでいて、ほぼすべてバイナリパッケージをインストールすることを前提にしたUbuntuなのだ。なぜこんなに他人の書いたソフトウェアのコンパイルが楽なのか。本当にこんなに楽をしていいのか。自前ビルド原理主義者のためのGentooやArchのようなディストロは、一体どうなっているのか。

環境を変えたために、学ぶことは膨大だ。しかし、実はそんなに学ぶ必要はないのだ。GNU/Linuxを使っていると、いかにWindowsが不自由であったかを思い知らされる。Windowsを使っていたときの「学ぶ」とは、本来、ユーザーのする必要がなかった「作業」でしかないのだ。有名ディストリには、そういう手間暇かかる面倒な作業をしてくれるメンテナーがいるおかげで、大多数のユーザーは、作業をせずにすむ。ありがたい。

ドキュメントだが、manとinfoはそれなりに使える。yelpから読むこともできるが、どうも今のyelpにはバグがあり、検索できないようだ。

ただし、今の私の環境には、ふたつの不自由なソフトウェアがある。nVidiaのプロプライエタリなバイナリブロブのドライバーと、AdobeのFlash Playerだ。

nVidiaのドライバーは、これは仕方がない。nouveauを使うと、ブートすらできないのだから、どうしようもない。nVidiaの公式ドライバーは、少なくとも、Winodows版と遜色ない出来であることは確かだ。しかし、Kernel Mode Settingに対応していないので、このままでは未来がない。Waylandのこともある。もしnVidiaが現状を維持するのであれば、次のGPUはAMDにする。すくなくとも、未来のないnVidiaよりはましだ。

Flash Playerは、実はほとんど必要ないのだ。事実、デフォルトのブラウザーであるChromiumでは無効にしている。ただし、たまにどうしてもFlashが必要な場合があるので、その時だけ、Flashを使うように設定したFirefoxを立ち上げている。なんにせよ、Flashにはもう未来がない。数年後には、アンインストールしても問題がなくなっているだろう。

もはや、不自由なソフトウェアは逝ってしまった。もはや先はない。止まった。天寿を全うして造物主のところに帰った。故ソフトウェアだ。停止した。逝去した。安らかに眠っている。既存のユーザーがいなければ立ち行かない。天界の妙なる鳴り物の音の列に加わった。かつてのソフトウェアだ。

10 comments:

Anonymous said...

GNUの世界へようこそ

江添亮 said...

まったく、Stallmanの三十年来の主張は、全く間違っていませんでしたな。

mongrelP said...

Flash PlayerについてはGnashやLightsparkというものがありましてな…
ただニコニコが見られないので私は使ってないのですが(ぁ

江添亮 said...

それは知っていますが、そもそもFlash自体がもう時代遅れの産物だと思うんです。
事実、Flashを必要とするのは、一日に一度か二度ぐらいです。
Windows時代からFlash Playerは、普段使うブラウザでは無効にしてきましたし。

Mikiya Okuno said...

KDEもなかなか良いですよ。

江添亮 said...

UbuntuでKDEのサポートは、GNOMEに比べて薄いのですがね。

Anonymous said...

UbuntuはWebからmanページ読めて検索もできるサイトをホストしているので結構重宝しますよ
http://manpages.ubuntu.com/

江添亮 said...

おお、それは便利そうだ。

Anonymous said...

カタカナばかりですね。原文ばっかり読んでると、カタカナに狼狽してしまいます。日本語が不自然なのは、日本がその話題や技術に先導的じゃないからなんですかね(PGL、LPG等)。

‮志太山内 said...

Androidは適正に作られれば自由ソフトウェアです。...現実的には不自由ですが...残念ですね。どうせならGNU GPLで配布してもらいたかったですね。そしたら我々はプロプライエタリで悩むことがなかったのに。