JXTA(ジャクスタ)とは
JXTAは、かつてSun Microsystems社が提唱し、オープンソースプロジェクトとして推進されたピアツーピア(P2P)技術の基盤です。P2P技術は、従来のクライアント・サーバー型システムとは異なり、ネットワーク上の個々の端末(ピア)がそれぞれサーバーとクライアントの両方の機能を持ち、対等な関係で直接通信を行う分散型ネットワークモデルです。JXTAは、このようなP2P環境において、様々なアプリケーションが共通して利用できるプロトコルやサービス群を提供することを目的としていました。開発者に対して、P2Pネットワーク上での発見、通信、サービス提供といった基本的な機能を実現するための共通のフレームワークを提供し、P2Pアプリケーションの開発を容易にすることを目指しました。これにより、ファイル共有、インスタントメッセージング、分散コンピューティングなど、多様なP2Pアプリケーションの可能性を広げることが期待されていました。
オープンソースとしての開発と背景
JXTAプロジェクトは、Sun Microsystemsの主導のもと、オープンソースコミュニティを通じて開発が進められました。これは、新しいネットワーク技術の標準化や普及を図る上で、オープンな開発モデルが有効であるとの判断に基づいています。世界中の開発者がプロジェクトに参加し、JXTAの発展に貢献することが奨励されました。登場した時期は、P2P技術がファイル共有などで広く注目を集めていた一方で、互換性や標準化といった課題も抱えていた頃です。JXTAは、そうした課題を解決し、より堅牢で汎用的なP2Pプラットフォームを提供することを目指した取り組みの一つと言えます。
JXTAプロジェクトのライセンス体系
JXTA
ソフトウェアは、独自の「JIXA
ソフトウェア・ライセンス」のもとで提供されています。このライセンスは、オープンソースかつ自由
ソフトウェアとしての性質を持っていますが、特筆すべきはその「非
コピーレフト」であるという点です。
自由
ソフトウェアライセンスには、大きく分けて「
コピーレフト」と「非
コピーレフト」の二つのタイプがあります。GNU General Public License (GPL)に代表される
コピーレフトライセンスは、ソースコードを改変したり、それを用いて新たな
ソフトウェア(派生著作物)を作成したりした場合、その派生著作物にも元のライセンスを適用することを義務付けます。これにより、
ソフトウェアの自由性を永続的に保とうとします。一方、JXTAの採用する非
コピーレフトライセンスでは、派生著作物を異なるライセンスで公開することが許可される場合があります。これにより、オープンソースのコードを商業製品の一部として利用したい開発者にとっては、より柔軟な選択肢が提供されます。
Apacheソフトウェア・ライセンス1.1を基本に
JIXA
ソフトウェア・ライセンスは、広く利用されている「Apache
ソフトウェア・ライセンス」のバージョン1.1を基本として作成されています。Apacheライセンスもまた非
コピーレフト型の自由
ソフトウェアライセンスであり、
ソフトウェアの利用、複製、配布、改変、再配布などを自由に行える権限をユーザーに与えます。ただし、特定の条件、例えば元の著作権表示や免責事項を表示することなどを求めています。
JIXA
ソフトウェア・ライセンスと、その基本となったApache
ソフトウェア・ライセンス1.1との間には、わずかな違いが存在します。この違いは主に、プロジェクトの名前(JXTAプロジェクト)と、オリジナルの貢献者の名前(
サン・マイクロシステムズ)に関する記述部分にあります。基本的な権利の付与や義務に関する条項は、Apache 1.1とほぼ同様の働きをすると考えられます。
さらに掘り下げると、Apache
ソフトウェア・ライセンス1.1は、その成り立ちにおいてオリジナルの「
BSDライセンス」を基本としています。
BSDライセンスも非
コピーレフト型の自由
ソフトウェアライセンスの代表格ですが、歴史的な経緯からいくつかのバージョンが存在します。
Apache 1.1がベースとした古い
BSDライセンス(しばしば「4条項
BSDライセンス」や「オリジナル
BSDライセンス」と呼ばれるもの)は、自由
ソフトウェアではあるものの、特定の条項が存在したため、同じく自由
ソフトウェアライセンスであるGNU GPLとはライセンスの互換性に問題があるとされていました。つまり、古い
BSDライセンスで提供される
ソフトウェアと、GNU GPLで提供される
ソフトウェアを組み合わせて一つの
ソフトウェアを作成することが、ライセンス上の制約から困難な場合がありました。
これに対し、現在一般的に使われている「新しい
BSDライセンス」(「3条項
BSDライセンス」や「修正
BSDライセンス」と呼ばれるもの)は、特定の条項が削除されるなど変更が加えられており、GNU GPLと矛盾しないライセンスとなっています。JXTAのライセンス構造を理解する上で、その起源であるApache 1.1が古い
BSDライセンスの流れを汲んでおり、それが当時の他の主要な自由
ソフトウェアライセンス(特にGPL)との間で潜在的な互換性の課題を抱えていた背景を知ることは興味深い点です。
このように、JXTAの採用するJIXA
ソフトウェア・ライセンスは、非
コピーレフト性を特徴とし、Apache 1.1、さらには古い
BSDライセンスという、比較的制限の少ない自由
ソフトウェアライセンスの系譜に連なるものと言えます。
プロジェクトのその後の展開
JXTAプロジェクトは、P2P技術の新たな可能性を示す試みとして注目されましたが、その後のP2P技術の進化やアプリケーションの普及に伴い、当初の期待通りの広がりを見せたとは言えない状況です。Sun MicrosystemsがOracleに買収された影響などもあり、プロジェクトとしての活動はかつてほど活発ではないようです(入力情報のアーカイブ日付も比較的古い時期を示唆しています)。しかし、JXTAが提唱した分散ネットワークにおける発見や通信の概念、標準化への取り組みは、その後の多くの分散システム技術やP2P関連の研究開発に影響を与えたと考えられます。