コードストーリー|猫の奴隷の技術的な反撃-LinusTorvalds



Code Story Cat Slaves Technical Counterattack Linus Torvalds



毎週水曜日、ProgramLifeはあなたに別のものをお勧めします コードストーリー 。主人公は、注目に値するコードの伝説、またはおなじみの業界リーダー、またはあなたの周りのITいじめっ子、あるいはあなたかもしれません!これは、優れたコードライフを共有するように設計されたコラムです。主人公を推薦し、貢献し、資料を提供することを歓迎します。




1991年半ば、LinusTorvaldsは自分の部屋でキーボードを入力していました。彼は14インチの黒い画面を注意深く見つめ、ペットの子猫のランディがズボンを舐めているのを感じませんでした。彼はコンピューターで遊んでいるとき非常に注意深く、彼が受け入れることができた唯一の騒音は彼の最愛の猫のうなり声でした。




このコンピューターの価格は3,500ドルと高く、フィンランドの家族にとっては贅沢です。さらに、Tovazの両親は、息子を後援するための予備のお金をあまり持っていませんでした。 Tovazは奨学金とポケットマネーを追加し、コンピューターに3分の2のお金を支払いました。残りの3分の1は、今後3年間で分割払いで支払う必要があります。コンピューターを入手した後、トーバルズはそれを数ヶ月間過ごしました。しかし、トヴァズの母親はこれについてあまり意見を持っていませんでしたが、時々トヴァズに食べるように思い出させました。サラ・トーヴァルズ姉妹は隣で咆哮し、ダイヤルアップしていた兄に電話回線をあきらめさせました。


0?wx_fmt = jpeg



リーナス・トーバルズ


彼の両親は彼の初期に離婚したので、トーバルズはほとんどの場合母親と一緒に育ちました。彼の祖父は統計学の教授であるため、彼は仕事用のコモドールコンピューターを持っています。このブランドのコンピューターは、BBC Microのように、すべてヨーロッパで人気がありました。孫を訓練するのか、それとも怠け者なのかわかりません。おじいちゃんはしばしばプログラムを指示し、トーバルズをコンピューターに入れさせます。若いTovazはすぐに、この目立たない「ボックス」がユーザーが子供であることを気にしないことを発見しました。プログラムが入力されている限り、コンピュータは指示に従って動作します。それ以上でもそれ以下でもありません。兵役でのほぼ1年を除いて、トーバルズはほとんどの時間をコンピュータープログラミングに費やしました。彼がヘルシンキ大学に入学したとき、トーバルズはすでに幅広いプログラミング経験を持っていました。


Torvaldsは、ターミナルエミュレーションプログラムを作成しました。このプログラムにより、Torvaldsは電話回線を介して学校のコンピューター室のコンピューターに接続し、コンピューター室のコンピューターを介してインターネット上でメールを送受信できます。 1990年代初頭、電子メールはまだハイテクであり、数人の「オタク」しか遊べませんでした。ほとんどの人は電子メールが何であるかさえ知りませんでした。したがって、Tovazが端末エミュレーターを妹に見せたとき、Saraは顔が真っ白で、兄が何を引っ張っているのかわかりませんでした。 Torvaldzは彼の妹に手順が何であるかをほとんど説明することができません。このプログラムはアセンブリ言語で書かれており、コンピュータハードウェアと直接対話できます。言い換えれば、Windowsのようなオペレーティングシステムのないコンピューターの場合、TorvaldsはWarcraftを実行させることができます。もちろん、Tovazの機能はゲームよりもはるかに単純です。次に、彼は、Unixオペレーティングシステムで一般的に使用されているテキストインタラクターbashをターミナルエミュレーションプログラムに移植しました。このテキストインタラクティブインターフェイスを使用すると、自宅のコンピュータは学校のUnixと同じくらい簡単に使用できます。


もちろん、Unixを直接インストールできれば、Torvaldsはそれほど手間をかける必要はありません。 Unixは、Windowsより20年古いオペレーティングシステムプログラムです。 BellLabsのKenThompsonは、PDP-11モデルのコンピューターで「SpaceTravel」というゲームをプレイしたいと考え、オリジナルのUnixを作成しました。前の操作と比較して、Unixは非常にシンプルです。コンピュータのアクティビティは、ユーザーの操作やプログラムのコンパイルに関係なく、構造が類似しており、操作が互いに独立している「プロセス」に編成されます。プロセスはテキスト形式で相互に通信できるため、連携して機能します。プログラムテキストから構成情報、そしてハードウェアインターフェイスに至るまで、コンピューター上のデータはファイルとして保存されます。 Unixは、オペレーティングシステムの哲学であるため、それほどプログラムではありません。ケン・トンプソンは、コンピューターの世界ではニュートンのようであり、コンピューターが達成できる複雑な活動をいくつかの単純な物理法則に分解します。 Unixは半世紀近く人気があり、MicrosoftのMS-DOSやWindowsなど、Unixキャンプにない他のオペレーティングシステムに影響を与えてきました。


0?wx_fmt = jpeg

ケントンプソンはPDP-11の前に働いています


Bell Labsを所有するAT&T(American Telegraph and Telecommunications)は、当時政府による禁止措置を受けており、ソフトウェア事業に関与することができませんでした。したがって、AT&Tは教育機関がUnixを解放することを許可しています。したがって、Unixシステムは大学で急速に普及しています。ケントンプソンの母校であるバークレー大学は、より使いやすいバージョンのBSD(Berkeley Software Distribution)を導入しました。これらのコンピュータ学部の大学生はUnixシステムに慣れているため、社会に入った後、IT企業にもUni​​xシステムを宣伝しました。 Unixは黄金のビジネスになり、さまざまな商用バージョンを生み出しました。ヘルシンキ大学はまた、新しく購入したミニコンピューターにUnixシステムをインストールしました。これにより、10人以上の学生が同時にオンラインで使用できるようになりました。 Torvaldsは、このコンピューターの常連客の1人であり、すぐにUnixに夢中になりました。彼は夏の間ずっと古典的なオペレーティングシステムの教科書を勉強しただけでなく、Unixプログラムの開発に使用されるC言語も学びました。残念ながら、Unixは家庭での使用は無料ではなく、最も安価なUnixシステムの価格は数千ドルです。すでに借金を抱えているトーバルズは、それを買う余裕がありません。


bashを移植した後、Torvaldsはすでに自分のコンピューターでUnixを使用する喜びを体験できます。彼はすぐにC言語コンパイラgccを自分のコンピュータにインストールしました。 UnixでのほとんどのアプリケーションはCで書かれているので、Torvaldzは彼がUnixの世界への扉を開いたことに気づきます。彼は再び創造者の誇りに満ちていました。


1991年8月、トーバルズはMinixニュースグループに次のように投稿しました。


Minixユーザーの皆さん、こんにちは。私は(無料の)オペレーティングシステムを作っています(趣味のように、gnuのように専門的ではありません)。このプロジェクトは4月から開始され、準備が整います。私のオペレーティングシステムはMinixに少し似ているので、特にMinixが好きな人や嫌いな人は、あなたの意見を聞きたいと思います。私はbashとgccを移植しています。これは、今後数か月で、いくつかの実質的な結果が得られることを意味します...さらに、Minixコードを使用しません...


当時、Minixはオペレーティングシステムの世界のスターでした。 Minixの作者は、アムステルダム自由大学に住むコンピューター教授のAndrewTananbaumでした。教育の便宜のために、彼は、Unixに基づくオペレーティングシステムMinixとオープンソースコードをモデル化して、学生がオペレーティングシステムの原理をよりよく理解できるようにしました。彼が編集したオペレーティングシステムの教科書も非常に人気があります。 Torvaldsは、700ページの教科書を通じてオペレーティングシステムの原理を学びました。何年も後、彼がアムステルダム自由大学で話していたとき、トーバルズは同じ本を持っていて、タネンバウムの署名を得たいと思っていました。残念ながら、Tannenbaumは市内にありません。


MinixはUnixほど成熟していませんが、それでもTorvaldsのオペレーティングシステムよりもはるかに強力です。 Minixにはすでに多くのファンがいます。多くのマスターがMinixのパッチを作成しました。これにより、Minixの使いやすさが大幅に向上しました。トーバルズが独力で仕事をするとき、彼は主にミニックスを使います。そのため、Torvaldzは、彼のオペレーティングシステムをMinixニュースグループに公開しました。これは、磁器店に侵入した雄牛のように見えます。驚いたことに、トーバルズはニュースグループで多くの支持を受けました。投稿後すぐに、MinixユーザーはLinusにフィードバックし、必要な機能を説明します。一部のユーザーは、公式にリリースされたオペレーティングシステムコードをアップロードするためにTovaz用のFTPサーバーも確立しています。 Minixユーザーは少し惨めなようですが、これはTannenbaumのせいにする必要があります。彼は最初に言葉を持っており、人々に彼のソースコードを拡張してほしくない。熱心なユーザーが改善されたプログラムを書いたとしても、Tannenbaumはこれらの改善を公式リリースに追加しません。したがって、非公式のパッチを書いて、個人的に通信することしかできません。 Minixの開発は行き詰まっています。


代わりに、トーバルズはGPL協定を採用しました。すべてのユーザーがGPL契約のコードを自由に使用および変更できますが、これに基づいて変更されたコードも、他のユーザーが使用または変更できるようにGPL契約に従って開く必要があります。この行動は理想主義に満ちています。つまり、トーバルズは彼が書いたプログラムから直接的な経済的利益を得ることができません。トヴァズの両親が元学生運動の指導者であったことを考えると、彼の父親はフィンランドの左翼の重要なメンバーでもありました。 Tovazのアプローチは家族の影響によるものだと疑う人もいました。しかし、Torvaldz自身の説明によると、彼がGPLを使用した唯一の理由は怠惰でした。 GPL協定により、愛好家はためらうことなくコードを提供することができます。彼が最高のものを選んで公式バージョンに参加する限り、彼は開発の手間を省くことができます。この「トリック」は本当にうまくいきました。ファンはコードを提供しただけでなく、Tovazがコンピューターの借金を支払うのを助けるためにお金を集めました。彼らはまた、オペレーティングシステムを「Linux」と名付け、トーバルズの名前は「Linus」と名付けました。最後の文字は、Unixの伝統に従って文字「x」に変更されます。


0?wx_fmt = jpeg

Linuxのロゴ、ペンギン。その姿は後に祝福されたトルヴァルツの姿に似ています...


サークル内の多くの人々はLinuxについて楽観的ではありません。 Linuxの約1年後、Unixの父であるKenThompsonとMinixの父であるAndrewTannenbaumは、Linuxの実装を公に批判しました。タネンバウムは、トーバルズが彼のクラスの学生だった場合、その学生は成績に失敗したに違いないとさえ言った。オープンソース運動のリーダーであるエリック・レイモンドは、Linuxコードに最初に触れたとき、Linuxが最終的に失敗すると信じるに足る理由があったことを後で思い出しました。明らかに、彼らはコミュニティの重要性を過小評価していました。 Torvaldsが最も才能のあるプログラマーでなくても、コミュニティ愛好家の貢献により、才能のあるプログラマーはLinuxの速度に追いつくことができなくなります。一方、トーバルズはオープンソースの理想を維持しながら、十分な実践精神を持っています。 LinuxはGPLプロトコルを使用していますが、Torvaldsは「フリーソフトウェアは良い」という絶対的な主張を支持していません。彼の見解では、商用か非商用かを問わず、Linuxの開発を促進できる場合にのみ、Linuxで使用できます。問題が発生した場合、トーバルズは「完璧なシステム」の清浄度に分類されません。彼は、不完全な計画を受け入れ、計画を継続的に最適化するために迅速に反復します。同じくGPLプロトコルを使用しているが、より理想的であるGNUプロジェクトも、カーネル開発においてLinuxに失われました。


1995年に、HTTPサービス用のApacheサーバーがリリースされました。インターネットサービスプロバイダーは、同じ無料のLinuxサーバーとApacheサーバーを組み合わせて、Webサイトに必要なサーバーを安価に構築できることを発見しました。このとき、Linuxは数年前から猛烈な勢いで進化しており、Webサーバーの仕事を十分にこなせるほど強力です。コンテンツが豊富なWebページは、電子メールやニュースグループに取って代わり、インターネットの主流になりました。この技術に基づいて、Yahoo、Amazon、中国の捜狐など、インターネット企業の初期のバッチが設立されました。 「ドットコム」の流行はLinuxに強い打撃を与えました。ネットワークサーバー市場では、LinuxはMicrosoftのWindows NTを完全に打ち負かし、ほとんどのインターネット企業の選択肢となりました。 Netscape、Oracle、IBM、およびその他の企業はLinuxシステムのサポートを開始し、コードの一部を公開してオープンソース運動に貢献することにも同意しました。そのため、トヴァズの写真はフォーブスの表紙に登場し、多くのティーンエイジャーのアイドルになりました。


フィンランドの貧しい少年は、世界を支配したビル・ゲイツを破りました。これは話題のストーリーラインです。より多くの人々が、無料のLinuxがどのようにお金を稼ぐかについて混乱しています。記者たちは急いでTovazに電話し、独占インタビューを受けました。彼らは偶然、電話に出たのは助手ではなく、伝説の英雄自身であることに気づきました。実際、トーバルズには個人秘書がいなかった。 Linuxプロジェクトには数万人の参加者がいますが、これらの参加者はさまざまなプロジェクトに編成されています。 Tovazは、実際には数十人のプロジェクトリーダーに対処する必要があります。一方、人類史上最大のソフトウェア協力プロジェクトを主導し、Linuxの商標の下にあるにもかかわらず、トーバルズは金持ちではありません。 1997年、トーバルズは妻と生まれたばかりの娘と一緒に米国に移住しましたが、彼の口座の残高はわずか数千ドルでした。米国での最初の夜、トーバルズは妻を膨らませてマットレスで絞らなければならず、猫は旅行用の檻の中でしか眠れませんでした。


しかし、トヴァズが喜んでいるなら、彼は自分でより良い生活を送ることができます。 MicrosoftのSteveBallmerはLinuxに非常に警戒しており、SteveJobsは個人的にTovazをAppleに招待しました。 Linuxのサービスとサポートを提供するRedHatLinuxやVALinuxなどの企業も設立され、目覚ましい成功を収めています。トーバルズはこれらの会社から与えられた選択肢を感謝の気持ちとして受け入れましたが、彼はそれらの会社で働きたくありませんでした。 Torvaldsは、Linuxの商業的ブレークスルーを見て喜んでいます。彼は商業的利益のために中立を保つことができないように、個人的な選択をする際に非常に注意を払いました。


しかし、人生は常にTovazに予期しない驚きをもたらします。 Red HatLinuxとVALinuxのリストにより、Tovazの手の株価はかつて2,000万ドルにも達しました。しかし、トーバルズは今でも普通の家に住んでいて、ほとんどの時間をLinuxの保守に費やしています。 Tovazを本当に誇りに思っているのは、社会が彼のようなオタクの認識を完全に変えたことです。オタクは、70年代と80年代に、長いあごひげとスリッパが暗い部屋に一日中隠れているオタクではなくなりました。代わりに、人々は彼らを技術のパイオニアと見なしています。大企業は、Linuxコアプロジェクトに参加するプログラマーを雇うために高額の給与を支払う用意があります。優れたテクノロジーに加えて、オープンソースコミュニティに貢献するこれらのオタクは、歴史を変えたソフトウェア開発の方法をもたらすこともできます。


今日の雑誌の表紙では、TorvaldのLinuxは、人工知能、携帯電話、バーチャルリアリティ、モノのインターネットに取って代わられています。しかし、考えてみてください。IBMのスーパーコンピューター、GoogleのAndroidスマートフォン、バーチャルリアリティ、モノのインターネットの組み込みデバイスはすべてLinuxシステムを実行しています。 Raspberry Piのような超小型コンピューターでも、Linuxを問題なく実行できます。四半世紀の間に、Linuxは技術の世界で不可欠なインフラストラクチャになりました。 Linuxの誕生を目撃したランディは亡くなりました。黒猫のミンキーがランディに取って代わった。それで、このオタクのプログラミング時間の間に、猫はそっとつぶやきました。


0?wx_fmt = jpeg


ソース記事:https://www.douban.com/note/616156711/

転載は原作者によって承認されています


- やっと -


推測


0?wx_fmt = jpeg


次号ではどのようなコードストーリーをお伝えしますか?


それとも、誰の話を期待していますか? 伝言を残す 教えて


写真をクリックして入手してください もっと面白い

0?wx_fmt = png

プログラマーが最も嫌うプログラミング言語とテクノロジー...今日のPHPについては考えられません


0?wx_fmt = png

NetEaseフロントエンドインタビューを覚えておいてください


0?wx_fmt = png

10年後、プログラマーは今日の収入をまだ持っていますか?


0?wx_fmt = gif

640?wx_fmt = png