JavaScriptのライセンス・ウェブ・ラベル
最小化したJavaScriptをサイトで採用するウェブマスタの場合は、そういった最小化したファイルそれ自身を変更することなく、そのライセンスとソースコードの位置を示す方法を以下に示します。これは、そのJavaScriptがGNUライセンスのひとつの元にあるが、ロイック・デュロスによるあなたのJavaScriptを自由とする、のセクション3.2で提案された追加の許可を含まない場合に特に役立つでしょう。
JavaScriptのライセンス・ウェブ・ラベルの方法は最小化されたJavaScriptのコードのファイルのためです。この方法は、GNUソフトウェアライセンスの対応する条件を満足しLibreJSがサイトの情報の正しさを確認することを可能とします。
ウェブ・ラベルの使用は対応するJavaScriptのソースファイルがライセンス告知を含み、自由なライセンスでリリースされていることを前提とします。ソースコードが自由でない限り、コンパイルされたコードは自由ではないので、提示されるライセンスが正式な自由なソースコードのためには重要です。まだそのようにしていない場合、まず、そうすべきです。
ウェブ・ラベルを最小化されていないJavaScriptファイルで使用し、そのライセンスがプログラムで認識できる方式で指示することもできます。しかし、それらはソースファイルですから、人間が読めるライセンス告知を提供することも忘れずにお願いします。それらを省略するとその法的状態は不確かなものとなってしまいます。
このウェブ・ラベルの方法は、HTMLページに直接含まれる、インラインのJavaScriptには適用できません。その場合のライセンス情報は、そのページで直接述べられる必要があります。
このフォーマットを設計した理由について、より詳細な説明は理論的根拠をご覧ください。
ラベルのページを書く
JavaScriptのライセンス・ウェブ・ラベルのためのページをあなたのサイトに追加します。あなたにとって便利なパスあるいはファイル名であれば、どういったものでも使ってください。そのページにはid="jslicense-labels1"
のアトリビュートでマークされた一つのテーブルを持たせます。この名前で自動化ツールがそのテーブルを容易に探せるようになり、そのツールにどのフォーマットが期待されるかを伝えます。このテーブルのそれぞれの行は三つのセルからなり、このサイトで使われるスタンドアローンのJavaScriptファイル、そのライセンス、そして訪問者がどのようにそのソースコードを取得できるかについての情報を提供します。
それぞれの行の第一のセルは、このサイトで使われるJavaScriptファイルに名前をつけます。このセルにはそのファイルへとリンクするアンカータグがなければなりません。ちょうどscript
タグがこのサイトの至る所で行うように。
第二のセルは、このJavaScriptファイルのライセンスに関する情報を提供します。このセルは、アンカータグを含む必要があります。アンカータグのリンクはライセンスのテキスト全体を参照します。アンカータグのテキストはライセンスのフルネームを提供します。ライセンスに複数のバージョンがある場合、バージョンナンバーと、そのファイルがそのライセンスの以降のバージョンでライセンスされるかどうかも提供します。正しいライセンスの識別子とそのリンクが下記です:
- GNU-GPL-2.0-or-later
- GNU-GPL-3.0-or-later
- GNU-LGPL-2.1-or-later
- GNU-LGPL-3.0-or-later
- GNU-AGPL-3.0-or-later
- Apache-2.0-only
- Modified-BSD
- CC0-1.0-only
- Expat
- MPL-2.0-or-later
第三のセルはJavaScriptのソースコードへのリンクを提供します。ソースコードファイルには単一の最小化されてないJavaScriptファイル、.tar.gz
アーカイブ、もしくは.zip
アーカイブが可能です。ソースアーカイブが複数のJavaScriptファイルを含む場合、アーカイブは00-INDEX
という名前のファイルを含み、これで個々のソースファイルをどのようにつなげたらサイトでホストされているものと同等の一つのファイルを生成できるかについての順番を挙げます。そのJavaScriptがサイトから提供され、第一のセルでリンクされる際に、すでにソースコードの形態の場合、同じURLをもう一度このセルでリンクします。
以下が解説のためのテーブルの例です。この例のサイトでは、たった一つのJavaScriptファイル、Expatライセンスで配布されるjQuery 1.7の最小化バージョンを使っています。テーブルでは、ファイルと対応するライセンス情報と全体のソースコードへのリンクを挙げています:
<table id="jslicense-labels1">
<tr>
<td><a href="/js/jquery-1.7.min.js">jquery-1.7.min.js</a></td>
<td><a href="http://www.jclark.com/xml/copying.txt">Expat</a></td>
<td><a href="/js/jquery-1.7.tar.gz">jquery-1.7.tar.gz</a></td>
</tr>
</table>
このページには、あなたのサイトの通常のレイアウトやナビゲーションツールなど、ほかのテキストやマークアップが含まれても構いません。しかし、テーブルはページで目立つように表示される必要があります。
ラベルのページへのリンク
JavaScriptを使うそれぞれのページで、上記で述べたラベル・ページを指すリンクを含めます。このリンクをアトリビュートrel="jslicense"
でマークします。自動化ツールが探せるようにです。たとえば、あなたの最終的なリンクはこのようでしょう:
<a href="/about/javascript" rel="jslicense">JavaScriptのライセンス情報</a>
このリンクは小さくすることもできますが、あなたのサイトを訪れる人々にはっきりと見えるべきです。
注釈
これらを実施すれば、GNU一般公衆ライセンスのようなGNUソフトウェアライセンスの対応する条件を遵守することになります。多くのほかの自由ソフトウェアライセンスを遵守するにも十分となるでしょうが、すべてのライセンスを遵守すると確実に言うことはできません。いつもと同じく、あなたが配布するどのような自由ソフトウェアでも、あなたがそのライセンスの条件を理解し従うよう、確実にしてください。