風薙鳥 ゲーム制作日誌

SFML製ゲームのライセンス表記について

SFMLで制作したゲームを配布する際のライセンス表記について、あれこれ混乱していた部分がすっきりしてきたので、この記事にまとめます。

※ライセンス表記
使用しているライブラリの著作者や権利などを示すテキスト。
表記が必須かどうか、表記の内容は、ライブラリに適用されたライセンスによって異なる。

---

まず、SFML本体は、
「zlib/png」
という緩いライセンスです。
通常の用途では、制限なく使用できます。
ライセンス表記も必須ではありません。

しかし、SFMLには、別の複数のライブラリが組み込まれています。
それらは、SFML本体とは、異なるライセンスで扱われます。
どのライブラリがどのライセンスかは、ダウンロードしたSFMLに同梱されている
「license.txt」
に書かれています。
それらの中には、表記を必須とするライセンスも含まれています。

---

まず、ライセンス表記が不要なライブラリについて。

「public domain」
とされているライブラリは、ライセンス表記は不要です。

「LGPL license」
とされているライブラリは、動的にリンクする場合は、ライセンス表記は不要です。
動的にリンクとは、ソースコードに組み込まない、ということです。
このライセンスである「OpenAL-Soft」は、Windows環境では
「openal32.dll」
というDLLで使用するため、動的リンクです。
そのため、ライセンス表記は不要になります。
(Windows以外の環境の場合は不明です)

---

ここからが本題です。

「BSD license」
「FreeType license」
「MIT License」
とされているライブラリは、ライセンス表記が必要になります。
(「freetypeライブラリ」は、2種類のライセンスから、どちらかを選ぶ形ですが、制限の緩い「FreeType license」を選択するのが無難です)
(SFMLのバージョンによっては、含まれていないライセンスがあるかもしれません)

ライセンス表記といっても、どう書けばいいのか。
著作者名、更新された年号、場合によってはライセンスの原文も必要になります。
ひとつずつ調べるのも大変で、英語で記述する必要もあり、適した情報がなかなか見つかりませんでした。

でも、実はこれらのライセンス表記は、SFMLのソースコードに完成形が書かれています。
SFMLはそれらのライブラリを再配布する形なので、ライセンス表記も含まれているんですね。

SFMLの公式サイトから、SFMLのソースコードをダウンロードし、以下のフォルダを開きます。
extlibs -> headers

すると、ライブラリと同じような名前のフォルダがいくつも見つかります。
それらのフォルダの中のヘッダファイル(*.h)を開くと、目当てのライセンス表記が見つかります。
それらをテキストファイルなどにコピーし、配布するゲームに同梱すれば、ライセンスを遵守できるわけです。

SFMLのバージョンによって、組み込まれているライブラリが異なるので、使用しているバージョンのソースコードを参照するようにしてください。

---

SFML公式サイトにて、組み込みライブラリのライセンス表記について曖昧にしか触れていないのが混乱の元でした。
おそらく、本来SFMLを使うような技術者なら、知っていて当然ということなのでしょうね……。
素人なりに、どうにか結論を出せたので、この記事が参考になれば幸いです。