デベロッパーリレーションズ

オープンソース旧事:Linuxはなぜ成功したのか?

2018-10-03
デベロッパーリレーションズ
ja

Linux、この1991年にLinus Torvaldsによって開発されたUnix系オペレーティングシステムカーネルは、オープンソース世界の中心となっています。人々は、なぜLinuxは成功し、GNU HURDやBSDを含む多くの類似プロジェクトは失敗したのかと問わずにはいられません。

自由ソフトウェアとオープンソース世界の発展史の中で最も理解し難い問題の一つは、なぜLinuxはこれほど輝かしい成功を収めたのに、他の自由でオープンなUnix系オペレーティングシステムカーネルを構築しようとするプロジェクトはそれほど成功しなかったのかということです。この質問に答えるのは難しいですが、いくつかの理由をまとめましたので、以下で共有します。

ただし、まず明確にしておく必要があります:私がLinuxは巨大な成功だと言う時、私が表現している意味です。私は、他のUnix系オペレーティングシステムカーネルと比較してそう言っています。その一部はオープンソースで、一部はそうではありません。そして、それらが繁栄していた時期はLinuxが誕生した時期です。GNUのHURD、1991年5月に発足したFree(自由)なカーネルはその一つです。他には、カリフォルニア大学バークレー校で開発されたBSDの様々なUnix派生版、Microsoftが主導したUnixシステムXenix、Minixを含む学術版Unix、AT&Tのスポンサーシップで開発された最初のUnixなどがあります。より早い数十年間、学術界とビジネス界のコンピューティング発展にとって極めて重要でしたが、1990年代にはすでにほとんど人々の視野から消えていました。

関連読書

さらに、説明が必要なのは、私がここで言っているのはカーネルであり、完全なオペレーティングシステムではありません。ある程度まで、Linuxカーネルの成功はGNUプロジェクト全体のおかげです。GNUプロジェクトは、コンパイラ、デバッガ、BASHシェルの実装など、Unix系オペレーティングシステムを構築するために不可欠な重要なツール群を生み出しました。しかし、GNUの開発者たちはHURDカーネルの実用的なバージョンを開発したことがありません(彼らは依然としてたゆまない努力を続けています)。逆に、Linuxは、GNUの各部分を緊密に接続するカーネルとして登場し、これはGNUの本来の意図を超えていました。

したがって、人々がなぜLinux、フィンランドの無名のプログラマーLinus Torvaldsが1991年に——HURDと同じ年に——発足したカーネルが、試練を経て発展壮大できたのかを問う価値があります。当時の環境下、強力なビジネスサポートを持ち、当時人気のハッカーが率いる多くのUnix系カーネルが発展できませんでした。この問題を説明するため、私はこの問題に関連するいくつかの説明を見つけました。そのために、自由ソフトウェアとオープンソース世界の発展史を研究し、異なる説明の長所と短所を検討しました。

Linuxは分散型開発方式を採用

この観点はEric S. Raymondの記事「大聖堂とバザール」とその関連資料に由来します。これらの資料は、大量の貢献者が分散型組織構造で継続的に協力する場合、ソフトウェア開発の効率が最適になる状況を検証しました。Linuxの開発はこの点を証明しました。逆に、例えばGNU HURDは、コード開発を管理するために比較的集中化された方法を採用しました。その結果はRaymondが言うように、明らかに10年間で完全なオペレーティングシステムを構築できませんでした。

ある程度まで、この説明は道理がありますが、依然として明らかな不足があります。例えば、TorvaldsはLinuxコード開発を指導する過程で、議論の余地なくより権威ある役割を担いました。彼はコードを受け入れるか拒否するかを決定でき、これはRaymondなどが考えたようなことではありません。次に、この観点は、GNUが実用的なシステムカーネルを開発できなかった以外に、依然として多くの優秀なソフトウェアを成功裏に生み出したことを説明できません。分散型開発方式だけがオープンソースソフトウェア世界のプロジェクトをうまく指導できるなら、GNUのすべてのプログラミング作業は無駄だったはずですが、事実はそうではありません。

Linuxは実用型で、GNUは空想型

個人的には、この言い方が最も注目に値すると思います。つまり、Linuxがこれほど急速に発展したのは、その創始者が実用主義者であり、最初は自宅のコンピュータでトリムされたUnixオペレーティングシステムを実行できるカーネルを書きたいだけで、世界を変えることを目標とする自由ソフトウェアの一部になることではなかったからです。後者はGNUプロジェクトの一貫した目標でした。

しかし、この説明は依然として完全に納得させられない部分があります。特に、Torvalds本人は実用主義の原則を信じていましたが、以前も今も、彼のプロジェクトに参加したメンバーすべてが彼と同じようにこの原則を信じていたわけではありません。それでも、Linuxは成功しました。

さらに、もし実用主義がLinuxの継続的発展の鍵なら、再び問う必要があります:なぜGNUはカーネルを開発できなかった以外に、これほど多くの有用なツールを成功裏に開発できたのか?ある種のソフトウェアに対する確固たる政治的信念を持つことが成功を目指すプロジェクトの道の邪魔になるなら、GNUは完全に失敗だったはずで、今もIT世界の強固な基盤を提供する多くの優秀なソフトウェアパッケージを開発した開拓者ではなかったはずです。

最後に(最も重要ではありませんが)、1980年代後期と90年代初頭に誕生した多くのUnix変種、特にいくつかのBSDブランチは、すべて実用主義の産物でした。それらの開発者たちは、高額な商業ライセンスの制限を受けずに自由に共有できるUnix変種を開発することに尽力しましたが、プログラミングやコード共有に対して完全にイデオロギーに固執していたわけではありません。Torvaldsも同様です。したがって、Linuxの成功と他のUnixプロジェクトの失敗がイデオロギーのせいだと言うのは難しいです。

オペレーティングシステム設計

Linuxの成功について語る時、Linuxと他のUnix変種の間の多くの技術的違いを無視できません。Richard Stallman、GNUプロジェクトの創始者は、私へのメールで、なぜHURDの開発進度が頻繁に遅れているかを説明しました:「GNU Hurdは確かに実用的な成功ではありません。部分的には、その基本設計が研究プロジェクトのように見えるからです。(私はこの設計を選択したのは、利用可能なカーネルを迅速に実装する近道だと考えたからです。)」

TorvaldsがLinuxのすべてのコードを単独で書いたという点においても、Linuxは他のUnix変種と異なります。1991年8月に初めてLinuxをリリースした時、彼の本来の意図の一つは、他人のコードを使わずに自分だけのUnixを持つことでした。この特性により、Linuxは同時期の大部分のUnix変種と区別され、後者は一般的にAT&T UnixまたはバークレーのBSDから基礎コードを派生させていました。

私はコンピュータ科学者ではないため、Linuxコードが他のUnixコードより優れているかどうかを判断する資格がありません。Linuxの成功を説明する上でこれが重要かどうかわかりません。これはLinuxと他のUnixカーネルの文化と人員の違いを説明できませんが、この観点は私にとって納得がいきます。なぜなら、Linuxの成功を理解する上で、オペレーティングシステム設計がコードより重要に見えるからです。

Linuxの背後にあるコミュニティが強力なサポートを提供

StallmanはLinux成功の「主な理由」について、「TorvaldsがLinuxを自由ソフトウェアにしたため、Hurdよりも多くのコミュニティサポートがLinuxの発展に流入した」と書きました。これはLinuxの成長軌跡にとって完全な説明ではありません。なぜなら、自由ソフトウェア開発者がTorvaldsに従い、HURDや他のUnixではなくLinuxを選んだ理由を説明できないからです。しかし、この変化がLinux普及の大きな部分であることを指摘しています。

自由ソフトウェアコミュニティがLinuxを支持することを決めた、より包括的な理由があります。当初、Linuxは無名の小さなプロジェクトに過ぎず、どのような基準で測っても、同時期のより自由なUnixを作成しようとする他の試み、例えばNET BSDや386/BSDより、取るに足らないものでした。同様に、最初はLinuxと自由ソフトウェア運動の目標が一致するかどうか不明でした。作成当初、TorvaldsはLinuxが商業的に使用されるのを防ぐライセンスの下でLinuxをリリースしました。その後、ソースコードの開放性を保護するためにGNUの一般公開ライセンスを使用するようになったのは後の話です。

したがって、これらが私が見つけた、オープンソースオペレーティングシステムとしてのLinuxが成功した理由の説明です。Linuxの成功はある面で(例えばデスクトップ版のLinuxはその支持者が望むようにはなっていませんが)測定可能な成功だと言えます。とにかく、Linuxは他のどのUnix系オペレーティングシステムとも異なる方法で、コンピュータ世界の礎石となっています。BSD派生のAppleのOS XやiOSシステムもこれに近いかもしれませんが、それらは他の面でLinuxがインターネットに影響を与えたように、これほど重要な中心的役割を果たしていません。

Linuxが今のようになった理由、またはUnix世界の競争相手たちがほとんど無名になった理由について、他の考えがありますか?もしあれば、あなたの考えを聞かせてください。(確かに、BSD変種は今も一群の追随者を持っており、一部の商用UnixはRed Hat(RHT)にとって彼らのユーザーにサポートを提供するためにも依然として重要です。しかし、これらのUnixの中で、Webサーバーからスマートフォンまでのほぼすべての分野をほぼ征服したLinuxのようなものはありません。)

転載请注明:开发者关系 »


Similar Posts

Content icon
Content