はじめに

オープンソースソフトウェアの世界で見かけるCDDLライセンス。Sunが開発したこのライセンスは、GPLとは異なるアプローチでコピーレフトを実現していますが、実際にはどのような特徴があるのでしょうか。
今回は、CDDLライセンスの基本から実際の使い方まで、わかりやすく解説します。

CDDLライセンスとは

CDDLは、Sun Microsystems(現Oracle)が開発したオープンソースライセンスです。
正式には「Common Development and Distribution License」と呼ばれ、Mozilla Public License(MPL)をベースに作られた「弱いコピーレフト」ライセンスです。

主な特徴

1. 弱いコピーレフト(Weak Copyleft)

CDDLライセンスは「弱いコピーレフト」の特徴を持ちます:

  • CDDLコードの改変部分は必ずCDDLで公開
  • しかし、CDDLコードと組み合わせる他のコードは別ライセンス可能
  • ファイル単位でのライセンス境界を持つ

2. 商用利用に配慮

  • 商用製品での利用が可能
  • プロプライエタリソフトウェアとの組み合わせが可能
  • 企業での採用を想定した実用的な条文

3. 特許条項の包含

  • 特許権の自動ライセンス供与
  • 特許訴訟に対する防御条項
  • より安全な企業利用を可能にする

CDDLライセンスの全文

CDDLライセンスは比較的長い文書のため、ここでは構成と要約を記載します。
全文については公式サイトをご確認ください(Common Development and Distribution License (CDDL) Version 1.0 より):

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

CDDLライセンスの構成

1. Definitions(定義)
2. License Grants(ライセンスの供与)
3. Distribution Obligations(配布義務)
4. Versions of the License(ライセンスのバージョン)
5. Disclaimer of Warranty(保証の免責)
6. Termination(終了)
7. Limitation of Liability(責任の制限)
8. U.S. Government End Users(米国政府エンドユーザー)
9. Miscellaneous(その他)
10. Responsibility for Claims(請求に対する責任)

以下に、CDDLライセンスの主要な条項を要約します:

許可される行為

  • 使用、複製、改変、配布
  • 商用利用
  • 他のライセンスとの組み合わせ(ファイル単位)
  • プロプライエタリソフトウェアへの組み込み

義務・条件

  • ソースコードの公開(CDDLファイル全て)
  • 著作権表示とライセンス条文の保持
  • 改変箇所の明示
  • 特許権のライセンス供与

免責・保証

  • 無保証での提供
  • 損害に対する免責
  • 特許侵害に対する保護

CDDLライセンスは比較的長い文書であり、詳細な法的条項が含まれています。企業での利用を想定した、より包括的なライセンス文書となっています。

何ができるのか

自由な利用

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

柔軟な配布

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

混合ライセンス

  • CDDLファイルと他のライセンスファイルを同一プロジェクトで利用可能
  • プロプライエタリコードとの組み合わせが可能
  • ただし、CDDLファイルの改変部分は必ず公開

企業利用に適した特徴

  • 特許権の相互ライセンス供与
  • 明確な責任範囲の定義
  • 商用製品での利用を前提とした条項

注意すべき点

1. ソースコード公開義務

CDDLファイル(元のファイル+改変したファイル)のソースコードは必ず公開する必要があります。

2. ファイル単位での境界

ライセンスの効力はファイル単位で適用されます。CDDLファイルを改変すれば、そのファイルはCDDLで公開する必要があります。

3. 特許条項の理解

特許権の相互ライセンス供与があるため、特許戦略への影響を考慮する必要があります。

4. 改変箇所の明示

CDDLコードを改変した際は、改変箇所を明示する必要があります。

他のライセンスとの比較

ライセンスコピーレフト適用範囲主な特徴
CDDL弱いファイル単位商用利用に配慮・特許条項あり
GPL v3強いプロジェクト全体強いコピーレフト・特許条項あり
LGPL弱いライブラリ単位動的リンクは別ライセンス可
MITなしなし最もシンプルで制約が少ない
Apache 2.0なしなし特許条項あり・企業利用に人気

実際の使用例

CDDLライセンスは以下のような重要なプロジェクトで採用されています:

  • OpenSolaris – Sunが開発したUNIX系オペレーティングシステム
  • illumos – OpenSolarisから派生したオープンソースプロジェクト
  • GlassFish – Java EEアプリケーションサーバー(現在はCDDLとGPLのデュアルライセンス)
  • NetBeans – Java統合開発環境(現在はApache Foundation下でApacheライセンス)

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

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

1. ライセンス文書の準備

  • プロジェクトルートに「LICENSE.txt」ファイルを作成
  • CDDL全文をコピー
  • 各ソースファイルにCDDLヘッダーを追加

2. ファイルヘッダーの記述

/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License"). You may not use this file except in compliance
 * with the License.
 *
 * CDDL HEADER END
 */

3. ソースコード公開の準備

  • 使用するCDDLファイル(改変の有無に関わらず)を公開できる体制を整備
  • バージョン管理システムでの変更履歴管理
  • 公開用のリポジトリやダウンロードサイトの準備

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

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

  • プロジェクトのLICENSE.txtファイルを確認
  • 各ソースファイルのヘッダーでCDDLライセンス表示を確認
  • 改変予定がある場合は公開義務を理解

2. 改変時の対応

  • 使用したCDDLファイル(元のファイル+改変したファイル)のソースコード公開準備
  • 改変箇所の明示・文書化
  • 元の著作権表示とライセンス条文の保持

3. 配布時の注意点

  • CDDLファイルのソースコードを同梱または提供
  • ライセンス条文とヘッダーの保持
  • 改変履歴の提供

まとめ

CDDLライセンスは、「弱いコピーレフト」という特徴により、オープンソースの利益を保ちながら商用利用にも配慮したバランスの取れたライセンスです。ファイル単位でのライセンス境界により、プロプライエタリソフトウェアとの組み合わせが可能で、企業での採用にも適しています。

開発者として重要なのは、CDDLファイルを改変した場合の公開義務を正しく理解し、適切に遵守することです。特許条項も含まれているため、企業での利用時は特許戦略への影響も考慮する必要があります。

ライセンス選択に迷った際は、プロジェクトの性質、商用利用の予定、コピーレフトの必要性などを総合的に判断して慎重に検討することが重要です。


用語解説

※1 弱いコピーレフト:改変したオープンソースコード自体は公開する必要があるが、それと組み合わせる他のコードは必ずしも公開する必要がないライセンス形態。

※2 強いコピーレフト:オープンソースコードと組み合わせたプロジェクト全体を同じライセンスで公開する必要があるライセンス形態。GPLが代表例。

※3 特許条項:ライセンス利用者に対して、関連する特許権を自動的にライセンス供与する条項。特許訴訟に対する防御機能も含む。


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