理由はたくさん考えられる。待っているだけで安く速い計算機が次々出てくるので、プログラムを高速化しようというインセンティブが働かない。自分で作らなくても、優れたソフトウェアがタダで簡単に手に入る。それらのインストールとバージョンアップに忙しい。インターネットサーフィンの方がずっと面白い。などなど。もう少し根源的には、モノを手作りする、分解する、改造する、修理するという習慣と機会が、子供からも大人からもどんどん奪われている。私などは、道具は自分で使いやすいように手を加えて使うほうであるが、ハイテク化と引換えに改造の困難なモノも増え、改造を悪とする風潮すらある。
だが、ハイテク製品の一つの特徴が分解、改造の困難さ、つまりブラックボックス性にあるとすれば、ソフトウェアないしプログラムは典型的なローテク製品と言える。ソースコードが入手できれば、自分で解読しきることができ、先人の知恵や技を学ぶことも、プログラムを改良することも自由にできる。このような特徴を有するソフトウェアを単なるブラックボックスとして扱うのは、一般ユーザにとっては正しい選択であっても、情報科学を学ぶ学生にとっては実にもったいないことだと思う。自分がふだん使っているソフトウェアのしくみがわかるということは、とても楽しいことである。
プログラミング言語や基本ソフトウェアは、技術的な存在であるだけでなく、社会的、文化的存在でもある。特に、ソースコードつきのフリーソフトウェアは、社会的過程を経て成熟させてゆくことにより、ブラックボックスとしてのソフトウェアと比べ、虫や効率や安全性の点で、はるかに高品質なものに発展する可能性がある。このような文化的成熟には能力あるユーザの積極的協力が不可欠である。
振り返ってみると、これまでに受けてきたフリーソフトウェアからの恩恵は莫大なものである。学生諸氏にとっても同様であろう。であれば、ささいなことでもよいから、世話になったソフトウェアの改良、発展に寄与してゆきたい。また新たなソフトウェア文化を担うような「創作作品」を世の中に発信してゆきたい。学生時代の貴重な時間を、インストールとパッチだけに費やしてはもったいない。
(うえだ かずのり 早稲田大学理工学部情報学科)