【真面目版】オープンソースソフトウェア(OSS)とは?初心者向けやさしく解説

情報セキュリティのポスター #1

情報セキュリティのポスター #2

目次

そもそも「オープンソースソフトウェア」って何?

幽灯子/基本情報技術者副専門官

皆さんが普段使っているスマホのアプリやパソコンのソフトには、「設計図(ソースコード)」 が存在します。この設計図は通常、企業が秘密にしていて、私たちが中身を見ることはできません。

一方、オープンソースソフトウェア(OSS) とは、この設計図を 誰でも自由に見たり、使ったり、改良したり、配布したりできるソフトウェア のことです。

料理に例えると、普通のソフトウェアは「秘伝のレシピで作られた料理」。オープンソースは「レシピが公開されていて、誰でもアレンジして自分の店で出してもいい料理」というイメージです。


OSSの4つの自由

幽灯子/基本情報技術者副専門官

OSSには、利用者に保障された 4つの自由 があります。試験でもよく問われるポイントです。

① 自由に使える — 目的を問わず、誰でも自由にソフトウェアを実行できます。個人利用でも商用利用でもOKです。

② 中身を見て学べる — ソースコードが公開されているので、仕組みを調べたり、研究に使ったりできます。

③ 自由にコピー・配布できる — 友人や同僚にコピーを渡すことも自由です。

④ 改良して配布できる — 自分で機能を追加したり、バグを修正したりして、その改良版を公開することもできます。

試験での注意点: 「無料で使えるソフト=OSS」ではありません。フリーソフトでもソースコードが非公開なら OSSではありません。逆に、OSSでも有償サポートを提供しているケースもあります。大事なのは ソースコードが公開されているかどうか です。


試験に出る!代表的なOSSライセンス

幽灯子/基本情報技術者副専門官

OSSには「この条件を守ってね」というルール(ライセンス)があります。試験で特に重要なものを紹介します。

GPL(GNU General Public License)

最も厳格なライセンスの一つです。GPLのソフトウェアを改良して配布する場合、改良版も必ずGPLで公開しなければならない というルールがあります。この性質は 「コピーレフト」 と呼ばれます。改良版を自分だけのものにすることはできません。

LGPL(GNU Lesser General Public License)

GPLよりやや緩いライセンスです。ライブラリ(部品のようなもの)として使う場合は、自分のプログラム全体をGPLにする必要はありません。

BSD License(BSDライセンス)

非常に自由度が高いライセンスです。著作権表示とライセンス文を残せば、商用ソフトに組み込むことも自由 です。改良版を非公開にすることもできます。

MIT License(MITライセンス)

BSDライセンスと同様にとても緩やかで、ほぼ自由に使えます。現在、最も広く使われているOSSライセンスの一つです。

Apache License

企業利用でも人気の高いライセンスです。特許に関する条項が含まれており、特許トラブルを防ぐ仕組みがあります。


試験に出る!代表的なOSSの具体例

幽灯子/基本情報技術者副専門官

基本情報技術者試験では、「これはOSSですか?」と問われることがあります。代表的なものを分野別に覚えておきましょう。

OS(オペレーティングシステム)

ソフトウェア名説明
Linuxサーバーやスマホ(Android)の基盤として世界中で使われているOS。OSSの代表格です。
FreeBSDLinuxと並ぶUNIX系OS。PlayStation 4のOSのベースにもなっています。

Webサーバー

ソフトウェア名説明
Apache HTTP Server世界で最も有名なWebサーバーソフトの一つ。多くのWebサイトを支えています。
Nginx(エンジンエックス)高速・軽量が特徴のWebサーバー。近年シェアを伸ばしています。

データベース

ソフトウェア名説明
MySQL世界で最も普及しているOSSのデータベース。WordPressなど多くのサービスで使用。
PostgreSQL高機能で信頼性の高いデータベース。大規模システムでも採用されています。
MariaDBMySQLから派生したデータベース。MySQLとの互換性があります。

プログラミング言語・実行環境

ソフトウェア名説明
PythonAI・データ分析で大人気の言語。初心者にも学びやすいのが特徴。
PHPWebサイトの構築に広く使われている言語。
Ruby日本人のまつもとゆきひろ氏が開発した言語。
Java(OpenJDK)企業システムで広く使われる言語。OpenJDKはそのOSS実装です。

オフィス・その他

ソフトウェア名説明
LibreOfficeMicrosoft Officeの代わりに使える無料のオフィスソフト。
GIMPPhotoshopの代わりに使える画像編集ソフト。
FirefoxMozilla が開発しているWebブラウザ。
ThunderbirdOSSのメールソフト。
WordPress世界のWebサイトの約4割が使っているとされるブログ・CMS。

OSSのメリットとデメリット

メリット

コスト削減 — ライセンス料がかからないため、導入コストを抑えられます。特に企業にとっては大きなメリットです。

透明性と安全性 — ソースコードが公開されているため、多くの人の目でチェックされ、脆弱性(セキュリティの弱点)が発見されやすいと言われています。

カスタマイズの自由度 — 自社の業務に合わせてソフトウェアを自由に改良できます。

ベンダーロックインの回避 — 特定の企業に依存せず、ソフトウェアを使い続けることができます。

デメリット

サポートの自己責任 — 公式サポート窓口がない場合が多く、問題が起きたら自分で解決する必要があります。(ただし、コミュニティやフォーラムで助けを得られることも多いです。)

品質のばらつき — プロジェクトによっては、開発が止まっていたり、ドキュメントが不十分だったりすることがあります。

ライセンスの遵守が必要 — 「自由に使える=何でもあり」ではありません。ライセンス条件を守らないと法的な問題になる可能性があります。


試験でよく出る頻出ポイントまとめ

ポイント1:OSSの定義 — ソースコードが公開されていて、利用・改変・再配布が自由なソフトウェアのこと。「無料」であることは必須条件ではありません。

ポイント2:コピーレフト — GPLに代表される考え方で、派生物にも同じライセンスの適用を求めること。

ポイント3:OSSか否かの判別 — Linux、Apache、MySQL、PostgreSQL、Firefoxなどは OSS。Windows や Microsoft Office は OSS ではありません。

ポイント4:デュアルライセンス — 一つのソフトウェアに対して、OSSライセンスと商用ライセンスの両方を提供する形態。MySQLなどが採用しています。

ポイント5:OSSのコミュニティ — OSSは世界中の開発者がボランティア的に参加するコミュニティによって開発・保守されていることが多いです。


おわりに

オープンソースソフトウェアは、今やIT業界のインフラと言っても過言ではありません。皆さんが毎日見ているWebサイトの多くは、Linux・Apache・MySQL・PHPといったOSSの組み合わせ(通称 LAMP )で動いています。

幽灯子/基本情報技術者副専門官

基本情報技術者試験では、OSSの定義、ライセンスの違い、具体的なソフトウェア名が問われます。この記事で紹介した内容をしっかり押さえておけば、OSS関連の問題は怖くありません。


よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITTIのアバター ITTI 運営長

ITTI運営長
調べものと学ぶことが止められなくなり、現在は以下の4ブログを運営中:
・DXブログ(今ここ!)
・CODEブログ
・INFRAブログ
・XRブログ

保有資格:ITパスポート
目標資格:情報処理安全確保支援士(学ぶこと多すぎて道のりは遠いですが、毎日コツコツ進めています…泣)

ブログでは、実務経験と最新技術を掛け合わせて、読者の「わかりにくい」を「わかる!」に変える記事を発信中!
最終目標は、これらの知識を活かして「ドラえもんのような万能AI」を開発すること(AIを副運営長任命が待ち遠しい!)。
DX・CODE・INFRA・XRに興味ある方、気軽にX(@llEqmDGOYZ4258)でDMください。一緒に学びましょう!

IT企業のAIイラスト #1

IT企業のAIイラスト #2

IT企業のAIイラスト #3

コメント

コメントする

CAPTCHA


目次