古いソフトウェアはメンテナンスされないので、セキュリティーホールになる。これがソフトウェアベンダーの言い分だ。
確かにその通りだが、裏目的もあると思う。
昔のソフトウェアを元気に使われたら、新しいソフトウェアが売れない。
消耗品だからこそ、次の商品が売れる。ただ、そもそもデジタルは古くならないのが特性だったのではないか。ストレージさえ移し替えれば、永遠の命を持つのではなかったか。
最近は、ソフトウェアベンダーもサブスクリプション化に躍起である。使い続ける限りお金を支払う体系は、会社が存続するために非常に都合がいい。
永遠に使えるソフトウェアなど作ってしまったら、そのソフトウェアを使っている限りソフトウェアベンダーにはお金が入らなくなってしまうではないか。
ソフトウェアが古くならないと、作り手が困るのである。
ソフトウェア自体は消耗品ではないが、消耗品になるような実装をわざとしている、ということだ。
しかも、この実装をするタイミングが、サポート期間内である。未来になったら使えなくなる仕組みを埋め込んでおく。
食べ物で言えば、期間が過ぎたら毒になるように器に仕組みを設けておくのだ。腐った食べ物を食べると有害だからという理由で。
ソフトウェアを作るのも人間だ。だから「ソフトウェア心理学」という分野があってもいいんじゃないか、と思う。ソフトウェア自体はデジタルで古くならないのに、人間がこれを作るときに、古くなることを一生懸命実装するのである。
・ある時刻を過ぎると、起動すらしなくなる
・勝手に削除される
・未来のOSのバージョンの場合インストールを絶対にできなくする
・新しいバージョンでは、古いバージョンと連携できなくする
・しばらくはアップグレードを許すが、ある時期からそれすら許さなくし、削除しかできなくする
各社、手を変え品を変え、「古くなった」という実装をするのである。
サポート切れと言いながら、サポートとは、手助けしたり話を聴いてくれるという意味ではないのである。サポート切れを境に古くなるプログラムが起動するのだ。そしてさらに古くなると起動すらできなくなる、というところまで、昨今のソフトウェアはきっちり実行する傾向にある。
繰り返すが、表面上はセキュリティー事由である。サポートしていないソフトウェアが流通すると攻撃に使われるので、企業として息の根を止めなければならぬという理由である。
一方で、ビジネス上の裏の理由は、非常に、非常に強い。使えているのにバージョンアップせい、と言う。いや何も問題なく使えてるんだから、使わせてくれよ、と。保守料払うからと。いや、保守するから代わりにバージョンアップして、との一点張りである。ソフトウェアベンダーも、古いバージョンをだらだらサポートしていると、新しいバージョンも含めてコードの範囲が広がり過ぎ、コストがかかってしまうのだ。
ソフトウェアは、機能アップや新しいOS、ミドルウェア、ライブラリーへの対応も含めてどんどんアップデートされるものなので、そういう意味では古くなる。これが実質的な古さ。一方で、古さを演出するための人工的な古さの実装。
一方で、将来はどんなアップデートをするか決まっていないことを考えると、「古さの演出」の方が先なのだ。これは面白い話ではないか。自分を破壊するコードを、将来に向けて書くのだから。
Windows 2000時代のフリーウェアでWindows 11でも動いてしまうソフトウェアがVectorなどに落ちていることを考えると、案外この「古さの演出」実装は最近のものであり、人間心理の変化が理由なんじゃないかな、と思う。
人間じゃない何かがソフトウェアを作ると、もしかしたら古くならないソフトウェアを作るのかもしれない。