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

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

このコミットは、Goプロジェクトへの貢献方法を説明するドキュメントファイル doc/contribute.html におけるリンクの更新に関するものです。具体的には、古いURLがリダイレクトされるようになったため新しいURLに修正すること、およびHTTPからHTTPSへのプロトコル変更を行うことが目的です。

コミット

commit 967901a396eb702497e1e1dbaf64987744a92a45
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Wed Mar 5 14:09:03 2014 -0800

    doc: update links in contribute.html
    
    CLA links are now redirects. Use new URLs instead.
    
    Also, use https:// links for all Google sites where
    the http version just redirects to https anyway.
    (That's all links on the page, as it turns out)
    
    LGTM=adg
    R=golang-codereviews, adg
    CC=golang-codereviews
    https://golang.org/cl/69980051

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

https://github.com/golang/go/commit/967901a396eb702497e1e1dbaf64987744a92a45

元コミット内容

このコミットの目的は、doc/contribute.html 内のリンクを更新することです。主な変更点は以下の2つです。

  1. CLA (Contributor License Agreement) リンクの更新: 以前のCLAリンクがリダイレクトされるようになったため、新しいURLに置き換えられました。
  2. GoogleサイトへのリンクのHTTPS化: ページ内の全てのGoogle関連サイトへのリンクが、HTTPバージョンからHTTPSバージョンに更新されました。これは、HTTPアクセスが自動的にHTTPSにリダイレクトされるサイトに対して行われました。

変更の背景

このコミットが行われた背景には、ウェブのセキュリティとインフラの変化があります。

  1. CLAリンクのリダイレクト: GoogleのサービスやドキュメントのURL構造は時間とともに変化することがあります。GoプロジェクトのCLA関連ドキュメントのホスティング場所が変更されたか、あるいはURLの正規化が行われたため、古いリンクがリダイレクトされるようになりました。ユーザーが常に最新かつ正しい情報にアクセスできるように、ドキュメント内のリンクを更新する必要がありました。
  2. HTTPSへの移行の推進: 2014年当時、ウェブ全体でHTTPSへの移行が加速していました。Googleは特にHTTPSの採用を強く推奨しており、自社のサービスにおいてもHTTPSをデフォルトとすることが一般的になっていました。http://でアクセスしても自動的にhttps://にリダイレクトされるサイトが増えたため、ドキュメント内のリンクも最初からhttps://を使用するように修正することで、リダイレクトのオーバーヘッドを減らし、より安全で直接的なアクセスを提供することが意図されました。これは、ユーザーエクスペリエンスの向上とセキュリティの強化に寄与します。

前提知識の解説

  • doc/contribute.html: Goプロジェクトの公式ドキュメントの一部であり、Goプロジェクトにコードやドキュメントを貢献するためのガイドライン、手順、および要件が記載されています。これには、メーリングリストへの参加方法、コードレビュープロセス、CLAの署名方法などが含まれます。
  • CLA (Contributor License Agreement): ソフトウェアプロジェクトにおいて、貢献者がその貢献物の著作権をプロジェクトの所有者(この場合はGoogle)に許諾するための法的な合意書です。これにより、プロジェクトの所有者は貢献されたコードを自由に利用、配布、変更できるようになり、将来的なライセンス問題を防ぐことができます。Goプロジェクトのような大規模なオープンソースプロジェクトでは、CLAの署名が貢献の必須条件となることが一般的です。
  • HTTPとHTTPS:
    • HTTP (Hypertext Transfer Protocol): ウェブ上でデータを送受信するためのプロトコルです。データは暗号化されずに送信されるため、盗聴や改ざんのリスクがあります。
    • HTTPS (Hypertext Transfer Protocol Secure): HTTPにSSL/TLSプロトコルを組み合わせることで、通信を暗号化し、データの機密性、完全性、および認証を保証するプロトコルです。ウェブサイトのセキュリティを確保するために広く使用されています。
  • リダイレクト: ウェブサーバーが、あるURLへのリクエストを別のURLへ自動的に転送する仕組みです。例えば、http://example.comへのアクセスをhttps://example.comへ転送する場合などに使用されます。

技術的詳細

このコミットの技術的詳細は、HTMLファイル内のアンカータグ(<a>)のhref属性の変更に集約されます。

具体的には、以下のドメインに対するリンクが更新されています。

  • groups.google.com: Googleグループのメーリングリストへのリンク。
  • code.google.com: 以前のGoプロジェクトのホスティングプラットフォーム(Google Code)へのリンク。これには、Go Wiki、Mercurial変更ログ、Go Issue Tracker、Google Project Hosting Issue Trackerのドキュメントへのリンクが含まれます。
  • codereview.appspot.com: Goプロジェクトのコードレビューサイトへのリンク。
  • developers.google.com: Google Developersサイト内のCLA関連ドキュメントへのリンク。

変更は主に2つのパターンで行われています。

  1. プロトコルの変更: http://で始まるURLがhttps://に置き換えられています。これは、対象のGoogleサイトが既にHTTPSをサポートしており、HTTPアクセスがHTTPSにリダイレクトされることを前提としています。
  2. CLAリンクのパス変更: http://code.google.com/legal/individual-cla-v1.0.htmlhttp://code.google.com/legal/corporate-cla-v1.0.html といった古いCLAドキュメントのURLが、https://developers.google.com/open-source/cla/individualhttps://developers.google.com/open-source/cla/corporate といった新しいパスに更新されています。これは、CLAドキュメントのホスティング場所がGoogle CodeからGoogle Developersサイトへ移行したことを反映しています。

これらの変更は、doc/contribute.html ファイルのHTMLソースコードを直接編集することで行われました。

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

diff --git a/doc/contribute.html b/doc/contribute.html
index bd0ba808d2..9c52527f91 100644
--- a/doc/contribute.html
+++ b/doc/contribute.html
@@ -22,7 +22,7 @@ you're working on if you want it to become part of the main repository.
 
 <p>
 Before undertaking to write something new for the Go project, send
-mail to the <a href="http://groups.google.com/group/golang-nuts">mailing
+mail to the <a href="https://groups.google.com/group/golang-nuts">mailing
 list</a> to discuss what you plan to do.  This gives everyone a
 chance to validate the design, helps prevent duplication of effort,
 and ensures that the idea fits inside the goals for the language
@@ -135,7 +135,7 @@ are inside <code>$GOROOT</code> when issuing commands.
 Windows users may need to perform extra steps to get the code review 
 extension working. See the
 <a href="https://code.google.com/p/go-wiki/wiki/CodeReview">CodeReview page</a> 
-on the <a href="http://code.google.com/p/go-wiki/wiki">Go Wiki</a> for details.
+on the <a href="https://code.google.com/p/go-wiki/wiki">Go Wiki</a> for details.
 </p>
 
 <h3>Log in to the code review site.</h3>
@@ -146,7 +146,7 @@ The code review server uses a Google Account to authenticate.
 <a href="https://www.google.com/accounts/Login?hl=en&amp;continue=http://www.google.com/">sign in at google.com</a>,
 you can use it to sign in to the code review server.)
 The email address you use on the Code Review site
-will be recorded in the <a href="http://code.google.com/p/go/source/list">Mercurial change log</a>
+will be recorded in the <a href="https://code.google.com/p/go/source/list">Mercurial change log</a>
 and in the <a href="/CONTRIBUTORS"><code>CONTRIBUTORS</code></a> file.
 You can <a href="https://www.google.com/accounts/NewAccount">create a Google Account</a>
 associated with any address where you receive email.
@@ -165,7 +165,7 @@ Saving authentication cookies to /Users/rsc/.codereview_upload_cookies_coderevie
 
 <h3>Configure your account settings.</h3>
 
-<p>Edit your <a href="http://codereview.appspot.com/settings">code review settings</a>.\n+<p>Edit your <a href="https://codereview.appspot.com/settings">code review settings</a>.\n Grab a nickname.\n Many people prefer to set the Context option to\n &ldquo;Whole file&rdquo; to see more context when reviewing changes.\n@@ -240,7 +240,7 @@ These can be code review nicknames or arbitrary email addresses.\n Unless explicitly told otherwise, such as in the discussion leading\n up to sending in the change list, leave the reviewer field blank.\n This means that the\n-<a href="http://groups.google.com/group/golang-codereviews">golang-codereviews@googlegroups.com</a>\n+<a href="https://groups.google.com/group/golang-codereviews">golang-codereviews@googlegroups.com</a>\n mailing list will be used as the reviewer.\n </p>\n \n@@ -286,11 +286,11 @@ Files:\n \n <p>\n The special sentence &ldquo;Fixes issue 159.&rdquo; associates\n-the change with issue 159 in the <a href="http://code.google.com/p/go/issues/list">Go issue tracker</a>.\n+the change with issue 159 in the <a href="https://code.google.com/p/go/issues/list">Go issue tracker</a>.\n When this change is eventually submitted, the issue\n tracker will automatically mark the issue as fixed.\n (These conventions are described in detail by the\n-<a href="http://code.google.com/p/support/wiki/IssueTracker#Integration_with_version_control">Google Project Hosting Issue Tracker documentation</a>.)\n+<a href="https://code.google.com/p/support/wiki/IssueTracker#Integration_with_version_control">Google Project Hosting Issue Tracker documentation</a>.)\n </p>\n \n <p>\n@@ -302,7 +302,7 @@ which <code>hg change</code> will print, something like:\n </p>\n \n <pre>\n-CL created: http://codereview.appspot.com/99999\n+CL created: https://codereview.appspot.com/99999\n </pre>\n \n <h3>Adding or removing files from an existing change</h3>\n@@ -601,7 +601,7 @@ local repository out of date; must sync before submit\n \n <p>Files in the Go repository don't list author names,\n both to avoid clutter and to avoid having to keep the lists up to date.\n-Instead, your name will appear in the <a href="http://code.google.com/p/go/source/list">Mercurial change log</a>\n+Instead, your name will appear in the <a href="https://code.google.com/p/go/source/list">Mercurial change log</a>\n and in the <a href="/CONTRIBUTORS"><code>CONTRIBUTORS</code></a> file\n and perhaps the <a href="/AUTHORS\"><code>AUTHORS</code></a> file.\n </p>\n@@ -616,13 +616,15 @@ In order for them to do that, you need to have completed one of the\n contributor license agreements:\n <ul>\n <li>\n-If you are the copyright holder, you will need to agree to\n-the <a href="http://code.google.com/legal/individual-cla-v1.0.html">individual\n+If you are the copyright holder, you will need to agree to the\n+<a href="https://developers.google.com/open-source/cla/individual">individual\n contributor license agreement</a>, which can be completed online.\n </li>\n <li>\n If your organization is the copyright holder, the organization\n-will need to agree to the <a href="http://code.google.com/legal/corporate-cla-v1.0.html">corporate contributor license agreement</a>.\n+will need to agree to the\n+<a href="https://developers.google.com/open-source/cla/corporate">corporate\n+contributor license agreement</a>.\n (If the copyright holder for your code has already completed the\n agreement in connection with another Google open source project,\n it does not need to be completed again.)\n```

## コアとなるコードの解説

上記の差分は、`doc/contribute.html` ファイル内の複数の`<a>`タグの`href`属性が変更されたことを示しています。

*   **行25 (`http://groups.google.com/group/golang-nuts` -> `https://groups.google.com/group/golang-nuts`)**: GoメーリングリストへのリンクがHTTPからHTTPSに変更されました。
*   **行138 (`http://code.google.com/p/go-wiki/wiki` -> `https://code.google.com/p/go-wiki/wiki`)**: Go WikiへのリンクがHTTPからHTTPSに変更されました。
*   **行149 (`http://code.google.com/p/go/source/list` -> `https://code.google.com/p/go/source/list`)**: Mercurial変更ログへのリンクがHTTPからHTTPSに変更されました。
*   **行168 (`http://codereview.appspot.com/settings` -> `https://codereview.appspot.com/settings`)**: コードレビュー設定ページへのリンクがHTTPからHTTPSに変更されました。
*   **行243 (`http://groups.google.com/group/golang-codereviews` -> `https://groups.google.com/group/golang-codereviews`)**: GoコードレビューメーリングリストへのリンクがHTTPからHTTPSに変更されました。
*   **行289 (`http://code.google.com/p/go/issues/list` -> `https://code.google.com/p/go/issues/list`)**: GoイシュートラッカーへのリンクがHTTPからHTTPSに変更されました。
*   **行293 (`http://code.google.com/p/support/wiki/IssueTracker#Integration_with_version_control` -> `https://code.google.com/p/support/wiki/IssueTracker#Integration_with_version_control`)**: Google Project Hosting Issue TrackerのドキュメントへのリンクがHTTPからHTTPSに変更されました。
*   **行305 (`http://codereview.appspot.com/99999` -> `https://codereview.appspot.com/99999`)**: コードレビューのURL例がHTTPからHTTPSに変更されました。
*   **行604 (`http://code.google.com/p/go/source/list` -> `https://code.google.com/p/go/source/list`)**: Mercurial変更ログへの別のリンクがHTTPからHTTPSに変更されました。
*   **行619 (`http://code.google.com/legal/individual-cla-v1.0.html` -> `https://developers.google.com/open-source/cla/individual`)**: 個人向けCLAのリンクが、古いGoogle CodeのURLから新しいGoogle DevelopersのURLに更新され、プロトコルもHTTPSに変更されました。
*   **行624 (`http://code.google.com/legal/corporate-cla-v1.0.html` -> `https://developers.google.com/open-source/cla/corporate`)**: 企業向けCLAのリンクが、古いGoogle CodeのURLから新しいGoogle DevelopersのURLに更新され、プロトコルもHTTPSに変更されました。

これらの変更は、Goプロジェクトの貢献ガイドラインが常に最新かつ安全な情報源を指し示すようにするためのメンテナンス作業の一環です。

## 関連リンク

*   Goプロジェクトの公式ウェブサイト: [https://golang.org/](https://golang.org/)
*   Goプロジェクトの貢献ガイドライン (現在のバージョン): [https://go.dev/doc/contribute](https://go.dev/doc/contribute) (このコミットで変更されたファイルは、Goの進化とともに内容が更新されている可能性があります)
*   GoのContributor License Agreement (CLA) について: [https://go.dev/doc/contribute#cla](https://go.dev/doc/contribute#cla)

## 参考にした情報源リンク

*   Google Developers: [https://developers.google.com/](https://developers.google.com/)
*   Google Code (アーカイブ): [https://code.google.com/archive/](https://code.google.com/archive/) (2014年当時のGoプロジェクトのホスティングプラットフォームでしたが、現在はアーカイブされています。)
*   HTTPS Everywhere (EFF): [https://www.eff.org/https-everywhere](https://www.eff.org/https-everywhere) (HTTPSへの移行の重要性に関する一般的な情報源)
*   GoogleのHTTPSに関するブログ記事 (例: 2014年のランキングシグナル化): [https://security.googleblog.com/2014/08/https-as-ranking-signal_6.html](https://security.googleblog.com/2014/08/https-as-ranking-signal_6.html) (このコミットの時期と一致するGoogleのHTTPS推進の動きを示す一例)
*   GoプロジェクトのGerrit (コードレビューシステム): [https://go-review.googlesource.com/](https://go-review.googlesource.com/) (コミットメッセージに記載されている`golang.org/cl/69980051`は、このGerritインスタンス上の変更リストを指します。)