はじめに
AppleがオープンソースプロジェクトのDarwinで採用しているAPSL(Apple Public Source License)。
企業系オープンソースライセンスとして独特な立ち位置を持ちながらも、理解が必要な重要なライセンスです。
今回は、APSLの基本から実際の使用例まで、詳しく解説します。
APSL(Apple Public Source License)とは
APSLは、Apple Inc.が開発したオープンソースライセンスです。
正式には「Apple Public Source License」と呼ばれ、Appleのオープンソースプロジェクトで主に使用されています。最新版のAPSL 2.0は2003年8月6日に公開され、オープンソース・イニシアティブ(OSI)とフリーソフトウェア財団(FSF)の両方に認定されています。
バージョン履歴と発展
バージョンごとの変遷
- APSL 1.0(1999年3月16日):初回リリース、OSI認定
- APSL 1.1(1999年4月19日):軽微な修正版
- APSL 1.2(2001年1月4日):中間改良版
- APSL 2.0(2003年8月6日):現行版、FSFによる自由ソフトウェア認定
APSL 2.0では、フリーソフトウェア財団との協力により、より自由なライセンスへと改良されました。
主な特徴
1. オープンソースと自由ソフトウェアの両方に認定
APSL 2.0は、OSIの「オープンソース定義」とFSFの「自由ソフトウェアの定義」の両方を満たす希少なライセンスです。
2. コピーレフト的性質
- 改変したソースコードの公開義務
- 「外部展開」(Externally Deploy)時の配布義務
- オリジナルの著作権表示とライセンス条文の保持義務
3. 企業利用への配慮
- 内部使用に対する柔軟性
- 商用利用が可能
- 特許権に関する条項を含有
4. 終了条項の存在
ライセンス違反時には、自動的にライセンスが終了する仕組みがあります。
APSLの全文
APSL 2.0ライセンスの全文は比較的長く(約8,000文字)、詳細な条項が含まれています。
公式の全文はApple Public Source License 2.0 – Open Source Initiativeで確認できます。
主要部分の構成:
APPLE PUBLIC SOURCE LICENSE
Version 2.0 - August 6, 2003
Please read this License carefully before downloading this software...
1. General; Definitions.
2. Permitted Uses; Conditions & Restrictions.
3. Your Grants.
4. Larger Works.
5. Limitations on Patent License.
6. Additional Terms.
7. Versions of the License.
8. NO WARRANTY OR SUPPORT.
9. LIMITATION OF LIABILITY.
10. Trademarks.
11. Ownership.
12. Termination.
13. Miscellaneous.
EXHIBIT A.
重要な定義(第1条より)
1.4 "Externally Deploy" means:
(a) to sublicense, distribute or otherwise make Covered Code available,
directly or indirectly, to anyone other than You; and/or
(b) to use Covered Code, alone or as part of a Larger Work, in any way
to provide a service, including but not limited to delivery of content,
through electronic communication with a client other than You.
この「外部展開」の定義がAPSL 2.0の核心となる概念です。
※日本語訳についてはこちらをご参照ください。
この詳細な条文が、企業での利用における法的リスクを最小化し、オープンソースとしての要件を満たしつつ、Appleの商業戦略との両立を図っています。
何ができるのか
自由な利用
- 個人利用・商用利用が可能
- ソースコードの閲覧・学習
- 内部での改変・カスタマイズ
配布・再配布
- オリジナルソースコードの配布
- 改変版の配布(ソースコード公開義務あり)
- バイナリのみの配布(条件下で可能)
内部使用の自由度
組織内部での使用に関しては比較的制約が少なく、改変したバージョンを内部で使用する分にはソースコード公開義務はありません。
重要な概念:「外部展開」(Externally Deploy)
APSLの核心となる概念が「外部展開」です:
外部展開に該当するケース
- 改変したソフトウェアを第三者に配布
- ウェブサービスとして公開(条件による)
- 商用製品への組み込み配布
外部展開時の義務
- 改変したソースコードの公開
- オリジナルの著作権表示の保持
- ライセンス条文の同梱
注意すべき点
1. ソースコード公開義務
「外部展開」を行う場合、改変部分のソースコードを公開する必要があります。
2. 終了条項のリスク
ライセンス違反が発覚した場合、ライセンスが自動的に終了し、使用権を失う可能性があります。
3. 特許権の複雑性
特許権に関する条項があるため、特許を持つ企業は慎重な検討が必要です。
4. 「外部展開」の解釈
どのような行為が「外部展開」に該当するかの判断が難しい場合があります。
他のライセンスとの比較
ライセンス | ソース公開義務 | コピーレフト | 企業配慮 | 特徴 |
---|---|---|---|---|
APSL 2.0 | 外部展開時のみ | 部分的 | 高 | 企業系オープンソース |
GPL v3 | 配布時必須 | 強い | 中 | 強いコピーレフト |
MIT | なし | なし | 高 | 最大限の自由度 |
Apache 2.0 | なし | なし | 高 | 企業利用に人気 |
MPL 2.0 | ファイル単位 | ファイル単位 | 高 | ハイブリッド型 |
実際の使用例
APSLは主に以下のApple製オープンソースプロジェクトで使用されています:
Darwin
macOS、iOS、watchOS、tvOSの基盤となるUnix系オペレーティングシステム。APSLの代表的な適用例です。
Darwinの主要コンポーネント
- XNU kernel:Darwinのハイブリッドカーネル
- libdispatch:Grand Central Dispatchの実装
- CF (Core Foundation):基本的なデータ構造とユーティリティ
- Security framework:セキュリティ関連機能
その他の確認されたApple関連プロジェクト
AppleのオープンソースサイトにはDarwin以外にも多数のプロジェクトが掲載されていますが、個別のライセンス確認が必要です。詳細はApple Open Sourceで確認してください。
開発者として気をつけること
APSLソフトウェアを利用する場合
1. ライセンス確認の手順
- Appleの公式オープンソースサイトでライセンスを確認
- ソースコード内のライセンス表示を確認
- バージョンによる違いに注意(APSL 1.xと2.0の差)
2. 「外部展開」の判断基準
利用前に以下を検討:
- 改変したコードを組織外に配布するか
- ウェブサービスとして提供するか
- 商用製品に組み込むか
3. コンプライアンス対応
プロジェクト/
├── LICENSE-APSL
├── COPYRIGHT-NOTICES
├── THIRD-PARTY-LICENSES/
│ └── Darwin-APSL-2.0.txt
└── README.md
プロジェクトでAPSLを採用する場合
1. ライセンス適用の検討事項
- オープンソース化する範囲の決定
- コントリビューション受け入れ体制の整備
- 法務チームとの連携
2. 実装上の注意点
- 著作権表示の統一
- ライセンス条文の正確な記載
- 「外部展開」定義の明確化
コミュニティとエコシステム
OpenDarwinプロジェクト(終了済み)
かつて存在したコミュニティ主導のDarwin開発プロジェクト。現在は終了していますが、APSLコミュニティの先駆けの一つでした。
現在の開発体制
Appleが主導する形で、GitHubやApple Developer Forumsを通じてコミュニティとの協力が行われています。
他のプロジェクトへの影響
APSLの設計思想は、企業系オープンソースライセンスの発展に影響を与え、後のEclipse Public License(EPL)等にも影響を与えました。
FSFとOSIからの評価
フリーソフトウェア財団(FSF)の見解
APSL 2.0は自由ソフトウェアライセンスとして認定されており、FSFはAPSL 2.0の使用を推奨しています。初期バージョンで問題視されていた点は2.0で解決されました。
オープンソース・イニシアティブ(OSI)の認定
APSL 1.0から一貫してOSI認定を受けており、オープンソースライセンスとしての地位を確立しています。
まとめ
APSLは、Appleという巨大企業がオープンソース戦略として採用する、企業系オープンソースライセンスの代表例です。「外部展開」という独特な概念により、内部使用の自由度を保ちながら、オープンソースコミュニティへの貢献も促進する、バランスの取れた設計となっています。
Darwin等のApple製オープンソースソフトウェアを利用する際は、APSLの特徴を正しく理解し、特に「外部展開」に該当する行為を行う場合は適切なコンプライアンス対応を行うことが重要です。企業がオープンソース戦略を検討する際の参考ケースとしても、APSLは学ぶべき点が多いライセンスと言えるでしょう。
用語解説
外部展開(Externally Deploy):APSL特有の概念で、改変したソフトウェアを組織外に配布したり、ウェブサービスとして第三者に提供したりする行為を指す。
Darwin:macOS、iOS、watchOS、tvOSの基盤となるApple製のUnix系オープンソースオペレーティングシステム。
XNU:「X is Not Unix」の略で、Darwinのカーネル。Mach 3.0マイクロカーネルとBSDを統合したハイブリッドカーネル。
コピーレフト:著作権の概念を利用して、ソフトウェアの自由な利用・改変・配布を保証しつつ、改変版も同様の自由度を維持することを求める仕組み。
この記事は一般的な情報提供を目的としており、法的アドバイスではありません。具体的な法的問題については、専門家にご相談ください。