「それがぼくには楽しかったから 全世界を巻き込んだリナックス革命の真実」を読みました。
Linuxの産みの親、リーナス・トーパルズの半生と、Linux誕生が書かれた本です。リーナスの学生時代からLinuxを生み出す経緯、オープンソースとして広がっていく過程、巨大化していくプロジェクトの問題、そして現在への物語が本人の口から語られていてとても面白かったです。
ハイライトはやはりLinuxが誕生する話です。unixの教育用osであるminixをベースにこうだったらいいなと改良していくのですが、ある時誤ってminixを消してしまったことで、Linuxを三ニックスの変わりに成長させざるを得ず、こういった経緯でLinuxは誕生しました。
オープンソース
Linuxはオープンソースプロジェクトとしては世界最大規模のものになります。Linxとオープンソースは切っても切れない関係性になっており、課題や問題、リーナスのオープンソースについての考え方に多くのページがさかれていました。
世界中のプログラマから「こうしたらいいんじゃない?」という意見とソースが届き、時には同じようなプログラムが別々の人から提供されることもあるそうで、どっちが優れているか言い合いになることもあるそうです。そういう時にリーナスはどうするかというと、「自然に任せる」ということであえて何もしないそうです。そういった姿勢がより自由度のあるプロジェクトになり、ここまで拡大した鍵になっているのではないかと思いました。
また、GPLというライセンス形態、金銭授受、マイクロソフトとの比較などLinux周辺の状況もよく書かれていて当時の状況がよくわかります。
minixとLinuxの設計をめぐる議論
特に面白いと思ったのが設計に対する議論です。くわしくはこちらのリンクを参照していただきたいのですが、Linuxがモノシリックカーネルということは初めて知りました。
リーナスはマイクロカーネルにすると小さい部品間を繋ぐためのコードが必要になり、かえって複雑になるといったことを本で言っていましたが確かにそうだなと納得しました(よくわかっていないと思いますが)。現代はマイクロサービスという言葉が流行っていてモノシリックはよくないということをよく聞きますが、状況によってはそんなこともないのかなと興味がわきました。
Linuxカーネルを読んでみようと思います
LPICを取得し、この本を読んだことですっかりLinuxが好きになりました。ということで今後はLinuxカーネルを読んでみようと思います。
少し挑戦してみたのですが、やはりわからず…なのでCPUやアセンブラ、コンパイラ等を勉強し、順を追って挑戦していきたいと思います。