diff --git a/pom.xml b/pom.xml
index f5558b0..198c3bd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache</groupId>
         <artifactId>apache</artifactId>
-        <version>8</version>
+        <version>9</version>
     </parent>
     <groupId>org.apache.neethi</groupId>
     <artifactId>neethi</artifactId>
@@ -179,6 +179,27 @@
                     </instructions>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>verify</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <excludes>
+                        <exclude>.gitignore</exclude>
+                        <!-- RAT doesn't recognize this one as notes file -->
+                        <exclude>RELEASE-NOTE.txt</exclude>
+                        <!-- Files licensed by the W3C, as mentioned in the NOTICE file -->
+                        <exclude>src/test/test-resources/w3tests/**</exclude>
+                    </excludes>
+                </configuration> 
+            </plugin>
         </plugins>
 	<pluginManagement>
 	  <plugins>
diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt
index d2648ab..164c4fe 100644
--- a/src/site/apt/index.apt
+++ b/src/site/apt/index.apt
@@ -1,3 +1,20 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements. See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership. The ASF licenses this file
+~~ to you 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.
+
            -----------------------------------
            Apache Neethi - WS-Policy Framework
            -----------------------------------
diff --git a/src/site/apt/migration.apt b/src/site/apt/migration.apt
index 283e7b4..1cca749 100644
--- a/src/site/apt/migration.apt
+++ b/src/site/apt/migration.apt
@@ -1,3 +1,20 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements. See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership. The ASF licenses this file
+~~ to you 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.
+
            -----------------------------------
            Apache Neethi - Migration Guide
            -----------------------------------
diff --git a/src/site/resources/download.cgi b/src/site/resources/download.cgi
index 8bdb438..2c2537b 100755
--- a/src/site/resources/download.cgi
+++ b/src/site/resources/download.cgi
@@ -1,4 +1,22 @@
 #!/bin/sh
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements. See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership. The ASF licenses this file
+#  to you 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.
+#
 # Wrapper script around mirrors.cgi script
 # (we must change to that directory in order for python to pick up the
 #  python includes correctly)
