TOP › UX用語 › オープンソース
テクノロジー・技術

オープンソースOpen Source

ソフトウェアを誰でも使い、調べ、直し、配れる公開のあり方

オープンソースとは、ソフトウェアの設計図にあたる「ソースコード」を公開し、誰でも利用・調査・改変・再配布できるようにする仕組みである。単に中身を見せるだけでなく、それらの行為を認めるライセンス(利用条件)が必要になる。

この仕組みが役立った例が、ソフトウェア「Valkey(バルキー)」である。元になった「Redis」の提供元がライセンスを変更した際、開発者たちは変更前のオープンソース版を引き継ぎ、別のソフトウェアとして開発を続けることができた。

中身を読めて、直して配れる

ソースコードとは、ソフトウェアがどう動くかを、人が読める文字で記したプログラムである。オープンソースでは、誰でもソースコードを入手して仕組みを調べ、必要に応じて変更し、その変更版を配布できる。

料理にたとえると、完成した料理だけでなくレシピも公開され、誰でも作り方を確かめ、アレンジした料理をほかの人に提供できる状態に近い。重要なのは、レシピを読めるだけでなく、使い、変更し、共有する自由があることだ。

中身を読めて、直して配れるのイメージ

その自由を保証するのが「ライセンス」である。オープンソースのライセンスは、利用する人や組織、利用目的によって差別せず、再配布を受けた人にも利用や改変などの権利を認める。ソースコードが公開されていても、改変・再配布や特定の用途が禁止されていれば、オープンソースとは呼べない。

また、オープンソースは「無料」と同じ意味ではない。有料で販売することも、無料で配ることもできる。配布する際には、ソースコードと、コンピュータで実行できる形式の双方について、ライセンスの条件を満たす必要がある。

語源・提唱者

「オープンソース」という呼び名を考案したのは、Christineクリスティーン Petersonピーターソン氏である。それまで使われていた「free software」は、「自由に使える」ではなく「無料のソフトウェア」と誤解されやすかった。そこでピーターソン氏は、ソースコードの公開に着目した新しい呼び名を提案した。

クリスティーン・ピーターソン
クリスティーン・ピーターソン(出典:https://en.wikipedia.org/wiki/Christine_Peterson)

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

「UX用語」のカテゴリー