みんな大好きjQueryのライセンスを地道にチェックしてみた

Finger face with a question

ご存知、Webブラウザ用の軽量なJavaScriptライブラリ「jQuery」(ジェイクエリー)。これを使うと、ウェブブラウザ用のJavaScriptコードをより容易に記述できるようになります。

このjQuery、オープンソースソフトウェア(OSS)として提供されていますが、ライセンスを確認したことがありますか?そして、それをどんなふうに確認しましたか?

先日、「自作ソースコードに、MITライセンスを適用する3つのやり方」という記事を書いたところ、けっこう多くの人に読んで頂けました。ライセンスの適用方法が、よく分からないという人が、まだまだいるってことだと思いますが、これって、そもそもOSSのライセンスがどのように適用されているか、きちんと実例を見ていない可能性が高いんじゃないかと考えました。そこで、今回は、jQueryを題材にライセンスの確認方法を解説します。

手間のかからない方法からはじめて、徐々にややこしい方法を紹介していきます。

どんなふうにチェックするのか、実際にやってみれば、OSSを使うときにも、気楽にチェックするようになりますし、自作OSSにライセンスを適用するときにも役に立つでしょう。

解説ページでチェックする

WikipediaのjQueryの項目を読むと、「MITライセンス」と書いてありました(右サイドのサマリー欄)。ほら簡単です。もうライセンスを確認できました。

jQuery – Wikipedia
jQuery-wikipedia

あれ、jQueryのライセンスは「MITライセンスとGPL2のデュアルライセンス」じゃなかったけ?

じつは、2012年9月にリリースされた、jQueryバージョン1.8からMITライセンスの単独ライセンスに変更されています。ただし、現在もバージョン1.7.2以前であれば、MITライセンスとGPL2のデュアルライセンスが適用されます。

このライセンス変更のことは、Wikipediaの右サイドのサマリーのところで、MITライセンスに注記番号がついていて、これをたどると分かります。

このようにWeb上の解説記事で確認する方法は、日本語を読めばいいので、とてもお気楽です。でも、間違っている場合もありますしこんなふうに変更される場合もあります。ですから、Web上の解説記事だけを読んで、ライセンスを判断するのは、ちょっと危険です。

本家サイトでチェックする

では、jQueryの本家サイトで確認してみましょう。

jQuery
jquery

本家サイトの検索窓で「License」で検索してみると、Downlodページの下の方に、次の記述が見つかりました。

Download jQuery | jQuery
jQuery-download

About the Code
jQuery is provided under the MIT license.

「jQueryは、MITライセンスのもとで提供される」と書いてありますね。

さらに、リンクがあって、jQueryファウンデーションのライセンスページへ飛ばされました。

License | jQuery Foundation
foundation-license

コチラのほうは、

License
You may use any jQuery project under the terms of the MIT License.

とあって、
「jQueryプロジェクトは、MITライセンスの条件のもとで使用してもよい」
となっています。

その下には、簡単な説明文があるので、私なりに訳してみると、

MITライセンスは、シンプルで、理解も簡単です。それは、あなたがjQueryプロジェクトでできることを、ほとんど制限しません。

どんなjQueryプロジェクトも、著作権のあるヘッダーを完全にしておく限り、自由に他のプロジェクトで(商用プロジェクトでさえ)使用することができます。

ってなコトが書いてあります。

これで、jQueryがMITライセンスで利用できることがはっきりしました。

とはいえ、自分が使っているバージョンのライセンスは、これだけでは分かりません。

やはり、jQueryをダウンロードして、自分が使うコードの記載を確認してみましょう。

ダウンロードファイルでチェックする

本家サイトから、次のjQuery 2.0.3(非圧縮版)をダウンロードしてみました。

jQueryは、単独のjsファイルとして提供されており、そのソースコードファイルの冒頭(ヘッダー)は、下記のようになっています。

/*!
* jQuery JavaScript Library v2.0.3
* http://jquery.com/
*
* Includes Sizzle.js
* http://sizzlejs.com/
*
* Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2013-07-03T13:30Z
*/

次の部分(8-10行目)が、著作権表示とライセンス表示に関連した部分ですね。

* Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
* http://jquery.org/license

「MITライセンスのもとでリリースされる」と書いてあります。

URLは、先ほど見たjQueryファウンデーションのライセンスページです。

これで、最新版のライセンスが確認できました。

ちなみに、圧縮版をダウンロードしてみると、どうでしょう。

ヘッダーは、次のようになっています。

/*! jQuery v2.0.3 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery-2.0.3.min.map
*/

1行目には、著作権表示((c) 2005, 2013 jQuery Foundation, Inc.)に続いて、「jquery.org/license」と書いてありますね。これは、jQueryファウンデーションのライセンスページを読めってことなんでしょう。

ちょっと分かりにくいですね。

それから、ライセンスが単一化される前のバージョン1.7.2では、こんな感じです。

jQuery 1.7.2 Released | Official jQuery Blog

/*!
* jQuery JavaScript Library v1.7.2
* http://jquery.com/
*
* Copyright 2011, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* Includes Sizzle.js
* http://sizzlejs.com/
* Copyright 2011, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
* Date: Wed Mar 21 12:46:34 2012 -0700
*/

jQuery自体の著作権者は、最初に開発した「John Resig」となっていて、ライセンスは「Dual licensed under the MIT or GPL Version 2 licenses.」です。それから、Dojoの著作権表示とライセンス表示(MITとBSDとGPLのトリプルライセンス)が残されています。

Githubの開発リポジトリでチェックする

jQueryなどのJavascriptライブラリは、このように単一ファイルとして配布される場合があります。実際の開発は、モジュールごとに、複数ファイルに分割されて行われています。Githubで、jQueryの開発コードを確認できます。

github: jquery / jquery
github-jQuery

では、この開発リポジトリではjQueryのライセンスは、どうなっているでしょうか。

トップレベルのファイルを眺めてみると、「MIT-LICENSE.txt」というのがありますね。

github_MIT-license

ヘッダーは、こんな感じになっていて、その下にMITライセンスの条件文が記載されています。

Copyright 2013 jQuery Foundation and other contributors
http://jquery.com/

それから、ビルドされて単独ファイルに変換されたとき、ヘッダーにあたる部分は「src /intro.js」にありました。

src /intro.js
github_src/intro.js

ヘッダーの情報は、こんな感じに記載されています。

/*!
* jQuery JavaScript Library v@VERSION
* http://jquery.com/
*
* Includes Sizzle.js
* http://sizzlejs.com/
*
* Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: @DATE
*/

バージョン番号(@VERSION)とビルド日(@DATE)は、ビルド時に挿入されるという感じでしょうか。

(追記:2013-10-26)
さらに、「jquery / speed / jquery-basis.js」ファイルにも、著作権表示とライセンス情報がありました。

ここは、古いライセンス情報が、そのまま残っていますね。

/*!
* jQuery JavaScript Library v1.4.2
* http://jquery.com/
*
* Copyright 2010, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* Includes Sizzle.js
* http://sizzlejs.com/
* Copyright 2010, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
* Date: Sat Feb 13 22:33:48 2010 -0500
*/

全体のライセンスとは違っていますが、MITライセンスとGPL2のデュアルライセンスであれば、MITライセンスに変更できるので、これは問題ありません。OSSのソースコードを利用するとき、MITライセンスが適用されていれば、著作権者名を表示する必要がありますから、こうしてヘッダーを残しておくのです。このjquery-basis.jsファイルだけ他のプロジェクトで利用したい人がいれば、MITライセンスとGPL2のデュアルライセンスを適用すれば良いのです。

貢献者リストを確認する

最後に、ライセンスではありませんが、jQueryの貢献者リストも見ておきましょう。パッチや追加コードを提供した人の名前が掲載されているからです。ここを見ると、誰がプロジェクトに貢献してきたか分かります。現在は、176名の名前が記載されています。

jQueryの貢献者リストは、「AUTHORS.txt」です。

jquery / AUTHORS.txt
jQuery_authors.txt

と言うわけで、いくつかの方法で、jQueryのライセンスを確認してみました。

OSSのライセンスの確認方法が、すこしばかり理解できたかと思います。

幅広く利用されているjQueryですが、Javascriptライブラリとしてソースコード自体を単一ファイルで配布するので、OSSの配布形式としては、ちょっと特殊な例かも知れません。

とはいえ、ソースコードの冒頭部分(ヘッダー)をチェックするといったあたりは、参考になったのでは、ないでしょうか。

機会があれば、複数ファイルをパッケージングしたOSSについても、ライセンスの確認方法を紹介してみたいと思います。