Linuxについて思うこと。

Linuxの欠点は、ソフトにバイナリ互換がなく全てのものがOSに含まれたような感じになっていること。
アプリケーションまでOSに含まれたような感じになっている。
バイナリ互換がないから自作のプログラムを作ってバイナリを配布することすらできない。
WindowsならVectorにバイナリを登録できるが、似たようことがLinuxではできないので一般プログラマーはLinuxを開発対象とすることができない。
バイナリ互換がないことで多くのプログラマーを排除しているからWindowsのように有用なソフトが爆発的に増えることもない。
OS(ディストリ)の開発配布者の目にとまって組み込んでもらってOSと一緒に配布してもらわないとせっかくプログラムを作っても未来永劫に渡って誰にも使われることがないだろう。
ソースを配布すればいいと言われても、無料でソースを見せてもいいと思う場合は極めて限られるだろうし、ソースなど公開してもいちいちソースからコンパイルして使ってくれるという暇人はものすごく少ないだろう。
ソースからコンパイルできる知識がある人も限られてくる。
最近、64ビットのLinuxをインストールする必要があって、手元にUbuntu 10.10(64ビット版)のCDがあったのでそれをインストールした。
ダウンロードには金と時間がかかるので、OSが古くても手元にあるCDでやりたかった。
が、インストール後に最初から入っているプログラムは限られている。
サポート期限切れとか言われて、インターネットから必要なプログラムをダウンロードさせてもらえなかった。
しょうがないからソースからコンパイルしようと思ってプログラムのソースをダウンロードしたが、コンパイルに必要なものがインストールされていないというエラーが出てコンパイル不能。
コンパイルに必要なもののダウンロードも許されない。
インストールしても何もできない。まさにゴミだった。
つーか、ソフトのバイナリぐらい、どこかのサイトに置いておけばすむ話ではないのだろうか。
なぜ、Ubuntuのアップデートセンター?に接続させてそこからしかダウンロードできないようにするんだろう。
サポート期限切れというのは、ソフトの配布期限切れということなんだろうか。
WindowsのようにVectorなどの配布サイトや、各作者のページからバイナリをダウンロードすることがLinuxではできない。
だから使えるソフトがWindowsに比べれば限られてくる。
そして、Ubuntuの場合、サポート切れになれば限られたプログラムさえダウンロード不能になり一瞬でゴミOSになってしまう。
そして、新バージョンに全てを入れ替えろという。
今まで構築した環境は全て捨て去らなければならない。
デバイスドライバもソフトも全て入れ替えなければならない。
バイナリ互換がないから今まで使っていたソフトをコピーすることすら許されない。
これでは、デスクトップOSとして使えるわけがない。
だが、Linux側はこれで普通なんだから嫌なら使うなという考えで丸っきり改善する意思はない。
まあ、サーバー限定の使い方なら、こんな仕様のOSでもさほど困らないということなのかも知れない。
デスクトップ用途は無理だ。
なぜバイナリ互換がないかだが、そうしたいからそうしているというよりは、技術力の問題のような気がする。
やはり、Windowsよりは低い技術力で作られていて、技術的にどうしようもない部分があるんだろう。
いまだにカーネルとデバイスドライバの分離ができておらず、カーネルのソースの大部分はデバイスドライバのソースだ。
根本的な設計が間違っているんじゃないかと思う。