ClockRoom

フリーウェアの雑学 (6) - フリーウェアの追求

はじめに

最近なにかと忙しく、前回からおおよそ半月もの間ができてしまいました。 なかにはもう終わったと勘違いしている方も多いかと思われますが、今回が本当の「最終回」です。 ちなみに今回は多少開発者向けの話題もあります。

不正な処理プログラミング

いきなりですが多少専門的な話しになります。

本特集の第1回目で、フリーウェアには必ずバグがあるという話をしました。 その際、利用者が注意すればバグの発生を防げると言いましたが、やはり一番注意してほしいのはそのソフトウェアを開発したプログラマさんでしょう。 実は「不正な処理」を起こすプログラムはいとも簡単に作れてしまいます。 それゆえ、いとも簡単に予期せぬ不正な処理が混入してしまうのですが、開発段階で注意すれば防げるものがほとんどだと思います。

ここからは本格的に専門的な話になってしまいますが、とにかくプログラマさんは「メモリ管理」を重点的に気を配るべきです。 というのも、ほとんどの不正な処理はメモリ周りで起こっていると考えられるからです。 C言語で言うなら「ポインタ」です。 ポインタは非常に有用な反面、使い方を誤ればシステムをクラッシュさせかねません。 例えば、極端ですが次のようなコードが考えられます。

int *p; // ポインタ p 定義

p=new int; // ポインタ p にメモリを確保
delete p;  // ポインタ p のメモリを解放

*p=100; // 解放済みのポインタ(失効ポインタ)p のポイント先に 100 を代入

このコードは大変危険ですので不用意に実行しないでください。

このようなコードを書く例はほとんど考えられませんが、しかしながらたったこれだけでも立派な「不正な処理」なのです。 面倒なことに、メモリを動的に割り当てるコードを書く以上、上記のようなことを行っている部分がないとは言いきれません。 とにかく注意してもらえればそれでいいのですが。

なぜ、フリーウェア?

今さらな話しではありますが、なぜ、私がフリーウェアに執着するのかについてお話しします。

やはり一番の理由として、昔からフリーウェアを使ってきたからでしょうか。 また、私自身もフリーウェア作家だからという理由があげられます。 しかし、実はもうひとつ少々深刻な理由があります。

世の中にはいわゆる「不正コピー」によって高価なソフトウェアを使用している人が少なからずいるそうです。 私は決してそれを許さないとは言いません。 しかしながら、人を楽しませるために絵を描いたり音楽を作ったりするその行為が犯罪になるなんてあまりにも悲しすぎます。 こればっかりは自覚の問題ですが、最低限私には絶えられません。

だから、アマチュアだけどひとりのクリエイターとして見つめ直してほしいのです。 わざわざ犯罪を犯さなくても立派に絵も描けるし音楽も作れるということを・・・

フリーウェアの追求

というわけで、最後はかなり専門的な話しになってしまいましたが、全6回の本特集はいかがだったでしょうか? まさかこんなに長くなるとは思いませんでしたが、とにかく少しでもフリーウェアの魅力がわかっていただければ私としては幸いです。 今回紹介したソフトウェアはこの世の中に眠るフリーウェアのほんの小さなひとかけらにすぎません。 世の中には他にも、想像を絶する数のフリーウェアが存在し、そして、そのなかにはとてもフリーウェアとは思えないほどの絶品も存在します。

私は自信を持って言うことができます。

「パソコンソフトはすべてフリーウェアでまかなえる」

絶品を見つけ出すにはそれ相応の努力が必要です。 しかし、私は無限の可能性を秘めたフリーウェアを、更なる発展とレベルの向上を願って、利用者として、そして開発者として今後も追い続けたいと思います。

インターネットはまさに「宝の山」です。 これを機会に皆さんもすばらしいフリーウェアを発掘したときの感動を味わってみませんか?