diff --git a/doc/reference/libpurple/libpurple-docs.xml b/doc/reference/libpurple/libpurple-docs.xml
--- a/doc/reference/libpurple/libpurple-docs.xml
+++ b/doc/reference/libpurple/libpurple-docs.xml
@@ -109,7 +109,7 @@
     <chapter id="messages">
       <title>Messaging</title>
 
-        <xi:include href="xml/message.xml" />
+        <xi:include href="xml/purplemessage.xml" />
         <xi:include href="xml/purpleattachment.xml" />
         <xi:include href="xml/log.xml" />
         <xi:include href="xml/cmds.xml" />
diff --git a/libpurple/conversation.h b/libpurple/conversation.h
--- a/libpurple/conversation.h
+++ b/libpurple/conversation.h
@@ -112,7 +112,7 @@
 
 #include <glib.h>
 #include <glib-object.h>
-#include "message.h"
+#include "purplemessage.h"
 
 /**************************************************************************/
 /* PurpleConversation                                                     */
diff --git a/libpurple/core.c b/libpurple/core.c
--- a/libpurple/core.c
+++ b/libpurple/core.c
@@ -31,12 +31,12 @@
 #include "idle.h"
 #include "image-store.h"
 #include "keyring.h"
-#include "message.h"
 #include "network.h"
 #include "notify.h"
 #include "plugins.h"
 #include "prefs.h"
 #include "proxy.h"
+#include "purplemessage.h"
 #include "purpleprivate.h"
 #include "savedstatuses.h"
 #include "signals.h"
diff --git a/libpurple/meson.build b/libpurple/meson.build
--- a/libpurple/meson.build
+++ b/libpurple/meson.build
@@ -33,7 +33,6 @@
 	'media.c',
 	'mediamanager.c',
 	'memorypool.c',
-	'message.c',
 	'nat-pmp.c',
 	'network.c',
 	'notify.c',
@@ -57,6 +56,7 @@
 	'purpleimconversation.c',
 	'purplekeyvaluepair.c',
 	'purplemarkup.c',
+	'purplemessage.c',
 	'purplepresence.c',
 	'purpleprotocolattention.c',
 	'purpleprotocolclient.c',
@@ -121,7 +121,6 @@
 	'media.h',
 	'mediamanager.h',
 	'memorypool.h',
-	'message.h',
 	'nat-pmp.h',
 	'network.h',
 	'notify.h',
@@ -145,6 +144,7 @@
 	'purpleattachment.h',
 	'purplekeyvaluepair.h',
 	'purplemarkup.h',
+	'purplemessage.h',
 	'purplepresence.h',
 	'purpleprotocolattention.h',
 	'purpleprotocolclient.h',
@@ -222,13 +222,13 @@
 	'conversation.h',
 	'debug.h',
 	'eventloop.h',
-	'message.h',
 	'notify.h',
 	'plugins.h',
 	'protocol.h',
 	'protocols.h',
 	'purplechatuser.h',
 	'purpleimconversation.h',
+	'purplemessage.h',
 	'roomlist.h',
 	'status.h',
 	'xfer.h',
diff --git a/libpurple/message.h b/libpurple/purplemessage.h
rename from libpurple/message.h
rename to libpurple/purplemessage.h
--- a/libpurple/message.h
+++ b/libpurple/purplemessage.h
@@ -1,5 +1,6 @@
 /*
- * purple
+ * Purple - Internet Messaging Library
+ * Copyright (C) Pidgin Developers <devel@pidgin.im>
  *
  * Purple is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
@@ -15,8 +16,8 @@
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
- * You should have received a copy of the GNU General Public
- * License along with this library; if not, see <https://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
  */
 
 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
@@ -27,15 +28,12 @@
 #define PURPLE_MESSAGE_H
 
 /**
- * SECTION:message
- * @include:message.h
- * @section_id: libpurple-message
- * @short_description: serializable messages
- * @title: Message model
+ * SECTION:purplemessage
+ * @section_id: libpurple-purplemessage
+ * @short_description: Message Object
+ * @title: Message Object
  *
- * #PurpleMessage object collects data about a certain (incoming or outgoing) message.
- * It (TODO: will be) serializable, so it can be stored in log and retrieved
- * with any metadata.
+ * #PurpleMessage represents any message passed between users in libpurple.
  */
 
 #include <glib-object.h>
@@ -51,27 +49,27 @@
  *
  * Since: 3.0.0
  */
-#define PURPLE_TYPE_MESSAGE  purple_message_get_type()
+#define PURPLE_TYPE_MESSAGE purple_message_get_type()
 
 /**
  * PurpleMessageFlags:
- * @PURPLE_MESSAGE_SEND:        Outgoing message.
- * @PURPLE_MESSAGE_RECV:        Incoming message.
- * @PURPLE_MESSAGE_SYSTEM:      System message.
- * @PURPLE_MESSAGE_AUTO_RESP:   Auto response.
+ * @PURPLE_MESSAGE_SEND: Outgoing message.
+ * @PURPLE_MESSAGE_RECV: Incoming message.
+ * @PURPLE_MESSAGE_SYSTEM: System message.
+ * @PURPLE_MESSAGE_AUTO_RESP: Auto response.
  * @PURPLE_MESSAGE_ACTIVE_ONLY: Hint to the UI that this message should not be
  *                              shown in conversations which are only open for
  *                              internal UI purposes (e.g. for contact-aware
  *                              conversations).
- * @PURPLE_MESSAGE_NICK:        Contains your nick.
- * @PURPLE_MESSAGE_NO_LOG:      Do not log.
- * @PURPLE_MESSAGE_ERROR:       Error message.
- * @PURPLE_MESSAGE_DELAYED:     Delayed message.
- * @PURPLE_MESSAGE_RAW:         "Raw" message - don't apply formatting
- * @PURPLE_MESSAGE_IMAGES:      Message contains images
- * @PURPLE_MESSAGE_NOTIFY:      Message is a notification
- * @PURPLE_MESSAGE_NO_LINKIFY:  Message should not be auto-linkified
- * @PURPLE_MESSAGE_INVISIBLE:   Message should not be displayed
+ * @PURPLE_MESSAGE_NICK: Contains your nick.
+ * @PURPLE_MESSAGE_NO_LOG: Do not log.
+ * @PURPLE_MESSAGE_ERROR: Error message.
+ * @PURPLE_MESSAGE_DELAYED: Delayed message.
+ * @PURPLE_MESSAGE_RAW: "Raw" message - don't apply formatting
+ * @PURPLE_MESSAGE_IMAGES: Message contains images
+ * @PURPLE_MESSAGE_NOTIFY: Message is a notification
+ * @PURPLE_MESSAGE_NO_LINKIFY: Message should not be auto-linkified
+ * @PURPLE_MESSAGE_INVISIBLE: Message should not be displayed
  * @PURPLE_MESSAGE_REMOTE_SEND: Message sent from another location,
  *                              not an echo of a local one
  *                              Since: 2.12.0
diff --git a/libpurple/message.c b/libpurple/purplemessage.c
rename from libpurple/message.c
rename to libpurple/purplemessage.c
--- a/libpurple/message.c
+++ b/libpurple/purplemessage.c
@@ -1,4 +1,6 @@
-/* purple
+/*
+ * Purple - Internet Messaging Library
+ * Copyright (C) Pidgin Developers <devel@pidgin.im>
  *
  * Purple is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
@@ -15,8 +17,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
  */
 
 #include <glib/gi18n-lib.h>
@@ -24,8 +25,8 @@
 #include "internal.h"
 
 #include "debug.h"
+#include "purplemessage.h"
 #include "enums.h"
-#include "message.h"
 #include "purpleprivate.h"
 
 /**
diff --git a/libpurple/protocol.h b/libpurple/protocol.h
--- a/libpurple/protocol.h
+++ b/libpurple/protocol.h
@@ -55,11 +55,11 @@
 #include "debug.h"
 #include "xfer.h"
 #include "image.h"
-#include "message.h"
 #include "notify.h"
 #include "plugins.h"
 #include "purpleaccountoption.h"
 #include "purpleaccountusersplit.h"
+#include "purplemessage.h"
 #include "purplewhiteboard.h"
 #include "purplewhiteboardops.h"
 #include "roomlist.h"
diff --git a/libpurple/server.h b/libpurple/server.h
--- a/libpurple/server.h
+++ b/libpurple/server.h
@@ -40,9 +40,9 @@
 #include "accounts.h"
 #include "conversations.h"
 #include "group.h"
-#include "message.h"
 #include "protocols.h"
 #include "purpleattentiontype.h"
+#include "purplemessage.h"
 
 G_BEGIN_DECLS
 
diff --git a/po/POTFILES.in b/po/POTFILES.in
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -57,7 +57,6 @@
 libpurple/media/enum-types.c
 libpurple/mediamanager.c
 libpurple/memorypool.c
-libpurple/message.c
 libpurple/nat-pmp.c
 libpurple/network.c
 libpurple/notify.c
@@ -255,6 +254,7 @@
 libpurple/purplecredentialprovider.c
 libpurple/purpleimconversation.c
 libpurple/purplemarkup.c
+libpurple/purplemessage.c
 libpurple/purplepresence.c
 libpurple/purpleprotocolattention.c
 libpurple/purpleprotocolclient.c
