[インデックス 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>
具体的には、以下の点が変更されています。
Except as noted,
の部分がExcept as <a href="http://code.google.com/policies.html#restrictions">noted</a>,
に変更され、"noted" にGoogle Codeのポリシーページへのリンクが追加されました。これにより、例外事項に関する詳細情報へのアクセスが容易になります。this content
がthe content of this page
に変更され、ライセンスが適用される範囲が「このページの内容」であることがより明確になりました。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
へのハイパーリンクが追加されました。これは、ライセンスの例外事項に関する詳細なポリシーページへの参照です。
- 変更後の最初の行です。「noted」という単語に
-
+ 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
という名前)を指します。
- 変更後の3行目です。この行が新たに追加され、コードサンプルがBSDスタイルのライセンスで提供されていることが明示されました。
この変更により、godoc
によって生成されるすべてのドキュメントページの下部に、ドキュメントコンテンツとコードサンプルのライセンスが明確に区別されて表示されるようになります。これは、Goプロジェクトのライセンスポリシーを正確に反映し、ユーザーが法的な情報を容易に理解できるようにするための重要な更新です。
関連リンク
- Go言語公式サイト: https://golang.org/
- godocコマンドのドキュメント: https://pkg.go.dev/cmd/godoc
- Go言語のライセンスファイル (例): https://github.com/golang/go/blob/master/LICENSE
参考にした情報源リンク
- Creative Commons Attribution 3.0 Unported License: https://creativecommons.org/licenses/by/3.0/deed.ja
- BSDライセンスについて: https://ja.wikipedia.org/wiki/BSD%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9
- Google Code Policies (参照された可能性のあるページ): https://code.google.com/policies.html (注: このURLは古い可能性があり、現在のGoogleのポリシーページとは異なる場合があります。)