こんにちは、OSSよろず相談室のSKです。
日々、多くのOSSに関するお問い合わせをいただいているのですが、今回は、そもそもOSS(オープンソースソフトウェア)とはどんなものなのかというお話です。
オープンソースとは
まず、座学的な話になりますが、オープンソースとは、
主にオープンソース・イニシアティブ(OSI)によって推進される概念で、実用性や協調開発を重視しています。
重視されることは、透過性(公開されていること)実用性、協調開発されコミュニティがあることです。
逆に見た目やデザイン、UI(使い勝手)、利益などは軽視され、サポートはありません。

OSIに掲載された10個の定義はこちらです。
オープンソースの定義
上記オープンソースの定義は、主に以下の内容について定義しています。
- ソースコードの公開 – プログラムが実行ファイルとともにソースコードも提供・公開されること。
- 改変と配布の許可 – 誰でも改変や配布ができること。
- 差別の禁止 – 特定の人や団体に対する差別的な制限を設けないこと。
ここで疑問に思うことは、「いわゆるフリーウェアと何が違うのだろう?」だと思います。
フリーウェアはOSSと同様に無償ですが、プログラムの中身は公開されていないことが多いです。
公開されていないので、改変もできません。
OSSとフリーウェアの大きな違いは、この 「ソースコードが公開されている」 ことと、「改変できる」 という点です。
OSSは皆で使おう!という精神が強くあります。

「世界中皆で使う」ものであるはずなのに、2024年10月にLinuxカーネルのメンテナーからロシア人が削除されたことが物議となりました。
以下はLinuxカーネルのメーリングリストのアーカイブが公開されたものの一部です。差分情報がdiffとして記録されていますが、ロシアのドメインを示す「.ru」のメンテナー「M」が「-」で削除されていることが分かります。

Linuxの生みの親である Linus Torvalds 氏自ら「I’m Finnish. Did you think I’d be supporting Russian aggression?(フィンランド人の私がロシアの侵略を支持すると思いますか?)」と言及しています。
これは OSS の定義に反するのではないか?と物議を醸しました。
OSSライセンスの探し方
それでは、OSSライセンスが具体的にどのように表記されているのか、見てみましょう。
例えば、Tomcatを見てみます。
ソースコードはGitHubで公開されています。
Apache Tomcatのソースコード
OSSライセンスの記載場所は以下の4か所です。
- ソースコード群に同梱されているテキストファイル
- ソースコードファイルのヘッダ
- プロジェクト公式Webサイト
- 製品に組み込みのドキュメント
「1.ソースコード群に同梱されているテキストファイル」を見てみましょう。
以下はソースコード群の中身です。
OSSライセンスは、ソースコード群にテキストファイルで同梱されています。

LICENSEファイルを開くと以下のようになっています。
Apache License Version 2.0 であることが明記されています。
Apache LicenseはOSSライセンスの1つです。
ここに書かれたhttp://www.apache.org/licenses/ をクリックすると、ライセンスの内容を見ることができます。

OSSライセンスを適用する
では、自分のソフトウェアにApacheライセンスを適用する方法を紹介します。
適用イメージ

自分のソフトウェアにApacheライセンス適用する方法
全ソースコードの各ファイルの冒頭に、指定されたライセンスの告知文(license notice)を追加する必要があります。
例えばApacheライセンスの場合、Apacheライセンスに明記されています。
付録: Apache Licenseの適用の仕方
あなたの製作物にApache Licenseを適用するときは、次の定型文を添付してください。ただし、"[]"で囲まれている部分は、あなた自身の識別情報に置き換えてください(その際、角括弧は取り除きます)。また、この文言を該当するファイル形式に合ったコメント構文で囲んでください。さらに、第三者アーカイブ内での識別を容易にするため、ファイル名またはクラス名ならびに趣旨説明が著作権表示と同じ「印刷ページ」に現れるようにすることをお勧めします。
Copyright [yyyy] [著作権所有者の名前]
Apache License Version 2.0(「本ライセンス」)に基づいてライセンスされます。あなたがこのファイルを使用するためには、本ライセンスに従わなければなりません。本ライセンスのコピーは下記の場所から入手できます。
http://www.apache.org/licenses/LICENSE-2.0
例えば、Tomcat も Apache ライセンスを適用したソフトウェアです。
ossライセンスの探し方で紹介した Tomcat が公開された GitHub の中から、jav aのファイルを選んでみましょう。
全てのjavaのソースコードの先頭にライセンスが記載されていることが確認できます。

OSSライセンスソフトを同梱する方法
次に、自分のソフトウェアにApacheライセンスを適用したTomcatを同梱する方法をご案内します。
さきほどの自分のソフトウェアにApacheライセンス適用する方法では、全てのソースコードの先頭にライセンスを表記しないといけませんでしたが、同じことをしなければいけないでしょうか?
答えは No です。
Tomcat内にあるLICENSEファイルとNOTICEファイルを入れ、readmeファイルにTomcatが入っていることを明記すればよいだけです。

今日のオープンソースの話はここまでにします。
次回は
- コピーレフト
- オープンソースにまつわるリアルな事例
についてご紹介します。