diff --git a/README.md b/README.md
index 0492dfc..765d04b 100644
--- a/README.md
+++ b/README.md
@@ -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 Chainsaw
 
 Apache Chainsaw is a GUI log file viewer
diff --git a/RELEASING b/RELEASING
index 7b8750e..56810c0 100644
--- a/RELEASING
+++ b/RELEASING
@@ -1 +1,18 @@
+<!--
+ 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.
+-->
+
 https://cwiki.apache.org/confluence/display/LOGGING/Chainsaw+Release+Guide
diff --git a/pom.xml b/pom.xml
index 75d0b7c..2f366eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,22 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
- 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.
-
--->
 <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">
+  ~ 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.
+  -->
+<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">
   <parent>
     <groupId>org.apache.logging</groupId>
     <artifactId>logging-parent</artifactId>
diff --git a/sign-artifacts.sh b/sign-artifacts.sh
index ac2a6e7..447f2d5 100755
--- a/sign-artifacts.sh
+++ b/sign-artifacts.sh
@@ -1,3 +1,18 @@
+# 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.
+
 #!/bin/bash
 
 # script to generate .asc, .md5, and .sha512 files for built artifacts
diff --git a/src/main/resources/META-INF/services/org.apache.log4j.chainsaw.receiver.ChainsawReceiverFactory b/src/main/resources/META-INF/services/org.apache.log4j.chainsaw.receiver.ChainsawReceiverFactory
index 3ae791d..d1abbf2 100644
--- a/src/main/resources/META-INF/services/org.apache.log4j.chainsaw.receiver.ChainsawReceiverFactory
+++ b/src/main/resources/META-INF/services/org.apache.log4j.chainsaw.receiver.ChainsawReceiverFactory
@@ -1,3 +1,18 @@
+# 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.
+
 org.apache.log4j.net.MulticastReceiverFactory
 org.apache.log4j.net.UDPReceiverFactory
 org.apache.log4j.net.XMLReceiverFactory
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index d551a29..f54a160 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
 <Configuration status="WARN">
   <Appenders>
     <Console name="Console" target="SYSTEM_OUT">
diff --git a/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html b/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
index cfa6d91..59316c5 100644
--- a/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
+++ b/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
@@ -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.
+
+-->
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
 <HTML>
 <HEAD>
diff --git a/src/main/resources/org/apache/log4j/chainsaw/log4j-receiver-sample.xml b/src/main/resources/org/apache/log4j/chainsaw/log4j-receiver-sample.xml
index 47ceeea..6aedf74 100644
--- a/src/main/resources/org/apache/log4j/chainsaw/log4j-receiver-sample.xml
+++ b/src/main/resources/org/apache/log4j/chainsaw/log4j-receiver-sample.xml
@@ -1,21 +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.
-
-## copy and modify xml contents below to create a Chainsaw configuration ##
-
-<?xml version="1.0" encoding="UTF-8" ?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
 <!DOCTYPE log4j:configuration >
 <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
    <appender name="A2" class="org.apache.log4j.ConsoleAppender">
@@ -37,38 +36,38 @@
 
    <plugin name="MulticastReceiver" class="org.apache.log4j.net.MulticastReceiver">
       <param name="Port" value="4449"/>
-      <param name="Address" value="224.1.1.1"/>      
+      <param name="Address" value="224.1.1.1"/>
    </plugin>
 
    <plugin name="LogFileXMLReceiver" class="org.apache.log4j.xml.LogFileXMLReceiver">
      <param name="fileURL" value="file:///c:/sample.xml"/>
      <param name="name" value="sampleLogFileXMLReceiver"/>
-     <param name="tailing" value="true"/> 
+     <param name="tailing" value="true"/>
    </plugin>
 
    <plugin name="LogFileReceiver" class="org.apache.log4j.varia.LogFilePatternReceiver">
      <param name="fileURL" value="file:///c:/sample.log"/>
-     <param name="timestampFormat" value="yyyy-MM-dd HH:mm:ss,SSS"/> 
-     <param name="logFormat" value="TIMESTAMP LEVEL [LOGGER] MESSAGE"/> 
+     <param name="timestampFormat" value="yyyy-MM-dd HH:mm:ss,SSS"/>
+     <param name="logFormat" value="TIMESTAMP LEVEL [LOGGER] MESSAGE"/>
      <param name="name" value="sampleLogFilePatternReceiver"/>
-     <param name="tailing" value="true"/> 
+     <param name="tailing" value="true"/>
    </plugin>
 
    <plugin name="VFSLogFilePatternReceiverWithUserInfoPrompt" class="org.apache.log4j.chainsaw.vfs.VFSLogFilePatternReceiver">
      <param name="fileURL" value="sftp://192.168.0.100:///c:/sample.log"/>
-     <param name="timestampFormat" value="yyyy-MM-dd HH:mm:ss,SSS"/> 
-     <param name="logFormat" value="TIMESTAMP LEVEL [LOGGER] MESSAGE"/> 
+     <param name="timestampFormat" value="yyyy-MM-dd HH:mm:ss,SSS"/>
+     <param name="logFormat" value="TIMESTAMP LEVEL [LOGGER] MESSAGE"/>
      <param name="name" value="sampleLogFilePatternReceiver"/>
      <param name="promptForUserInfo" value="true"/>
-     <param name="tailing" value="true"/> 
+     <param name="tailing" value="true"/>
    </plugin>
 
    <plugin name="VFSLogFilePatternReceiverNoUserInfoPrompt" class="org.apache.log4j.chainsaw.vfs.VFSLogFilePatternReceiver">
      <param name="fileURL" value="sftp://user:password@192.168.0.100:///c:/sample.log"/>
-     <param name="timestampFormat" value="yyyy-MM-dd HH:mm:ss,SSS"/> 
-     <param name="logFormat" value="TIMESTAMP LEVEL [LOGGER] MESSAGE"/> 
+     <param name="timestampFormat" value="yyyy-MM-dd HH:mm:ss,SSS"/>
+     <param name="logFormat" value="TIMESTAMP LEVEL [LOGGER] MESSAGE"/>
      <param name="name" value="sampleLogFilePatternReceiver"/>
-     <param name="tailing" value="true"/> 
+     <param name="tailing" value="true"/>
    </plugin>
 
    <plugin name="CustomDBReceiver" class="org.apache.log4j.db.CustomSQLDBReceiver">
@@ -79,7 +78,7 @@
         <param name="url" value="jdbc:mysql://127.0.0.1/logs"/>
 	  </connectionSource>
       <param name="refreshMillis" value="5000"/>
-      <param name="sql" value='select logger as LOGGER, timestamp as TIMESTAMP, level as LEVEL, thread as THREAD, message as MESSAGE, ndc as NDC, mdc as MDC, class as CLASS, method as METHOD, file as FILE, line as LINE, concat("{{application,databaselogs,hostname,mymachine,log4jid,", COUNTER, "}}") as PROPERTIES, "" as EXCEPTION from logtable'/> 
+      <param name="sql" value='select logger as LOGGER, timestamp as TIMESTAMP, level as LEVEL, thread as THREAD, message as MESSAGE, ndc as NDC, mdc as MDC, class as CLASS, method as METHOD, file as FILE, line as LINE, concat("{{application,databaselogs,hostname,mymachine,log4jid,", COUNTER, "}}") as PROPERTIES, "" as EXCEPTION from logtable'/>
       <param name="IDField" value="COUNTER"/>
    </plugin>
 
@@ -88,4 +87,3 @@
       <level value="debug"/>
    </root>
 </log4j:configuration>
-
