実家が造り酒屋を営む赤井君は、大学時代の友人でサーバ管理者の経験がある服部君と意気投合し、インターネットに実家で作っている日本酒の販売サイトを立ち上げることにしました。
ゆくゆくは本格的なコマースサイトにしたいという野望もあるのですが、まずは酒屋のホームページとメールシステムを、自前のサーバで作ってみることにしました。
服部君の先輩である「謎のエンジニア」こと南さんの手助けもあり、かなり立派なサーバ用ハードウェアを入手できたところまでが、前回までのお話です。
さて、今回はこのサーバ機器を動かすための「OSの選択」がテーマです。
どのようなOSを使用するのか?
服部(以下:服):思いがけずにサーバ機器が手に入ったな。次はそこで動作させるOS を決めよう。
赤井(以下:赤):どんなOSを選べばいいのかな?
服:物事は始めが肝心! OSだったら大きく分けて、UNIX、Linux、Windowsあたりだけど、先輩からもらったサーバ機器で動かすならLinuxかWindowsかな。
赤:Linuxって最近良く聞くけど、Windowsとは何が違うの?
服:簡単に言うと、Windowsというのはソースコードが公開されていないOSで、Linuxというのはソースコードが公開されている「オープンソース」のOSなんだよ。
赤:「ソースコードが公開されている」ってどういうことなの?
服:つまりさ、レシピが公開されている料理と公開されていない料理があるだろ。レストランで食べている分にはどちらでもいいけど、いざ自宅で調理する時に、たとえばインターネットでレシピが公開されていれば、それを元に料理を作れる。しかも、自分で工夫したオリジナルレシピなんかも、また公開できる。ソースコード、要するにOSの設計図が公開されているLinuxと、公開されていないWindowsの違いはそこにあるんだよ。
赤:でも、僕はレストランでの外食が多いし、料理というのは苦手なんだよね。
服:赤井は仕事でもWindowsばかり使ってるもんな。でも、今回は俺たちの手で「インターネット赤井酒蔵」を作るって決めただろ? せっかくだから、男の手料理で頑張ろうぜ!
赤:つまり、Linuxを使うってこと?
服:せっかくの、俺たちの「インターネット赤井酒蔵」が、レストランの料理と同じようなお仕着せ品ではつまらないだろ? Linuxは、世界中の優秀なエンジニアがシステムの改変を行っていて、品質も安定しているし、日々進化しているんだ。ソースが公開されているから、何か問題があった際の原因もわかりやすいし。何より、オープンソースソフトウェアとして無料で使えるアプリケーションが星の数ほどあるってのも重要だと思わないか?
赤:オープンソースならお金の無い僕たちにも無限の可能性が……。オッケー! OSはLinuxに決定!!
ディストリビューションはどうする?
先輩:おーい、服部、赤井いるか? 差し入れにケーキを持ってきたぞ!
服:ああ、先輩! ありがとうございます。ちょうど今、OSはLinuxにしようと決めたところなんです。
先輩:何だか良く分からんが、盛り上がってるみたいだな(笑)。それで、話は進んでいるのか?
服:OSはLinuxと決まったんですが、どのLinuxを使ったらいいのか、先輩に相談しようと思っていたところなんです。
先輩:赤井君はLinuxにはたくさんの「ディストリビューション」があるって知っているか?
赤:え? Linuxにも色々と種類があるということなんですか?
先輩:そうなんだよ。Linuxにも様々な用途に合わせたディストリビューションというものが存在するんだ。たとえば、「車」はタイヤとエンジンとシャーシがあれば走るけど、ワゴン車だったり、スポーツカーだったりと、用途によって装備されるものが変わったりして、色々なメーカーから様々な車が販売されてるだろ? それに近いかな。
赤:南先輩はLinuxにも詳しいんですね! もしかして、その道で超一流だったりしますか?
先輩:よくぞ聞いてくれた。まず俺が昔、オープンソースソフトウェアに出会ったころの話をしよう。当時フィンランドの人が「“Linux”という OS を作ってみたから、どんな機能が欲しいか教えてください! どんな提案でも歓迎します!」というのをインターネットで公開したんだよ。俺は感激して……。
服:……あの〜、その話長くなりそうだから、この辺にして相談に乗ってもらえますか?
先輩:おい、これから話が面白くなるところなんだぞ……。