ソースコードが公開され、誰でも自由に利用・改変・再配布できるソフトウェア。
OSS(Open Source Software=オープンソースソフトウェア)とは、ソースコード(プログラムの中身・設計図にあたる文)が公開され、誰でも自由に利用・改変・再配布できるソフトウェアのことです。
身近な例で考えると、レシピを全公開している料理に似ています。材料も作り方も公開されているので、誰でも作れるし、自分好みに味を変えたり、それを友人に配ったりできます。市販品のように作り方が秘密になっていないのがポイントです。
上の図解のように、ソースコードを公開することで「入手・改変・再配布」という自由が生まれます。代表的なOSSには、ウェブサーバの Apache、OSの Linux、ブラウザの Firefox などがあります。
OSD(Open Source Definition=オープンソースの定義)とは、あるソフトウェアをOSSと呼んでよいかを判断するための条件をまとめたものです。OSI(Open Source Initiative)という団体が定めています。
OSDの主な条件は次のとおりです。
・自由な再配布:誰かに配ったり売ったりするのを妨げない
・ソースコードの公開:中身を入手できる状態にする
・派生物(改変版)の許可:書き換えて配ることを認める
・特定の人・分野を差別しない:「商用利用は禁止」「この国の人は不可」などはNG
つまり「商用利用を禁止する」といった制限はOSDに反します。誰がどんな目的で使ってもよいというのがOSDの考え方です。
OSSとフリーソフトは混同されやすいですが、主眼となる点が違います。
・OSS:「ソースコードの公開と自由な改変・再配布」が主眼。有償でもOSSはありうる
・フリーソフト:「無償で使える」ことが主眼。ソースコードが非公開のものもある
ここで大事なのが、英語の free には「自由(freedom)」と「無償(free)」の2つの意味があるということです。OSSが大切にするのは前者の「自由」であって、必ずしも「無償」を意味しません。
例えば、OSSを企業がサポート付きで有償販売することもできます。逆に、無償で配られていてもソースが非公開ならOSSとは呼びません。「無償=OSS」ではないと覚えておきましょう。
OSSが世界中に広まったのは、「みんなで使い、みんなで良くする」という仕組みが機能したからです。ソースコード(プログラムの中身)が公開されているので、世界中の開発者がバグ(不具合)を直したり、新しい機能を追加したりできます。
なぜこれが広まったのかを3つの理由で整理すると:
・コスト:ソフトウェアをゼロから作らなくてよいため、開発費を大幅に節約できる
・品質:世界中の目でコードが見られるので、バグが見つかりやすく修正も速い
・透明性:中身を自分で確認できるので、信頼性を自分で確かめられる
現在、インターネットを動かす多くの仕組みがOSSで成り立っています。たとえばウェブサーバの Apache や nginx(エンジンエックス=サーバソフト)、スマートフォンのOSである Android の核心部分(Linux)なども広義のOSSです。
OSSの対義語としてプロプライエタリソフトウェア(=ソースコードを公開せず、企業などが独占的に権利を持つソフトウェア)があります。身近な例としては、Windows や Microsoft Office などが該当します。
2種類を比べると次のような違いがあります。
・OSS:ソースが公開されているため自分で中身を確認・改変できる。多くの場合、無償で入手できる
・プロプライエタリ:ソースは秘密。企業がサポートを提供する代わりに費用がかかることが多い
ただしOSSが必ずしも「何でもあり」ではなく、ライセンス(利用条件)を守る必要があります。次のページではそのライセンスの種類を詳しく見ていきます。