diff --git a/core/lib/Drupal/Core/Entity/EntityAuthorInterface.php b/core/lib/Drupal/Core/Entity/EntityAuthorInterface.php
new file mode 100644
index 0000000..050640d
--- /dev/null
+++ b/core/lib/Drupal/Core/Entity/EntityAuthorInterface.php
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Core\Entity\EntityAuthorInterface.
+ */
+
+namespace Drupal\Core\Entity;
+
+/**
+ * Defines a common interface for entities that have an author or owner.
+ */
+interface EntityAuthorInterface {
+
+  /**
+   * Returns the entity author's user entity.
+   *
+   * @return \Drupal\user\UserInterface
+   *   The author user entity.
+   */
+  public function getAuthor();
+
+  /**
+   * Returns the entity author's user ID.
+   *
+   * @return int
+   *   The author user ID.
+   */
+  public function getAuthorId();
+
+  /**
+   * Sets the entity author's user ID.
+   *
+   * @param int $uid
+   *   The author user id.
+   *
+   * @return \Drupal\Core\Entity\EntityInterface
+   *   The called entity.
+   */
+  public function setAuthorId($uid);
+
+}
diff --git a/core/modules/node/lib/Drupal/node/NodeInterface.php b/core/modules/node/lib/Drupal/node/NodeInterface.php
index 12d334b..bdb54cb 100644
--- a/core/modules/node/lib/Drupal/node/NodeInterface.php
+++ b/core/modules/node/lib/Drupal/node/NodeInterface.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\node;
 
+use Drupal\Core\Entity\EntityAuthorInterface;
 use Drupal\Core\Entity\EntityChangedInterface;
 use Drupal\Core\Entity\ContentEntityInterface;
 use Drupal\user\UserInterface;
@@ -14,7 +15,7 @@
 /**
  * Provides an interface defining a node entity.
  */
-interface NodeInterface extends ContentEntityInterface, EntityChangedInterface {
+interface NodeInterface extends ContentEntityInterface, EntityChangedInterface, EntityAuthorInterface {
 
   /**
    * Returns the node type.
@@ -25,7 +26,6 @@
   public function getType();
 
   /**
-   *
    * Returns the node title.
    *
    * @return string
@@ -102,33 +102,6 @@ public function isSticky();
   public function setSticky($sticky);
 
   /**
-   * Returns the node author user entity.
-   *
-   * @return \Drupal\user\UserInterface
-   *   The author user entity.
-   */
-  public function getAuthor();
-
-  /**
-   * Returns the node author user ID.
-   *
-   * @return int
-   *   The author user ID.
-   */
-  public function getAuthorId();
-
-  /**
-   * Sets the node author user ID.
-   *
-   * @param int $uid
-   *   The author user id.
-   *
-   * @return \Drupal\node\NodeInterface
-   *   The called node entity.
-   */
-  public function setAuthorId($uid);
-
-  /**
    * Returns the node published status indicator.
    *
    * Unpublished nodes are only visible to their authors and to administrators.
@@ -160,7 +133,7 @@ public function getRevisionCreationTime();
   /**
    * Sets the node revision creation timestamp.
    *
-   * @param int $imestamp
+   * @param int $timestamp
    *   The UNIX timestamp of when this revision was created.
    *
    * @return \Drupal\node\NodeInterface
