Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 12767] ファイルの概要

このコミットは、Go言語のドキュメンテーションツールであるgodocが生成するHTMLページのフッターテキストを更新するものです。具体的には、lib/godoc/godoc.htmlファイルが変更されており、これはgodocが提供するドキュメントのテンプレートの一部と考えられます。このファイルは、Goプロジェクトの公式ドキュメントやパッケージのドキュメントを表示する際に使用される共通のフッター部分を定義しています。

コミット

このコミットは、godocによって生成されるHTMLページのフッターに表示されるライセンス表記を更新するものです。以前の表記では、コンテンツがCreative Commons Attribution 3.0 Licenseの下でライセンスされているとされていましたが、今回の変更により、コードサンプルがBSDスタイルのライセンスの下でライセンスされていることが明確に追記されました。これにより、ドキュメントコンテンツとコードサンプルのライセンスがより正確に区別され、ユーザーにとっての明確性が向上しています。

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/308cc100e63c7e5fc3c887aee37cb158ac829255

元コミット内容

doc: update footer text

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5920043

変更の背景

この変更の背景には、Go言語のドキュメントとコードサンプルのライセンスに関する明確化の必要性があったと考えられます。多くのオープンソースプロジェクトでは、ドキュメントとコードで異なるライセンスを採用することがあります。特に、ドキュメントはCreative Commonsのようなコンテンツライセンスで、コードはMIT、BSD、Apacheなどのソフトウェアライセンスで提供されることが一般的です。

以前のフッターテキストでは、すべてのコンテンツがCreative Commons Attribution 3.0 Licenseの下でライセンスされているかのように読める可能性がありました。しかし、Go言語のコードベース自体はBSDスタイルのライセンスで提供されています。この不一致を解消し、ユーザーがドキュメントとコードサンプルの両方について正確なライセンス情報を理解できるようにするために、フッターテキストの更新が行われました。これにより、法的な明確性が向上し、Goプロジェクトのライセンスポリシーがより正確に反映されるようになりました。

前提知識の解説

godoc

godocは、Go言語のソースコードからドキュメントを生成し、HTTPサーバーとして提供するツールです。Goのパッケージ、関数、型、変数などに関するコメントを解析し、それらを整形されたHTML形式で表示します。開発者はgodocを使って、ローカル環境でGoの標準ライブラリや自身のプロジェクトのドキュメントを簡単に閲覧できます。また、golang.org/pkgのような公式ドキュメントサイトもgodocによって生成されています。

Creative Commons Attribution 3.0 License

Creative Commons (CC) ライセンスは、著作権者が自身の著作物を共有・利用することを容易にするための公開ライセンスです。Creative Commons Attribution 3.0 (CC BY 3.0) は、そのバージョンの一つで、以下の条件を定めています。

  • Attribution (表示): 著作物の利用者は、原作者のクレジットを表示しなければなりません。

このライセンスは、主に文章、画像、音楽などのコンテンツに適用され、ソフトウェアのコードにはあまり使用されません。

BSD-style license

BSDライセンスは、カリフォルニア大学バークレー校で開発されたソフトウェアに適用されたライセンスで、非常に寛容なオープンソースライセンスの一つです。主な特徴は以下の通りです。

  • 再配布の自由: ソースコードおよびバイナリ形式での再配布が許可されます。
  • 改変の自由: ソフトウェアの改変および派生作品の作成が許可されます。
  • 商用利用の自由: 商用目的での利用が許可されます。
  • 帰属表示の義務: 著作権表示、ライセンス条項、免責事項を、ソフトウェアのすべてのコピーまたは実質的な部分に含める必要があります。

BSDライセンスは、そのシンプルさと自由度の高さから、多くのオープンソースプロジェクトで採用されています。Go言語のコードベースもBSDスタイルのライセンス(具体的には3-Clause BSD License)で提供されています。

技術的詳細

このコミットは、lib/godoc/godoc.htmlという単一のHTMLテンプレートファイルを変更しています。このファイルは、godocが生成するHTMLページのフッター部分を定義しており、Goのテンプレートエンジンによって動的にコンテンツが埋め込まれる箇所(例: {{html .Version}})を含んでいます。

変更の核心は、フッター内のライセンス表記のテキストコンテンツです。

変更前:

Except as noted, this content is licensed under a
Creative Commons Attribution 3.0 License.<br>

変更後:

Except as <a href="http://code.google.com/policies.html#restrictions">noted</a>,
the content of this page is licensed under the Creative Commons Attribution 3.0 License,<br>
and code samples are licensed under a <a href="/LICENSE">BSD-style license</a>.<br>

具体的には、以下の点が変更されています。

  1. Except as noted, の部分が Except as <a href="http://code.google.com/policies.html#restrictions">noted</a>, に変更され、"noted" にGoogle Codeのポリシーページへのリンクが追加されました。これにより、例外事項に関する詳細情報へのアクセスが容易になります。
  2. this contentthe content of this page に変更され、ライセンスが適用される範囲が「このページの内容」であることがより明確になりました。
  3. and code samples are licensed under a <a href="/LICENSE">BSD-style license</a>. という新しい行が追加されました。これにより、コードサンプルが別途BSDスタイルのライセンスで提供されていることが明示され、/LICENSEパスへのリンクが提供されています。この/LICENSEパスは、godocサーバーが提供するGoプロジェクトのルートにあるLICENSEファイルへのリンクを指します。

これらの変更により、godocが生成するすべてのHTMLページフッターにおいて、ドキュメントコンテンツとコードサンプルのライセンスが明確に区別され、ユーザーが正確なライセンス情報を参照できるようになりました。

コアとなるコードの変更箇所

--- a/lib/godoc/godoc.html
+++ b/lib/godoc/godoc.html
@@ -52,8 +52,9 @@
 
 <div id="footer">
 Build version {{html .Version}}.<br>
-Except as noted, this content is licensed under a
-Creative Commons Attribution 3.0 License.<br>
+Except as <a href="http://code.google.com/policies.html#restrictions">noted</a>,
+the content of this page is licensed under the Creative Commons Attribution 3.0 License,<br>
+and code samples are licensed under a <a href="/LICENSE">BSD-style license</a>.<br>
 <a href="/doc/tos.html">Terms of Service</a>
 </div>
 

コアとなるコードの解説

上記の差分は、lib/godoc/godoc.htmlファイル内のHTML構造の一部を示しています。このファイルは、godocツールがGoのドキュメントをWebブラウザで表示する際に使用するテンプレートです。

変更された部分は、id="footer"を持つdiv要素内のテキストコンテンツです。

  • - Except as noted, this content is licensed under a

    • これは変更前の行で、コンテンツ全体がCreative Commons Attribution 3.0 Licenseでライセンスされていると示していました。
  • - Creative Commons Attribution 3.0 License.<br>

    • これも変更前の行の一部です。
  • + Except as <a href="http://code.google.com/policies.html#restrictions">noted</a>,

    • 変更後の最初の行です。「noted」という単語にhttp://code.google.com/policies.html#restrictionsへのハイパーリンクが追加されました。これは、ライセンスの例外事項に関する詳細なポリシーページへの参照です。
  • + the content of this page is licensed under the Creative Commons Attribution 3.0 License,<br>

    • 変更後の2行目です。ライセンスの対象が「このページの内容」であることがより明確に記述されました。
  • + and code samples are licensed under a <a href="/LICENSE">BSD-style license</a>.<br>

    • 変更後の3行目です。この行が新たに追加され、コードサンプルがBSDスタイルのライセンスで提供されていることが明示されました。/LICENSEへのリンクは、Goプロジェクトのルートにあるライセンスファイル(通常はLICENSEという名前)を指します。

この変更により、godocによって生成されるすべてのドキュメントページの下部に、ドキュメントコンテンツとコードサンプルのライセンスが明確に区別されて表示されるようになります。これは、Goプロジェクトのライセンスポリシーを正確に反映し、ユーザーが法的な情報を容易に理解できるようにするための重要な更新です。

関連リンク

参考にした情報源リンク