diff --git a/HISTORY.md b/HISTORY.md
index 90e4358..7442b28 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -1,3 +1,22 @@
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
 ## [1.0](https://github.com/apache/incubator-crail/tree/v1.0) - 12.04.2018
 
 This is our first Apache incubator release. Below are new features and bug fixes since the import to Apache.
@@ -14,4 +33,4 @@
 
 * [[CRAIL-3](https://issues.apache.org/jira/projects/CRAIL/issues/CRAIL-3)] Directory index lost when writing
 * [[CRAIL-4](https://issues.apache.org/jira/projects/CRAIL/issues/CRAIL-4)] getLong and getShort functions on the CrailBufferInputStream return double
-* [[CRAIL-8](https://issues.apache.org/jira/projects/CRAIL/issues/CRAIL-8)] Make sure DataNodeInfo.key is invalidated on object updates
\ No newline at end of file
+* [[CRAIL-8](https://issues.apache.org/jira/projects/CRAIL/issues/CRAIL-8)] Make sure DataNodeInfo.key is invalidated on object updates
diff --git a/README.md b/README.md
index 48cae6d..ac16194 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,22 @@
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
 # Crail
 
 Crail is a fast multi-tiered distributed storage system designed from ground up for high-performance network and storage hardware. It marks the backbone of the Crail I/O architecture, which is described in more detail on [crail.incubator.apache.org](http://crail.incubator.apache.org). The unique features of Crail include:
diff --git a/pom.xml b/pom.xml
index 54914ea..ac5c2f3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -111,7 +111,6 @@
             </licenses>
             <excludes>
                 <exclude>conf/**/*</exclude>
-                <exclude>**/*.md</exclude>
             </excludes>
         </configuration>
       </plugin>
