T1#open-source

Linux ── 21歳の Linus Torvalds による発表

Linus Torvalds(2018年6月・LC3 北京)── Linux カーネルの作者
出典Lf Asia (Wikimedia Commons) · CC BY 3.0 · Commons で見る

メタデータ

日付
年代
1990s
Tier
T1
出典数
10
関連項目
02
Tags
#open-source

1991年8月25日、Helsinki 大学のコンピュータサイエンス学科の学生、Linus Torvalds は、Usenet ニュースグループ comp.os.minix に短い投稿をした。

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready.

件名は「What would you like to see most in minix?」、要約欄は「small poll for my new operating system」。投稿の日付は 25 Aug 91 20:57:08 GMT。「ホビーであって、gnu のように大きくプロフェッショナルなものにはならない」── 彼は本当にそう書いた。追伸には「Yes - it's free of any minix code」ともある。

35年後、その投稿者がそれを書いたとき意図していたよりも、はるかに大きく、はるかにプロフェッショナルなものになっていることを、彼自身も知っているだろう。

Minix という制約

Minix は Andrew Tanenbaum の教育用オペレーティングシステムで、1987年の教科書『Operating Systems: Design and Implementation』に付属していた。ソースコードは読めたし、改変もできた。だが自由ではなかった。理由は所有権にある ── 著作権は出版社が持っていた。ライセンスがようやく変わったのは2000年4月で、Tanenbaum は同じニュースグループで自ら告知している。「ようやく Prentice Hall から、MINIX のライセンスを BSD ライセンスに変える許可を得た。弁護士たちがこれを2年ほど寝かせていた」。新しいライセンスの冒頭は、それでもなお Copyright (c) 1987,1997, Prentice Hall と書かれていた。

それまでの9年間、学生は Minix を読み、パッチを当てることはできても、改良した「システム」をそのまま友人に渡すことはできなかった。その制約の実務的な形は、Torvalds 自身による1991年10月5日の Linux 0.02 公開告知に現れている。

ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled (and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to set it up if you want to run it, so it is not yet a standalone system for those of you without minix.

同じ8月のスレッドで、当時の読者の一人は同じことを一節で書いている ──「Mach needs a MMU and Minix is not free.(Mach は MMU が要るし、Minix は自由ではない)」。

技術的な不満はそれとは別に、しかもきわめて具体的だった。Torvalds は手元の Intel 80386 を386として使いたかった。1991年8月26日の続報で、彼はどこまで踏み込んだかを率直に書いている。

Yes, it needs a MMU (sorry everybody), and it specifically needs a 386/486 MMU (see later).

Simply, I'd say that porting is impossible. It's mostly in C, but most people wouldn't call what I write C. It uses every conceivable feature of the 386 I could find, as it was also a project to teach me about the 386.

チップに最も強く縛りつけていたのはセグメンテーションだった ──「タスクごとにコードとデータで64MB のセグメントを持ち、4GB 中に最大64タスク。1タスクに64MB を超えて必要な人には気の毒だが」。この時点の野心は控えめで、しかも明言されている ──「まずは単純な minix もどきにする。キーワードは SIMPLE」。ライセンスの意向も、GPL の5か月も前に書かれていた ──「ただし自由にはする(おそらく gnu ライセンスかそれに類するもので)」。

初期の開発モデル

Torvalds が最初に書いたのは、386のタスクスイッチを試すためのターミナルエミュレータだった。やがてファイルシステムが付き、入出力が付いた。1991年7月3日、同じニュースグループに POSIX 規格の機械可読版を探す投稿をした時点で、「デバイスドライバのいくつかは動いており、ハードディスクは実際に動作していた」。

バージョン 0.01 は1991年9月中旬に nic.funet.fi に置かれ、告知されなかった。 1年後の本人の回想はこうである ──「0.01 のソースは実際には動くものではなかった。長く待たされて絶望しかけていたであろう arl への、意思表示にすぎない」。arl とは、その年7月の Torvalds とのやりとりの結果として nic.funet.fi に Linux のサブディレクトリができた、その相手である。「0.01 に告知がないことに注意。自慢できるものではなかったので、興味を示してくれた人に個別に知らせただけだったと思う」。

公開の告知は 0.02、1991年10月5日で、宛先は明確に限定されていた。

Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? … This is a program for hackers by a hacker.

(minix-1.1 の良き日々 ── 男が男で、自分でデバイスドライバを書いていた頃 ── が恋しくないか? …… これはハッカーによるハッカーのためのプログラムだ)

そしてここから、以後30年を規定するリリース間隔が始まる ──「当時でさえ、リリースの間隔は最大でも2〜3週間だった」。0.03 は数週間後、次はもう動くようになってきたので 0.10 と番号が飛び、1991年12月19日時点では 0.11 が最新だった。2MB でカーネルをコンパイルできないという報告があり、クリスマス直前には少数のテスターに 0.11+VM が配られている。当時の彼の .plan ファイルには「386用の自由な UNIX ── 1991年第4四半期または1992年第1四半期に登場」とあった。到達点の見積もりはこうである ──「Hurd のような本格的にプロフェッショナルな OS には決してならないだろう(それは次の世紀あたりかな :) が、学習用としては良い道具だ」。

GPL という選択

変更を宣言したのは、1992年1月に出たバージョン 0.12 のリリースノートである。それまでのライセンスには「金を取って配布してはならない」という条項があった ── 本人の後年の言い方では、「初期の著作権表示は GNU コピーレフトよりずっと制限的だった。linux をめぐって金銭が動くことを一切認めていなかったのだ」。

The Linux copyright will change: I've had a couple of requests to make it compatible with the GNU copyleft, removing the "you may not distribute it for money" condition. I agree. (...) Otherwise The GNU copyleft takes effect as of the first of February.

つまり効力が発生したのは1992年2月1日。これは決定的な選択だった。コピーレフトは、改変の有無にかかわらず再配布する者に同じライセンスを要求する。したがって Linux は、商業企業が囲い込んで独自製品にすることのできない共有財として確立された。世界中の開発者から修正パッチが届きはじめる。

反論を、きちんと記録しておく

Linux に対する最も本格的な批判は、GPL 移行の数週間後、Minix の作者から来た。1992年1月29日、Tanenbaum は comp.os.minix"LINUX is obsolete"(LINUX は時代遅れである)という件名でスレッドを立てた。

冒頭投稿での主張は、Linux がモノリシックカーネルであり、時代はすでに先へ進んでいる、というものだった ──「実際にオペレーティングシステムを設計している人々のあいだでは、この議論は本質的に終わっている。マイクロカーネルが勝った」。設計そのものについてはこう書いた ──「LINUX はモノリシック型のシステムである。これは1970年代への大きな後退だ。既存の、動いている C のプログラムを BASIC で書き直すようなものである」。

この論争を記憶させることになる一文は、Torvalds の反論を受けた同じスレッドの後続投稿にある ──「1991年にモノリシックカーネルを設計するのは根本的な誤りだ、という主張は変えない。君が私の学生でなくてよかったね。こんな設計では高い評点はもらえないよ :-)」

学界の合意についての彼の認識は誤っていなかった。誤っていたのは、勝敗を決める性質がどれかという点である。この論争を記録に残す価値があるのは、まさに敗れた側が教科書を味方につけていたからだ。

大きく、プロフェッショナルに

1994年、バージョン 1.0 がリリース。 1996年、Tux ペンギンがマスコットに。 1998年、IBMCompaqOracle といった大企業が相次いで Linux 対応を表明。 2003年、SCO 社による知的所有権訴訟(後に SCO 側敗訴)。 2007年11月、Google 主導の Open Handset Alliance が Android を発表 ── そのカーネルは Linux である。

規模は測定できる。バージョン 0.01 は全88ファイル・10,239行だった。2026年6月28日、Phoronix が Linux 7.2 の git ツリーに cloc をかけた計数は、108,158ファイル・総計 43,898,743行(うち実コードが 33,653,681行、残りは空行とコメント)。1つ前の Linux 7.1 は 42,924,382行だった。最初の tarball に対して、ファイル数でおよそ1,200倍、行数でおよそ4,300倍である。

リリース体制もまた、趣味とは似ても似つかない。2026年8月9日時点の kernel.org は、mainline を 7.2-rc6、stable を 7.1.7 とし、なお修正を受け続ける longterm を6系統(最古は 5.10)掲げている。

W3Techs の2026年8月8日の集計では、OS が判明している Web サイトのうち Linux が61.7%、Unix 系全体では91.9%。スーパーコンピュータ TOP500 は2017年11月以降、全機が Linux 系で占められている。Android 端末は数十億台。2021年2月には、火星ヘリコプター Ingenuity の運用リードだった JPL の Tim Canham が IEEE Spectrum に「This the first time we'll be flying Linux on Mars.」と語った ── 惑星間飛行の制御にも入っている。

「Just a hobby」と書いた21歳の学生は、現在は Linux Foundation のフェローとして、依然として Linux カーネルの最終的なマージ判断を握り続けている。

よくある質問

Linux が最初に公開されたのはいつか
Torvalds が comp.os.minix に「just a hobby」の投稿をしたのが1991年8月25日、最初のソース 0.01 が公開されたのが同年9月17日である。0.01 は告知されないまま置かれたもので、全88ファイル・10,239行だった。
Linux は最初から GPL だったのか
違う。初期の著作権表示には金銭を伴う配布を禁じる条項があり、Torvalds 本人が後に「GNU コピーレフトよりずっと制限的だった」と述べている。GPL への変更は1992年1月のバージョン 0.12 のリリースノートで宣言され、効力が発生したのは1992年2月1日である。
Linux は Minix から派生したのか
派生ではない。Minix の影響は受けているが、独立したカーネルとして書かれている。Minix のソースは読めて改変もできたものの著作権は出版社が持っており、BSD ライセンスに変わったのは2000年4月である。

出典

  1. 一次資料linux-0.01.tar.gz — kernel.org Historic archive (88 files, 10,239 lines)

    取得日: 2026-08-03

  2. 二次資料Usage statistics of Linux for websites — W3Techs

    取得日: 2026-08-09

  3. 三次資料History of Linux — Wikipedia

    取得日: 2026-08-03

最終更新:

共有