proto: document the relationship between v1 and v2 messages

Change-Id: I1da929ce1d4e44adce9ef406cfd937973d2a8cc6
Reviewed-by: Damien Neil <>
diff --git a/proto/proto.go b/proto/proto.go
index 1fec109..ca14b09 100644
--- a/proto/proto.go
+++ b/proto/proto.go
@@ -10,6 +10,17 @@
 // Message is the top-level interface that all messages must implement.
+// It provides access to a reflective view of a message.
+// Any implementation of this interface may be used with all functions in the
+// protobuf module that accept a Message, except where otherwise specified.
+// This is the v2 interface definition for protobuf messages.
+// The v1 interface definition is "".Message.
+// To convert a v1 message to a v2 message,
+// use "".MessageV2.
+// To convert a v2 message to a v1 message,
+// use "".MessageV1.
 type Message = protoreflect.ProtoMessage
 // Error matches all errors produced by packages in the protobuf module.