diff --git a/.gitignore b/.gitignore
index 6091b53..635f236 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,7 +33,7 @@
 
 # Compiled source #
 ###################
-/release
+/release/*.pom
 *.com
 *.class
 *.dll
diff --git a/release/maven/heron-no-kryo.template.pom b/release/maven/heron-no-kryo.template.pom
index 2a0c8de..055c1c3 100644
--- a/release/maven/heron-no-kryo.template.pom
+++ b/release/maven/heron-no-kryo.template.pom
@@ -1,4 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
@@ -16,17 +31,36 @@
       <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
     </license>
   </licenses>
+
+  <mailingLists>
+    <mailingList>
+        <name>Heron user mailing list</name>
+        <subscribe>user-subscribe@heron.incubator.apache.org</subscribe>
+        <unsubscribe>user-unsubscribe@heron.incubator.apache.org</unsubscribe>
+        <post>user@heron.incubator.apache.org</post>
+        <archive>http://mail-archives.apache.org/mod_mbox/heron-user/</archive>
+    </mailingList>
+    <mailingList>
+        <name>Heron developer mailing list</name>
+        <subscribe>dev-subscribe@heron.incubator.apache.org</subscribe>
+        <unsubscribe>dev-unsubscribe@heron.incubator.apache.org</unsubscribe>
+        <post>dev@heron.incubator.apache.org</post>
+        <archive>http://mail-archives.apache.org/mod_mbox/heron-dev/</archive>
+    </mailingList>
+  </mailingLists>
+
   <developers>
     <developer>
-      <name>Heron Users</name>
-      <email>heron-users@googlegroups.com</email>
-      <organization>Twitter</organization>
-      <organizationUrl>http://www.twitter.com</organizationUrl>
+      <name>Heron Project</name>
+      <email>dev@heron.incubator.apache.org</email>
+      <organization>Apache Software Foundation</organization>
+      <organizationUrl>http://http://apache.org/</organizationUrl>
     </developer>
   </developers>
+
   <scm>
-    <connection>scm:git:git@github.com:twitter/heron.git</connection>
-    <developerConnection>scm:git:git@github.com:twitter/heron.git</developerConnection>
-    <url>git@github.com:twitter/heron.git</url>
+    <connection>scm:git:git@github.com:apache/incubator-heron.git</connection>
+    <developerConnection>scm:git:git@github.com:apache/incubator-heron.git</developerConnection>
+    <url>git@github.com:apache/incubator-heron.git</url>
   </scm>
 </project>
diff --git a/release/maven/heron-with-kryo.template.pom b/release/maven/heron-with-kryo.template.pom
index 0811df9..d4f250d 100644
--- a/release/maven/heron-with-kryo.template.pom
+++ b/release/maven/heron-with-kryo.template.pom
@@ -1,4 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
@@ -16,6 +31,7 @@
       <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
     </license>
   </licenses>
+
   <dependencies>
     <dependency>
       <groupId>com.esotericsoftware</groupId>
@@ -24,17 +40,35 @@
       <scope>compile</scope>
     </dependency>
   </dependencies>
+
+  <mailingLists>
+    <mailingList>
+        <name>Heron user mailing list</name>
+        <subscribe>user-subscribe@heron.incubator.apache.org</subscribe>
+        <unsubscribe>user-unsubscribe@heron.incubator.apache.org</unsubscribe>
+        <post>user@heron.incubator.apache.org</post>
+        <archive>http://mail-archives.apache.org/mod_mbox/heron-user/</archive>
+    </mailingList>
+    <mailingList>
+        <name>Heron developer mailing list</name>
+        <subscribe>dev-subscribe@heron.incubator.apache.org</subscribe>
+        <unsubscribe>dev-unsubscribe@heron.incubator.apache.org</unsubscribe>
+        <post>dev@heron.incubator.apache.org</post>
+        <archive>http://mail-archives.apache.org/mod_mbox/heron-dev/</archive>
+    </mailingList>
+  </mailingLists>
+
   <developers>
     <developer>
-      <name>Heron Users</name>
-      <email>heron-users@googlegroups.com</email>
-      <organization>Twitter</organization>
-      <organizationUrl>http://www.twitter.com</organizationUrl>
+      <name>Heron Project</name>
+      <email>dev@heron.incubator.apache.org</email>
+      <organization>Apache Software Foundation</organization>
+      <organizationUrl>http://http://apache.org/</organizationUrl>
     </developer>
   </developers>
   <scm>
-    <connection>scm:git:git@github.com:twitter/heron.git</connection>
-    <developerConnection>scm:git:git@github.com:twitter/heron.git</developerConnection>
-    <url>git@github.com:twitter/heron.git</url>
+    <connection>scm:git:git@github.com:apache/incubator-heron.git</connection>
+    <developerConnection>scm:git:git@github.com:apache/incubator-heron.git</developerConnection>
+    <url>git@github.com:apache/incubator-heron.git</url>
   </scm>
 </project>
