世界中のWebサイトの40%以上を動かしている「WordPress(ワードプレス)」。
スーパーコンピュータやサーバーのほとんどで使われている「Linux(リナックス)」。
これらには共通点があります。
それは「誰でも無料で使えて、中身を改造してもいい(OSS)」ということです。
「えっ、タダなの? 怪しくない?」
「開発者はどうやって食べてるの?」
そんな疑問を持つ方のために、OSS(オープンソースソフトウェア)の仕組みを「料理のレシピ」に例えて解説します。
1. OSS = 「レシピが公開された料理」
ソフトウェアのプログラム(ソースコード)は、料理で言えば「レシピ」です。
世の中のソフトは、大きく2つに分けられます。
① プロプライエタリ(クローズド)なソフト
例え:老舗旅館の「秘伝のタレ」
- レシピは企業秘密。店主(MicrosoftやAdobe)しか知らない。
- 勝手に味を変えることは許されない。
- その代わり、味の保証があり、何かあれば店主が責任を取ってくれる。
- 例:Windows, Excel, Photoshop
② オープンソースなソフト(OSS)
例え:クックパッドの「人気レシピ」
- レシピ(ソースコード)がネットで全公開されている。
- 誰でも無料でその料理を作っていい。
- 「もっと砂糖を入れたほうが美味しいよ!」と、誰でも改良(アレンジ)していい。
- 世界中の料理人(エンジニア)が寄ってたかって改良するので、進化がめちゃくちゃ速い。
- 例:Linux, WordPress, Firefox, Android
OSSの正体は、「世界中の有志が協力して作り上げている、みんなの公共財」なのです。
2. なぜ無料なのに開発が続くの?
「タダ働きで開発するなんて、エンジニアはお人好しなの?」と思いますよね。
実は、OSS開発には強力なメリットがあるのです。
企業にとってもメリットがある
例えばGoogleやAmazonなどの巨大企業も、自社の技術をどんどんOSSとして公開しています。
なぜなら、自社だけで開発するより、世界中のエンジニアに公開して「バグを見つけてもらったほうが早い」し、「より良い機能を追加してもらえる」からです。
また、「Red Hat」のような会社は、Linux自体は無料で配りつつ、「困ったときのサポート代」や「説明書代」で稼ぐというビジネスモデルを確立しています。
「レシピは無料だけど、料理教室は有料ですよ」というスタイルですね。
3. OSSを使うメリット・デメリット
私たちがシステムを作る時、OSSを使うべきか、有料ソフトを買うべきか。その判断基準を紹介します。
- 無料(低コスト):ライセンス料がかからない。
- 透明性:中身が見えるので、不正プログラムなどが仕込まれにくい。
- ベンダーロックインの回避:特定のメーカー(ベンダー)に縛られない。「あの会社が倒産したら終わり」というリスクがない。
- 自己責任:基本的に「無保証」です。バグがあっても文句は言えません。
- サポートがない:使い方が分からなくても、公式の電話窓口などはありません(ネットで自分で調べるしかない)。
初心者は「サポートがある有料ソフト(Officeなど)」を使い、
技術力のあるプロは「自由度の高いOSS(Linuxなど)」を使う、という住み分けが一般的です。
4. 試験に出る!「ライセンス(約束事)」
OSSは「好き勝手にしていい」わけではありません。
「コピーレフト」という独特の考え方に基づいた利用規約(ライセンス)があります。
GPL(ジーピーエル)
「感染するライセンス」と呼ばれます。
「このソフトを使って改良版を作ったら、その改良版のレシピも必ず公開しなさい」という厳しいルール。
独り占めを許さない、厳格なOSS(LinuxやWordPressなど)で使われます。
MITライセンス / Apacheライセンス
「ゆるいライセンス」です。
「このソフトを使って改良版を作っても、レシピは公開しなくていいよ(販売して儲けてもいいよ)」というルール。
ビジネスで使いやすいので、最近の主流はこちらです。
5. 実は身近なOSSたち
「私はOSSなんて使ってないよ」という人も、実は毎日使っています。
- Androidスマホ:中身はLinux(OSS)です。
- Chromeブラウザ:元はChromiumというOSSです。
- Webサイト:インターネット上のサーバーの約7割は、LinuxなどのOSSで動いています。
現代のインターネット社会は、名もなきエンジニアたちが積み上げた「無料のレシピ(OSS)」という土台の上に成り立っているのです。
まとめ
- OSS(オープンソース)は、レシピ公開型のソフトウェア。
- 誰でも使える・直せる・配れるが、基本は自己責任。
- GPLライセンスは「改良版も公開しろ」という厳しいルール。
もしあなたがこれからプログラミングを学ぶなら、世界中の先人たちが残してくれたこの巨大な「知恵の図書館(OSS)」を自由に使えるようになります。
それがエンジニアになる一番の面白さかもしれません。