オープンソースとは、ソフトウェアの設計図にあたる「ソースコード」を公開し、誰でも利用・調査・改変・再配布できるようにする仕組みである。単に中身を見せるだけでなく、それらの行為を認めるライセンス(利用条件)が必要になる。
この仕組みが役立った例が、ソフトウェア「Valkey(バルキー)」である。元になった「Redis」の提供元がライセンスを変更した際、開発者たちは変更前のオープンソース版を引き継ぎ、別のソフトウェアとして開発を続けることができた。
中身を読めて、直して配れる
ソースコードとは、ソフトウェアがどう動くかを、人が読める文字で記したプログラムである。オープンソースでは、誰でもソースコードを入手して仕組みを調べ、必要に応じて変更し、その変更版を配布できる。
料理にたとえると、完成した料理だけでなくレシピも公開され、誰でも作り方を確かめ、アレンジした料理をほかの人に提供できる状態に近い。重要なのは、レシピを読めるだけでなく、使い、変更し、共有する自由があることだ。

その自由を保証するのが「ライセンス」である。オープンソースのライセンスは、利用する人や組織、利用目的によって差別せず、再配布を受けた人にも利用や改変などの権利を認める。ソースコードが公開されていても、改変・再配布や特定の用途が禁止されていれば、オープンソースとは呼べない。
また、オープンソースは「無料」と同じ意味ではない。有料で販売することも、無料で配ることもできる。配布する際には、ソースコードと、コンピュータで実行できる形式の双方について、ライセンスの条件を満たす必要がある。
語源・提唱者
「オープンソース」という呼び名を考案したのは、Christine Peterson氏である。それまで使われていた「free software」は、「自由に使える」ではなく「無料のソフトウェア」と誤解されやすかった。そこでピーターソン氏は、ソースコードの公開に着目した新しい呼び名を提案した。

1998年2月の会合をきっかけに、この言葉はメディアやビジネス界にも広まった。同月に設立されたOSI(オープンソース・イニシアティブ)は、オープンソースと認められる条件を定義した。自由なソフトウェアの理念を受け継ぎながら、企業にも伝わりやすくする狙いがあった。
ソースの提供元に依存しない
Redis(レディス)の提供元は、2024年にライセンスを変更した。変更後の条件はオープンソースの定義を満たさなかったため、開発者たちは同年3月、変更前のRedis 7.2.4をもとに「Valkey」の開発を始めた。オープンソースのライセンスで公開されていた版があったからこそ、元の提供元とは別に開発を継続できたのである。

ただし、誰でも開発に参加できるからといって、多くの人が開発を支えているとは限らない。Linux FoundationとHarvard大学の研究者による2022年の調査「Census II」で紹介されたデータでは、広く使われる上位50のソフトウェア部品について、追加されたコードの行数の80%超をわずか136人が書いていた。公開されていることと、開発を維持する人手が十分にあることは別の問題である。
使う版ごとに利用条件を読む
業務でオープンソースのソフトウェアを採用するときは、製品名だけでなく、利用するバージョンとそのライセンスを確認することが重要である。
たとえばWebサービスに組み込む場合は、そのバージョンのライセンスを読み、商用利用が可能か、改変や再配布にどのような条件があるかを確かめる。「ソースコードを見られる」というだけでは、自由に利用できるとは判断できない。

Redisはバージョン7.4でライセンスが変わり、バージョン8では選択できるライセンスが追加された。同じ名前のソフトウェアでも、バージョンによって利用条件が異なる。導入時だけでなく、更新時にも確認が必要である。
関連用語
- フリーソフトウェア
- ソースアベイラブル
- コピーレフト
- 寛容型ライセンス
- フォーク
- プロプライエタリソフトウェア
- オープンソースAI