はじめに

オープンソースソフトウェアの世界でシンプルさと実用性で知られるBSL-1.0ライセンス。
C++の巨大ライブラリコレクションであるBoostプロジェクトで採用されていることで有名ですが、実際にはどのような特徴があるのでしょうか。
今回は、BSL-1.0ライセンスの基本から実際の使い方まで、わかりやすく解説します。

BSL-1.0ライセンスとは

BSL-1.0ライセンス(Boost Software License 1.0)は、2003年8月17日にBoostプロジェクトによってリリースされたオープンソースライセンスです。
正式には「Boost Software License – Version 1.0」と呼ばれ、極めてシンプルで理解しやすい文面が特徴的です。

主な特徴

1. 極限までシンプル

BSL-1.0ライセンスの全文は約20行程度と非常に短く、法的な専門知識がなくても理解しやすい内容になっています。

2. 非常に寛容(Permissive)

  • 商用利用が可能
  • 改変・再配布が自由
  • クローズドソース※1での利用も可能
  • 他のライセンスとの組み合わせも柔軟

3. 最小限の義務

利用者が守るべき義務は以下の通りです:

  • 著作権表示の保持
  • ライセンス条文の同梱
  • ただし、バイナリ(実行ファイル)配布時は上記義務が免除される

BSL-1.0ライセンスの全文

以下に公式のBSL-1.0ライセンス全文を掲載します(Boost Software License 1.0 より):

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization 
obtaining a copy of the software and accompanying documentation covered by 
this license (the "Software") to use, reproduce, display, distribute, 
execute, and transmit the Software, and to prepare derivative works of the 
Software, and to permit third-parties to whom the Software is furnished to 
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including 
the above license grant, this restriction and the following disclaimer, 
must be included in all copies of the Software, in whole or in part, and 
all derivative works of the Software, unless such copies or derivative 
works are solely in the form of machine-executable object code generated 
by a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
DEALINGS IN THE SOFTWARE.

※日本語訳についてはBSL-1.0 | オープンソースライセンス翻訳をご参照ください。

この短い文章が、ソフトウェアの自由な利用を可能にする一方で、開発者を法的リスクから保護しています。

何ができるのか

自由な利用

  • 個人利用・商用利用問わず使用可能
  • 改変・カスタマイズが自由
  • 他のプロジェクトへの組み込み

配布・再配布

  • 元のソースコードの配布
  • 改変したバージョンの配布
  • プロプライエタリソフトウェアの一部として配布

クローズドソースでの利用

  • ソースコードを公開せずに商用製品に組み込み可能
  • プロプライエタリソフトウェア※2(商用ソフトウェア)との組み合わせが自由
  • 改変した内容を秘匿したまま配布することができる

サブライセンス

  • BSL-1.0ライセンスのソフトウェアを含むプロジェクト全体に別のライセンスを適用可能
  • より制限的なライセンス(GPLなど)との組み合わせも可能
  • ただし、元のBSL-1.0部分の著作権表示とライセンス条文は保持必須(ソースコード配布時のみ)

バイナリ配布時の特別な自由度

  • 実行ファイル(バイナリ)のみで配布する場合、著作権表示やライセンス条文の同梱義務がない
  • 他の多くのライセンスにはない独特な特徴

注意すべき点

1. 無保証

BSL-1.0ライセンスは「AS IS」条項により、ソフトウェアの品質や動作について一切保証されません。

2. 免責事項

開発者は、ソフトウェアの使用によって生じた損害について責任を負いません。

3. ソース配布時の必須事項の遵守

ソースコード形式で配布する場合、著作権表示とライセンス条文の同梱は必須です。これを怠ると著作権侵害になる可能性があります。

他のライセンスとの比較

ライセンスソース公開義務バイナリ配布時の義務主な特徴
BSL-1.0なしなしバイナリ配布時の義務免除が特徴
MITなし著作権表示・条文保持最もシンプルで制約が少ない
Apache 2.0なしNOTICE保持より詳細な条文・企業利用に人気
GPL v3あり条件付き改変版も必ずオープンソース化
BSDなし著作権表示・条文保持MITと似ているが歴史が古い

実際の使用例

BSL-1.0ライセンスは多くの有名なプロジェクトで採用されています:

  • Boost C++ Libraries – C++標準ライブラリの多くの元となったライブラリコレクション
  • Boost.Asio – ネットワーク・低レベルI/Oプログラミングライブラリ
  • Boost.Beast – HTTP・WebSocketライブラリ
  • Boost.Json – JSONライブラリ

注:cpp-httplib、date、fmtライブラリは主にMITライセンスで配布されており、BSL-1.0ライセンスではありません。

開発者として気をつけること

プロジェクトでBSL-1.0ライセンスを採用する場合

1. LICENSEファイルの作成

  • プロジェクトルートに「LICENSE」または「LICENSE_1_0.txt」ファイルを作成
  • BSL-1.0ライセンス全文をコピー

2. ファイルヘッダーの追加(推奨)

//          Copyright Your Name 2024.
// Distributed under the Boost Software License, Version 1.0.
//    (See accompanying file LICENSE_1_0.txt or copy at
//          https://www.boost.org/LICENSE_1_0.txt)

3. README.mdでの表示

## License
This project is licensed under the Boost Software License 1.0 - see the [LICENSE_1_0.txt](LICENSE_1_0.txt) file for details.

4. 依存ライブラリの確認

使用しているライブラリのライセンスとの互換性を確認する(例:GPLライセンスのライブラリを使用している場合、プロジェクト全体がGPLライセンスになる可能性がある)

BSL-1.0ライセンスのソフトウェアを利用する場合

1. ライセンス確認の手順

  • GitHubリポジトリのLICENSEファイルを確認
  • ライブラリ情報でライセンスを確認
  • 不明な場合は作者に問い合わせ

2. ソースコード配布時の対応

  • 使用したライブラリのLICENSEファイルを自分のプロジェクトに同梱
  • 「THIRD-PARTY-LICENSES」フォルダを作成して整理
  • 著作権表示を削除・改変しない

3. バイナリ配布時の対応

  • 著作権表示やライセンス条文の同梱義務はない
  • ただし、含めることは推奨される(トラブル回避のため)

まとめ

BSL-1.0ライセンスは、その簡潔さと独特なバイナリ配布時の自由度から、特にC++コミュニティにおいて非常に人気の高いライセンスです。商用利用が可能で制約が少なく、特にバイナリ配布時の義務免除という他にはない特徴を持っています。

開発者として、ライセンスの内容を正しく理解し、適切に遵守することで、オープンソースエコシステムの健全な発展に貢献できるでしょう。ライセンス選択に迷った際は、プロジェクトの目的や利用想定を考慮して慎重に検討することが重要です。


用語解説

※1 クローズドソース:ソースコードが一般に公開されていないソフトウェア。企業の機密情報として扱われる。

※2 プロプライエタリソフトウェア:特定の企業や個人が所有権を持つソフトウェア。ライセンス料を支払って使用権を購入し、ソースコードの閲覧や改変は制限される。例:Microsoft Office、Adobe Photoshop、Windows OS。


この記事は一般的な情報提供を目的としており、法的アドバイスではありません。具体的な法的問題については、専門家にご相談ください。