フリー・オープンソース・ソフトウェア(FOSS)は、GNU/リナックス・オペレーティング・システムが特に大きな躍進を遂げるなど、今日ではどこにでもある。 この記事では、WindowsのようなプロプライエタリなシステムよりもFOSSがますます好まれる理由について、いくつかの考察と推測を行っている。
これからコメントする状況を確立するために、いくつかの統計を取っておこう:
そのため、Linuxの普及は実に目覚ましい。 Linuxは、最小のフットプリント(組み込みシステム、ただしLinuxはいくつかの組み込み専用OSよりも多くのリソースを要求する)から最大のフットプリント(スーパーコンピューター)まで支配する。 では、その理由を考えてみよう。
現代のオペレーティング・システムには、やるべきことがたくさんあり、相反する要求があるため、最も複雑なソフトウェアのひとつとなっている。
理想的なのは、小さなジョブを素早く処理する一方で、大きなバッチジョブを中断することなく実行できるシステムだ。 システムは、さまざまなタイプのハードウェア割り込みを認識し、ユーザーのキークリックであれ、工場設備の過熱による警告であれ、迅速な対応が求められる割り込みに素早く反応する。
システムは、何万、何千ものネットワーク接続からの入力を適切なプロセスに誘導しなければならない。 4つ、8つ、あるいはそれ以上のハードウェアコアを操り、あるプロセスを別のプロセスに置き換えたり、キャッシュをクリアしたりするタイミングを見極めなければならない。
オペレーティング・システムが古くなると、以前のバージョンの遺産に対処しなければならなくなる。 例えば、マイクロソフトのNT版ウィンドウズは(少なくとも一時期は)、時代遅れのインテル・アーキテクチャで書かれたプログラムを扱わなければならなかった。 Linuxの場合、開発者はPOSIX標準を尊重し、UnixやBSDの多くの古いシステムコールを維持しなければならない。
まだまだ書き足りないが、代わりにLWN.netのような、カーネル開発についてうんざりするほど詳しく論じているサイトを紹介しよう。
Linuxは異常にチューニングしやすいオペレーティング・システムだ。 管理者はコードを変更する必要はなく(もちろん、フリーソフトウェアなので変更することは可能だが)、代わりに何百もの設定変数を設定してパラメーターの種類を変えたり、サービスやライブラリを削除してセキュリティを向上させたり、オペレーティングシステムのフットプリントを減らしたりすることができる。 この柔軟性は、データセンターの管理者にとってLinuxの魅力である。
Linuxの成功が主な原因で、OSにはもうお金がない。 アップル、マイクロソフト、そしてかつてUnixの独自バージョンを販売していたすべての企業(数社は現在も販売している)は、よりセクシーな投資(現在ではジェネレーティブAI、クラウドサービス、量子コンピューティング、コラボレーション、セキュリティなど)のためにお金を貯めたいと考えている。
アップルはすでに、macOSとiOSの両方にBSDオペレーティング・システムのバージョンをベースとしたプロプライエタリなオペレーティング・システムを採用することで、オープンソースの配当を利用している。 マイクロソフトは今のところウィンドウズに固執しているが、Linuxには莫大な資金と研究時間を提供している。
確かに、ウィンドウズはいまだにパーソナル・コンピューターで最も人気のあるオペレーティング・システムだが、ほとんどのデスクトップやラップトップのアプリケーションはウェブ上で動作する。 これまで見てきたように、モバイル機器用のオペレーティング・システムで最も人気があるのは、Linuxベースのアンドロイドだ。
多くのオブザーバーは、ウィンドウズのサポートがマイクロソフトにとって高すぎて割に合わなくなる時期はそう遠くないと予測している。 マイクロソフトの主要な頭脳は、クラウドの提供、Bing検索エンジンのAIの改良、Microsoft Teamsを中心としたアプリケーションによるプロフェッショナル・コラボレーションのサポートにさらに注力している。
Windowsが何よりもまず開発すべきシステムであった時代は消えつつある。 前節で述べたように、開発者はPC上でネイティブに動作するアプリケーションのためにウィンドウズをターゲットにし続けるだろう。 しかし、ウェブ、モバイル、商業、科学、組込み開発など、最も成長している分野では、一般的にGNU/Linuxを見かけるだろう。
ウェブ上では、オペレーティング・システムについてはほとんど気にする必要はない(実際、OSからはできるだけ距離を置く必要がある)。 JavaScriptとPHP言語があなたの注意を引く。
モバイル・デバイスについては、AndroidではKotlinに集中し(おそらく古いJavaプログラムにも注意を払う)、iOSではSwiftに集中する。
組込みシステムもLinuxで動作することが多い。Linuxは、サポートするライブラリやプログラムを最小限に抑え、軽量なカーネルに絞り込むことができるからだ。 Linuxがまだヘビー級すぎるデバイスには、組み込み用に特別に開発されたさまざまな競合OSが使われている。
商業用および科学用のアプリケーションは、データセンターで実行されるが、そのデータセンターは、これまで見てきたように、Linuxで実行されることが多くなっている。 Pythonは科学分野で好まれるプログラミング言語だ。
データセンターを管理するためのツールやアプリケーションに携わる開発者はLinuxに精通しており、個人環境と企業のデータセンターをスムーズに切り替えられるように、個人システムでLinuxを実行していることが多い。 LinuxベースのSteamOSオペレーティングシステムで一部サポートされているLinux向けのビデオゲームの提供さえ進んでいる。
そのため、人気のあるツールや言語はLinux上で開発され、他のOSに移植されている。 そのため、これらのOSは、新バージョンのサポートやバグ修正においてLinuxに遅れをとっている。
また、開発者はAppleのコンピューターを好む傾向があり、WindowsPCを使う人もいる。 しかし、AppleやWindowsのシステムは、商業目的や科学目的でプログラムを開発しようとするとき、ターゲットとなるオペレーティング・システムがLinuxである可能性が高いため、余計な摩擦をもたらす。
プロプライエタリなオペレーティング・システムには、オペレーティング・システム・ベンダーが確実に報酬を得られるようにするための、多くの技術的およびロジスティックなオーバーヘッドが含まれている。 このオーバーヘッドは、設置から長期メンテナンスに至るまで、システム使用の足かせとなる。 最近のベンダーは、仮想マシン用の特別なライセンスを用意しているが、それでもコストとオーバーヘッドが増える。
というのも、プロプライエタリなオペレーティング・システムのライセンス・コストは、ほとんどのコンピューティング費用のごく一部であり、オープン・ソース・ソフトウェアを使用する企業には、サポートなどの関連費用がかかるからだ。 つまり、フリーソフトはコストフリーではないのだ。 そこで私は、代わりにプロプライエタリー・ライセンスの物流上の負担に焦点を当てることにする。
個人のシステムにプロプライエタリ・ソフトウェアをインストールしたことのある人なら誰でも、有効なライセンスを持っていることをインストール・プロセスに保証するために、20個も30個もランダムな文字を入力するもどかしさを知っている。
ソフトウェアの新バージョンをインストールしたり、新しいコンピューターにソフトウェアを再インストールしたりする場合、古いバージョンを削除したり、一度に1つのバージョンしか実行できないようにしたりするために、身をよじる必要があるかもしれない。
グループライセンスを導入している教育機関では、専用のライセンスサーバーを運用してすべてのシステムを監視し(プライバシーや企業秘密に対する潜在的なリスクとなる)、スタッフのソフトウェアの使用がライセンスで許可されているものと一致していることを確認しなければならない。
要するに、プロプライエタリ・ソフトウェアは、そのソフトウェア自体の教育的・物流的要件以上に、ユーザーや管理者にとって、体のデリケートな部分に痛みを生じさせるのだ。
これに対してLinuxは、スケールアップやスケールダウン、新しいユーザーやシステムの追加、仮想システムのスタートアップやシャットダウンのオーケストレーションが簡単にできる。 押し付けがましいライセンシングがないため、データセンターにとって第一の選択肢となっている。
この記事では、クラウドの提供、データセンターの拡大、アプリケーションのウェブやモバイル、組み込みデバイスへの移行など、現代のコンピューティングにおける多くのトレンドに触れてきた。 これらの傾向はすべて、時間の経過とともにプロプライエタリOSの魅力を低下させ、Linuxの魅力を増大させる。
デスクトップにおけるGNU/Linuxの進歩は遅々として進まないが、他の文脈におけるこのオペレーティング・システムの優位性により、開発者はますますLinuxを使い、そのためのアプリケーションを書くようになるだろう。 データセンターやクラウド上のインフラを持つ大企業に勤めているのであれば、Linuxに精通することはすでに有益なことだ。 個人でパソコンを使っている人も、この機会に見てみてはいかがだろうか。