ホームページ >バックエンド開発 >PHPチュートリアル >なぜ Linux は成功しているのでしょうか?
1991 年に Linus Torvalds によって開発された Unix に似たオペレーティング システム カーネルである Linux は、GNU HURD や BSD を含む多くの同様のプロジェクトが失敗する中、なぜ Linux が成功したのかを疑問に思わずにはいられません。
フリーソフトウェアとオープンソースの世界の歴史の中で最も不可解な疑問の一つは、なぜ Linux がこれほど輝かしい成功を収めたのかということですが、同様にフリーでオープンソースの Unix 風のオペレーティング システム カーネルを作成しようとした他のプロジェクトは成功しなかったのかということです。成功しましたか? この質問に答えるのは難しいですが、いくつかの理由を以下にまとめましたので共有します。
しかし、まず明確にしておきたいのは、Linux が大成功を収めているというとき、私が何を意味するのかということです。私はこれを、他の Unix に似たオペレーティング システム カーネルに関連して言います。それらには、オープン ソースであるものもあれば、そうでないものもあり、Linux が誕生した時期に隆盛を極めました。 1991 年 5 月にリリースされたフリー カーネルである GNU の HURD は、その 1 つです。他には、カリフォルニア大学バークレー校が開発した BSD のさまざまな Unix 派生製品、Microsoft が主導する Unix システム Xenix、Minix を含むアカデミック バージョンの Unix、および元の Unix など、ほとんどの人が聞いたことのない Unix も含まれます。 AT&Tの後援。それは初期の数十年間、学術界やビジネスにおけるコンピューティングの発展にとって極めて重要でしたが、1890 年代までにはほとんど視界から消えていました。
さらに、ここでは完全なオペレーティング システムではなく、カーネルについて話していることに注意してください。 Linux カーネルの成功は、GNU プロジェクト全体によるところが大きいです。 GNU プロジェクトは、Unix に似たオペレーティング システムを構築するために必要な、コンパイラ、デバッガ、BASH シェル実装などの重要なツール セットを作成しました。しかし、GNU 開発者は、HURD カーネルの実行可能なバージョンを開発したことがありません (ただし、現在も開発中です)。代わりに、Linux は、GNU の本来の意図を超えていますが、GNU のさまざまな部分を緊密に接続するカーネルとして機能します。
したがって、1991 年 (HURD と同じ年) にフィンランドの無名プログラマー、Linus Torvalds によって立ち上げられたカーネルである Linux が、当時の一般的な環境、つまり多くの Unix でのテストと開発に耐えることができるのはなぜか、と問う価値があります。強力な商用サポートがあり、当時の人気ハッカーが主導していたカーネルは開発に失敗しました。この問題を説明するために、この問題に関連する説明をいくつか見つけました。これを行うために、私はフリー ソフトウェアとオープンソースの世界の歴史と、さまざまな解釈の長所と短所を調査しました。
Linuxは分散開発手法を採用しています
この見解は、Eric S. Raymondの記事「Cathedrals and Bazaars」および関連資料から来ています。これらのデータは状況を裏付けています。ソフトウェア開発は、多数の貢献者が分散型の組織構造で継続的に共同作業を行っているときに最も効率的であるということです。たとえば、コード開発の管理に比較的集中的なアプローチをとる GNU HURD とは対照的に、Linux 開発はこれを実証しています。その結果、レイモンド氏が述べたように、完全なオペレーティング システムが 10 年以内に正常に構築されなかったことは明らかです。
この説明はある程度は理にかなっていますが、明らかな欠陥がまだいくつかあります。たとえば、Torvalds は間違いなく、Linux コードの開発を指導する上でより権威ある役割を引き受け、コードを受け入れるか拒否するかを決定できましたが、これは Raymond らの考えではありませんでした。第二に、この見方では、GNU が実行可能なシステム カーネルの開発に失敗したにもかかわらず、どのようにしてこれほど多くの優れたソフトウェアを生み出すことができたのかを説明できません。分散型開発手法だけがオープンソース ソフトウェアの世界でプロジェクトを適切に導くことができるのであれば、GNU プログラミングのすべての努力は無駄になるはずですが、そうではありません。
Linuxは実用的であり、GNUはユートピア的である
個人的には、この言葉が最も説得力があると思います。つまり、Linuxがこれほど急速に発展する理由は、その作成者が元々書きたかった実用的な人だからです。それは、GNU プロジェクトの一貫した目標である世界を変えるフリー ソフトウェアの一部となるのではなく、自宅のコンピューター上で Unix オペレーティング システムの簡素化されたバージョンを実行するカーネルでした。
しかし、この説明にはまだ完全に説得力がない部分がいくつかあります。特に、トーバルズ自身はプラグマティズムの原則を信じていましたが、過去でも現在でも、彼のプロジェクトに関わる人全員がこの原則に対する彼の信念を共有していたわけではありません。それでも、Linux は成功を収めてきました。
そして、プラグマティズムが Linux の継続的な開発の鍵であるなら、私たちはもう一度尋ねなければなりません:ソフトウェアにある種の堅実さを持っているなら、なぜ GNU はカーネルの開発に失敗しただけでなく、これほど多くの便利なツールの開発に成功したのでしょうか?政治的信念がプロジェクトの成功を追求する際の障害となるのであれば、GNU は今日の IT 世界に強固な基盤を提供する非常に多くの優れたソフトウェア パッケージを開発したパイオニアではなく、完全な失敗者であるべきでした。
最後に (重要なことですが)、1880 年代後半から 1990 年代前半に生まれた Unix 亜種の多く、特に BSD フォークの一部はプラグマティズムの産物でした。彼らの開発者は、高価な商用ライセンスによる制限を受けることなく自由に共有できる Unix バリアントの開発に熱心に取り組んでいましたが、プログラミングやコードの共有について完全にイデオロギー的だったわけではありませんでした。 Torvalds 氏についても同様であるため、Linux の成功と他の Unix プロジェクトの失敗がイデオロギーによるものだと主張するのは困難です。
Operating System Design
Linux の成功について語るとき、無視できないのは、Linux と他の Unix 亜種との間の多くの技術的な違いです。 GNU プロジェクトの創設者であるリチャード・ストールマンは、HURD の開発が頻繁に遅れる理由を私に電子メールで説明しました。「GNU Hurd は実際には実際には成功していませんでした。理由の 1 つは、その基本設計が A のように見えたからです。研究プロジェクトです (この設計を選択したのは、動作するカーネルを迅速に実装するための近道だったからです。)」
Linux は、Torvalds が Linux 用にすべてのコードを単独で書いたという点でも他の Unix とは異なります。 1991 年 8 月に初めて Linux をリリースしたとき、彼の当初の意図の 1 つは、他人のコードを使用せずに独自の Unix を所有することでした。この機能により、Linux は、一般的に AT&T Unix または Berkeley の BSD から基本コードを派生した同時期のほとんどの Unix 亜種とは異なります。
私はコンピューター科学者ではないので、Linux の成功を説明するために Linux コードが他の Unix コードよりも優れているかどうかを判断する資格はありません。これは Linux と他の Unix カーネルの文化的および人事的な違いを説明するものではありませんが、Linux の成功を理解する上でコードよりもオペレーティング システムの設計の方が重要であると思われるため、私にとっては理にかなっています。
Linuxの背後にあるコミュニティは強力なサポートを提供しています
また、ストールマンは、Linuxの成功の「主な理由」は「トーバルズがLinuxをフリーソフトウェアにしたため、ハード開発よりも多くのコミュニティサポートがLinuxに注がれた」と書いています。 「しかし、これは Linux の成長の軌跡の完全な説明ではありません。フリー ソフトウェア開発者が HURD やその他の Unix ではなく Torvalds に従った理由を説明していないからです。しかし、それでも、この変化が人気の理由の大部分を占めていることは指摘しています」 Linuxの。
フリー ソフトウェア コミュニティが Linux をサポートする決定を下したのには、開発者がそうする理由を説明する、より包括的な理由があります。当初、Linux は無名の小さなプロジェクトであり、NET BSD や 386/BSD など、より自由な Unix を同時に作成しようとする他の試みと比較すると、どの基準から見ても取るに足らないものでした。同様に、Linux とフリーソフトウェア運動の目標が一致するかどうかも当初は不明でした。当初、Torvalds は、Linux の商業利用を禁止する証明書に基づいてのみ Linux をリリースしました。その後、ソース コードのオープン性を保護するために GNU の一般公開証明書の使用に切り替えたことについては、後の話になります。
以上が、オープンソース オペレーティング システムとしての Linux の成功について私が見つけた説明です。確かに、Linux はいくつかの側面で成功を収めています (ただし、たとえば、デスクトップ バージョンの Linux がその支持者たちのものになったことは一度もありません)。そうなりたいと思っていました)は目に見えて成功しました。つまり、Linux は、他の Unix 系オペレーティング システムとは異なる方法で、コンピューティング世界の基礎となっています。おそらく、BSD を起源とする Apple の OS X および iOS システムはこれに近いものですが、Linux がインターネットに影響を与えるほど、他の側面ではそれほど重要な中心的な役割を果たしていません。
Linux がなぜ現在のようになったか、あるいは Unix の世界での競合他社がほとんど存在しなくなった理由について他に考えていることはありますか? もしそうなら、ぜひご意見をお聞きしたいです。 (確かに、BSD バリアントには今でも支持者がいますし、一部の商用 Unix は Red Hat (RHT) にとってユーザーをサポートするために依然として重要です。しかし、これらの Unix のどれも、Linux ほど世界をほぼ征服していません。Web サーバーからスマートフォンまであらゆる分野をカバー)
LAMP Brothers オリジナルの Linux 運用保守エンジニアのビデオ/詳細な Linux チュートリアルを無料で入手できます。詳しくは、公式 Web サイトのカスタマー サービス: http://www.lampbrother.net/linux/
までお問い合わせください。 |