survey: add developer survey sub module and release instructions

The config.json is now pointing at this year's survey waiting to
be tagged with survey/v0.1.0.

For golang/vscode-go#2891

Change-Id: Ia30e5f56a30085c213347b365b5a823491977f51
Reviewed-on: https://go-review.googlesource.com/c/vscode-go/+/697395
Reviewed-by: Madeline Kalil <mkalil@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/survey/README.md b/survey/README.md
new file mode 100644
index 0000000..94ddf6b
--- /dev/null
+++ b/survey/README.md
@@ -0,0 +1,41 @@
+# Go Developer Survey Configuration
+
+This Go module serves the configuration file for the Go Developer Survey shown in the [VS Code Go extension](https://github.com/golang/vscode-go).
+
+## Purpose
+
+This module exists solely to host the `config.json` file. By hosting it as a Go module, it can be fetched via module proxy, providing a reliable and secure way for the VS Code Go extension to get the latest survey configuration.
+
+This approach is inspired by the Go team's telemetry configuration module.
+
+## `config.json`
+
+The `config.json` file defines the parameters for the Go Developer Survey. It has the following structure:
+
+```json
+{
+  "StartDate": "2023-09-01T00:00:00Z",
+  "EndDate": "2023-10-01T00:00:00Z",
+  "URL": "https://google.com/survey/url"
+}
+```
+
+-   `StartDate`: The ISO 8601 timestamp for when the survey promotion should start.
+-   `EndDate`: The ISO 8601 timestamp for when the survey promotion should end.
+-   `URL`: The URL to the survey.
+
+## Usage
+
+This module is not intended to be used as a library. It is fetched by the VS Code Go extension.
+
+## Tagging
+
+The versioning scheme follows semantic versioning, with each change to the configuration being a **minor** version increment.
+
+As this module is in the `survey/` subdirectory of its repository, the git tag **must** be prefixed with `survey/`. This is a requirement for Go modules located in subdirectories. For more details, see the [Go Modules documentation](https://go.dev/ref/mod#vcs-version).
+
+For example, if the most recent tag is `survey/v0.1.0`, the new tag should be `survey/v0.2.0`.
+
+## Release Process
+
+When changes are made to `config.json`, a new version of this module must be released. This is done by creating a new git tag that follows the convention described above.
diff --git a/survey/config.json b/survey/config.json
new file mode 100644
index 0000000..ebdcea9
--- /dev/null
+++ b/survey/config.json
@@ -0,0 +1,5 @@
+{
+  "StartDate": "2025-09-09T00:00:00Z",
+  "EndDate": "2025-10-01T00:00:00Z",
+  "URL": "https://google.qualtrics.com/jfe/form/SV_3wwSstC8vv4Ymkm"
+}
\ No newline at end of file
diff --git a/survey/go.mod b/survey/go.mod
new file mode 100644
index 0000000..b84e64d
--- /dev/null
+++ b/survey/go.mod
@@ -0,0 +1,3 @@
+module github.com/golang/vscode-go/survey
+
+go 1.24.0
\ No newline at end of file
diff --git a/survey/survey.go b/survey/survey.go
new file mode 100644
index 0000000..d5446cb
--- /dev/null
+++ b/survey/survey.go
@@ -0,0 +1,9 @@
+// The survey package holds the config.json file defining the Go Developer
+// Survey configuration.
+//
+// The survey configuration specifies the survey's start and end dates, and the
+// URL for the survey.
+//
+// This package contains no actual Go code, and exists only so the config.json
+// file can be served by module proxies.
+package survey