はじめに

オープンソースソフトウェアの世界には様々なライセンスが存在しますが、その中でも特に簡潔で実用的なことで知られるのがzlibライセンス(zlib/libpng License)です。
圧縮ライブラリzlibの開発者によって作られたこのライセンスは、シンプルながら開発者にとって非常に使いやすい特徴を持っています。
今回は、zlibライセンスの基本から実際の使い方まで、詳しく解説します。

zlibライセンスとは

zlibライセンスは、著名な圧縮ライブラリ「zlib」の開発者であるJean-loup GaillyとMark Adlerによって作成されたオープンソースライセンスです。
正式には「zlib License」または「zlib/libpng License」と呼ばれ、その簡潔性と実用性から多くの開発者に愛用されています。

主な特徴

1. 極めてシンプル

zlibライセンスの全文は短く、法的な専門知識がなくても容易に理解できる平易な言葉で書かれています。

2. 非常に寛容(Permissive)

  • 商用利用が完全に自由
  • ソースコードの改変・再配布が可能
  • クローズドソース※1での利用も許可
  • プロプライエタリソフトウェア※2との組み合わせも自由

3. 最小限の制約

利用者が守るべき制約は以下の3点のみです:

  • オリジナル作者の偽装禁止
  • 改変版の明確な表示
  • ライセンス条文の保持

zlibライセンスの全文

以下にzlibライセンスの公式全文を掲載します(zlib License – zlib.net より):

zlib.h -- interface of the 'zlib' general purpose compression library
version 1.3.1, January 22nd, 2024

Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not
   claim that you wrote the original software. If you use this software
   in a product, an acknowledgment in the product documentation would be
   appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not be
   misrepresented as being the original software.

3. This notice may not be removed or altered from any source distribution.

Jean-loup Gailly        Mark Adler
jloup@gzip.org          madler@alumni.caltech.edu

※日本語訳についてはこちらをご参照ください。

この簡潔な文章が、ソフトウェアの自由な利用を保証する一方で、開発者の権利と名誉を保護しています。

何ができるのか

自由な利用

  • 個人利用・商用利用を問わず無制限に使用可能
  • ソースコードの自由な改変・カスタマイズ
  • 他のプロジェクトやアプリケーションへの組み込み

配布・再配布

  • 元のソースコードそのままの配布
  • 改変したバージョンの配布(改変を明記すれば)
  • バイナリファイルのみの配布も可能

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

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

サブライセンス

  • zlibライセンスのソフトウェアを含むプロジェクト全体に別のライセンスを適用可能
  • ただし、元のzlibライセンス部分の条文は保持必須

注意すべき点

1. 無保証・免責

zlibライセンスは「AS IS」条項により、ソフトウェアの品質や動作について一切保証されません。また、開発者は使用によって生じた損害について責任を負いません。

2. オリジナル作者の偽装禁止

「The origin of this software must not be misrepresented」として、自分がオリジナル作者であると偽ることは厳禁です。

3. 改変版の明記義務

改変したソースコードを配布する際は、それがオリジナルではないことを明確に示す必要があります。

4. ライセンス条文の保持

著作権表示とライセンス条文の削除・改変は禁止されています。

他のライセンスとの比較

ライセンスソース公開義務改変表示義務主な特徴
zlibなしあり簡潔で改変表示を重視
MITなしなし最もシンプルで制約が少ない
Apache 2.0なしあり特許保護条項あり
GPL v3ありあり改変版も必ずオープンソース化
BSDなしなしzlibと似ているが歴史が古い

実際の使用例

zlibライセンスは多くの重要なプロジェクトで採用されています:

  • zlib – データ圧縮ライブラリ(オリジナル)
  • libpng – PNG画像フォーマットの参照実装
  • Minizip – zlibベースの軽量なZIPファイル操作ライブラリ
  • PhysicsFS – ゲーム開発で使用されるファイルシステム抽象化ライブラリ

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

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

1. LICENSEファイルの作成

  • プロジェクトルートに「LICENSE」ファイルを作成
  • zlibライセンス全文をコピー
  • 著作権者名と年度を自分の情報に変更
  • 連絡先情報も適宜更新

2. README.mdでの表示

## License
This project is licensed under the zlib License - see the [LICENSE](LICENSE) file for details.

3. ソースコードのヘッダー

主要なソースファイルの冒頭にライセンス情報を記載することを推奨:

/*
 * Copyright (c) 2024 Your Name
 * This software is provided 'as-is', without any express or implied warranty.
 * For full license terms, see the LICENSE file.
 */

4. 依存ライブラリとの互換性確認

zlibライセンスはGNU General Public Licenseと互換性がありますが、使用している他のライブラリとの組み合わせに注意が必要です。

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

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

  • プロジェクトのLICENSEファイルまたはソースコードヘッダーを確認
  • パッケージマネージャーのライセンス情報を確認
  • 不明な場合は作者に問い合わせ

2. 改変時の対応

  • 改変したファイルに改変日と改変者を明記
  • 「Modified version」「Based on original by…」などの表示
  • オリジナル作者のクレジットは必ず保持

3. 配布時の注意

  • LICENSEファイルを製品に同梱
  • 製品ドキュメントでの謝辞(推奨だが必須ではない)
  • 著作権表示の保持

MITライセンスとの違い

zlibライセンスとMITライセンスは似ていますが、重要な違いがあります:

類似点

  • どちらも非常に寛容なライセンス
  • 商用利用可能
  • クローズドソースでの利用可能

主な違い

  • 改変表示義務: zlibは改変版の明記が必須、MITは不要
  • 謝辞: zlibは製品ドキュメントでの謝辞を推奨(任意)
  • 文面: zlibの方がより具体的で詳細な表現

どちらを選ぶか迷った場合、「Using the MIT instead is a reasonable alternative」とされていますが、改変の追跡を重視したい場合はzlibライセンスが適しています。

まとめ

zlibライセンスは、その簡潔さと実用性から、特にライブラリやミドルウェア開発において人気の高いライセンスです。MITライセンスと比べて改変の明記義務がある分、開発者の貢献を適切にクレジットする文化を促進します。

「Clear and Concise Text」で「easily understood」であることが大きな特徴であり、法的レビューの負担を軽減しつつ、ソフトウェアの自由な利用を可能にしています。

開発者として、ライセンスの内容を正しく理解し、特に改変版の明記義務を適切に守ることで、オープンソースコミュニティの健全な発展に貢献できるでしょう。プロジェクトの性質や要件に応じて、zlibライセンスが最適な選択肢となるかを慎重に検討することが重要です。


用語解説

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

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


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