proto: document the relationship between v1 and v2 messages

Change-Id: I1da929ce1d4e44adce9ef406cfd937973d2a8cc6
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/219139
Reviewed-by: Damien Neil <dneil@google.com>
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 "github.com/golang/protobuf/proto".Message.
+//
+// To convert a v1 message to a v2 message,
+// use "github.com/golang/protobuf/proto".MessageV2.
+// To convert a v2 message to a v1 message,
+// use "github.com/golang/protobuf/proto".MessageV1.
 type Message = protoreflect.ProtoMessage
 
 // Error matches all errors produced by packages in the protobuf module.