diff --git a/asterixdb/LICENSE b/asterixdb/LICENSE
index 7896416..e7b3a06 100644
--- a/asterixdb/LICENSE
+++ b/asterixdb/LICENSE
@@ -447,6 +447,15 @@
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    THE SOFTWARE.
 ---
+   Portions of the AsterixDB runtime
+       located at:
+         asterix-hivecompat/src/main/java/org/apache/asterix/hivecompat/io/*
+
+   are available under The Apache License, Version 2.0:
+---
+   Source files in asterix-hivecompat are derived from portions of Apache Hive
+   Query Language v0.13.0 (org.apache.hive:hive-exec).
+---
    Portions of the AsterixDB API examples
        located at:
          asterix-examples/src/main/resources/admaql101-demo/bottle.py
diff --git a/asterixdb/asterix-app/pom.xml b/asterixdb/asterix-app/pom.xml
index d4a9e5f..7cdf78a 100644
--- a/asterixdb/asterix-app/pom.xml
+++ b/asterixdb/asterix-app/pom.xml
@@ -75,6 +75,10 @@
 
           <!-- The path for the to be generated properties file, it's relative to ${project.basedir} -->
           <generateGitPropertiesFilename>./target/classes/git.properties</generateGitPropertiesFilename>
+
+          <!-- there is no .git directory when building from a source assembly- a static git.properties file (generated
+               at source assembly time) is used in this case -->
+          <failOnNoGitDirectory>false</failOnNoGitDirectory>
         </configuration>
 
       </plugin>
diff --git a/asterixdb/asterix-client-helper/pom.xml b/asterixdb/asterix-client-helper/pom.xml
index defb488..b053331 100644
--- a/asterixdb/asterix-client-helper/pom.xml
+++ b/asterixdb/asterix-client-helper/pom.xml
@@ -79,12 +79,6 @@
         </executions>
         <configuration>
           <templateRootDir>${basedir}/../../</templateRootDir>
-          <generatedFiles>
-            <generatedFile>
-              <template>asterixdb/src/main/licenses/templates/asterix-license.ftl</template>
-              <outputFile>LICENSE</outputFile>
-            </generatedFile>
-          </generatedFiles>
           <location>repo/</location>
           <licenseMapOutputFile>${project.build.directory}/generated-resources/license_map.json</licenseMapOutputFile>
           <excludes>
diff --git a/asterixdb/asterix-hivecompat/src/main/appended-resources/META-INF/LICENSE b/asterixdb/asterix-hivecompat/src/main/appended-resources/META-INF/LICENSE
new file mode 100644
index 0000000..b0cc878
--- /dev/null
+++ b/asterixdb/asterix-hivecompat/src/main/appended-resources/META-INF/LICENSE
@@ -0,0 +1,9 @@
+===
+   AsterixDB includes source code with separate copyright notices and
+   license terms. Your use of this source code is subject to the terms
+   and condition of the following licenses.
+===
+   Source files org/apache/asterix/hivecompat/io/* are derived from portions
+   of Apache Hive Query Language v0.13.0 (org.apache.hive:hive-exec),
+   made available under The Apache License, Version 2.0:
+---
diff --git a/asterixdb/asterix-installer/pom.xml b/asterixdb/asterix-installer/pom.xml
index d0b84ae..c8aa0a8 100644
--- a/asterixdb/asterix-installer/pom.xml
+++ b/asterixdb/asterix-installer/pom.xml
@@ -54,13 +54,14 @@
           </execution>
         </executions>
         <configuration>
+          <templateRootDir>${basedir}/../src/main/licenses/templates</templateRootDir>
           <generatedFiles>
             <generatedFile>
-              <template>asterixdb/src/main/licenses/templates/asterix-license.ftl</template>
+              <template>asterix-license.ftl</template>
               <outputFile>LICENSE</outputFile>
             </generatedFile>
             <generatedFile>
-              <template>hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl</template>
+              <template>asterix-notice.ftl</template>
               <outputFile>NOTICE</outputFile>
             </generatedFile>
           </generatedFiles>
@@ -85,7 +86,6 @@
             <exclude>org.apache.hyracks:*</exclude>
           </excludes>
           <licenseDirectory>${basedir}/../src/main/licenses/content</licenseDirectory>
-          <templateRootDir>${basedir}/../../</templateRootDir>
           <dependencySets>
             <dependencySet>
               <includes>
@@ -132,6 +132,7 @@
             <packageName>Managix Install</packageName>
             <asterixAppLocation>repo/asterix-app-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip</asterixAppLocation>
             <hyracksControlCcLocation>repo/hyracks-control-cc-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip</hyracksControlCcLocation>
+            <hivecompatLocation>repo/asterix-hivecompat-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip</hivecompatLocation>
           </templateProperties>
         </configuration>
       </plugin>
diff --git a/asterixdb/asterix-license/pom.xml b/asterixdb/asterix-license/pom.xml
index 533b23e..e30fbc1 100644
--- a/asterixdb/asterix-license/pom.xml
+++ b/asterixdb/asterix-license/pom.xml
@@ -50,16 +50,17 @@
           </execution>
         </executions>
         <configuration>
-          <templateRootDir>${basedir}/../../</templateRootDir>
+          <templateRootDir>${basedir}/../src/main/licenses/templates</templateRootDir>
           <outputDir>${basedir}/..</outputDir>
           <location>ignored</location>
           <generatedFiles>
             <generatedFile>
-              <template>asterixdb/src/main/licenses/templates/asterix-source-license.ftl</template>
+              <template>asterix-source-license.ftl</template>
               <outputFile>LICENSE</outputFile>
             </generatedFile>
             <generatedFile>
-              <template>hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl</template>
+              <!-- TODO(mblow): share the template with hyracks as a maven artifact -->
+              <template>asterix-notice.ftl</template>
               <outputFile>NOTICE</outputFile>
             </generatedFile>
           </generatedFiles>
@@ -83,9 +84,9 @@
             </license>
           </licenses>
           <templateProperties>
-            <asterixAppLocation/>
             <asterixAppResourcesPrefix>asterix-app/src/main/resources/</asterixAppResourcesPrefix>
-            <packageName/>
+            <hivecompatPrefix>asterix-hivecompat/src/main/java/</hivecompatPrefix>
+            <packageName />
           </templateProperties>
         </configuration>
       </plugin>
diff --git a/asterixdb/asterix-server/pom.xml b/asterixdb/asterix-server/pom.xml
index de2e5e4..449f1e8 100644
--- a/asterixdb/asterix-server/pom.xml
+++ b/asterixdb/asterix-server/pom.xml
@@ -54,14 +54,14 @@
           </execution>
         </executions>
         <configuration>
-          <templateRootDir>${basedir}/../../</templateRootDir>
+          <templateRootDir>${basedir}/../src/main/licenses/templates</templateRootDir>
           <generatedFiles>
             <generatedFile>
-              <template>asterixdb/src/main/licenses/templates/asterix-license.ftl</template>
+              <template>asterix-license.ftl</template>
               <outputFile>LICENSE</outputFile>
             </generatedFile>
             <generatedFile>
-              <template>hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl</template>
+              <template>asterix-notice.ftl</template>
               <outputFile>NOTICE</outputFile>
             </generatedFile>
           </generatedFiles>
@@ -210,6 +210,7 @@
             <packageName>Server Install</packageName>
             <asterixAppLocation>repo/asterix-app-${project.version}.jar, within this assembly</asterixAppLocation>
             <hyracksControlCcLocation>repo/hyracks-control-cc-${project.version}.jar, within this assembly</hyracksControlCcLocation>
+            <hivecompatLocation>repo/asterix-hivecompat-${project.version}.jar, within this assembly</hivecompatLocation>
           </templateProperties>
         </configuration>
       </plugin>
diff --git a/asterixdb/asterix-server/src/main/samples/local/conf/blue.conf b/asterixdb/asterix-server/src/main/samples/local/conf/blue.conf
index 1dcedc8..1cb265e 100644
--- a/asterixdb/asterix-server/src/main/samples/local/conf/blue.conf
+++ b/asterixdb/asterix-server/src/main/samples/local/conf/blue.conf
@@ -1,2 +1,19 @@
+; 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.
+
 [ncservice]
 port=9091
diff --git a/asterixdb/asterix-server/src/main/samples/local/conf/cc.conf b/asterixdb/asterix-server/src/main/samples/local/conf/cc.conf
index b5f05d3..71b7514 100644
--- a/asterixdb/asterix-server/src/main/samples/local/conf/cc.conf
+++ b/asterixdb/asterix-server/src/main/samples/local/conf/cc.conf
@@ -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.
+
 [nc/red]
 txnlogdir=data/red/txnlog
 coredumpdir=data/red/coredump
diff --git a/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/cc.conf b/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/cc.conf
index c69873c..3f58362 100644
--- a/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/cc.conf
+++ b/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/cc.conf
@@ -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.
+
 [nc/asterix_nc1]
 txnlogdir=../asterix-server/target/tmp/asterix_nc1/txnlog
 coredumpdir=../asterix-server/target/tmp/asterix_nc1/coredump
diff --git a/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/ncservice1.conf b/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/ncservice1.conf
index fa44fa2..ba10142 100644
--- a/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/ncservice1.conf
+++ b/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/ncservice1.conf
@@ -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.
+
 [ncservice]
 logdir=../asterix-server/target/failsafe-reports
 
diff --git a/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/ncservice2.conf b/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/ncservice2.conf
index 53d8d9b..2036584 100644
--- a/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/ncservice2.conf
+++ b/asterixdb/asterix-server/src/test/resources/NCServiceExecutionIT/ncservice2.conf
@@ -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.
+
 [ncservice]
 logdir=../asterix-server/target/failsafe-reports
 port=9091
diff --git a/asterixdb/asterix-yarn/pom.xml b/asterixdb/asterix-yarn/pom.xml
index 32c33fb..462fbdc 100644
--- a/asterixdb/asterix-yarn/pom.xml
+++ b/asterixdb/asterix-yarn/pom.xml
@@ -98,13 +98,14 @@
           </execution>
         </executions>
         <configuration>
+          <templateRootDir>${basedir}/../src/main/licenses/templates</templateRootDir>
           <generatedFiles>
             <generatedFile>
-              <template>asterixdb/src/main/licenses/templates/asterix-license.ftl</template>
+              <template>asterix-license.ftl</template>
               <outputFile>LICENSE</outputFile>
             </generatedFile>
             <generatedFile>
-              <template>hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl</template>
+              <template>asterix-notice.ftl</template>
               <outputFile>NOTICE</outputFile>
             </generatedFile>
           </generatedFiles>
@@ -126,7 +127,6 @@
             <exclude>org.apache.hyracks:*</exclude>
           </excludes>
           <licenseDirectory>${basedir}/../src/main/licenses/content</licenseDirectory>
-          <templateRootDir>${basedir}/../../</templateRootDir>
           <dependencySets>
             <dependencySet>
               <includes>
@@ -186,6 +186,7 @@
             <packageName>YARN Install</packageName>
             <asterixAppLocation>repo/asterix-app-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip</asterixAppLocation>
             <hyracksControlCcLocation>repo/hyracks-control-cc-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip</hyracksControlCcLocation>
+            <hivecompatLocation>repo/asterix-hivecompat-${project.version}.jar, within asterix/asterix-server-${project.version}-binary-assembly.zip</hivecompatLocation>
           </templateProperties>
         </configuration>
       </plugin>
diff --git a/asterixdb/src/main/assembly/source.xml b/asterixdb/src/main/assembly/source.xml
index 97cf01f..34fc3e9 100644
--- a/asterixdb/src/main/assembly/source.xml
+++ b/asterixdb/src/main/assembly/source.xml
@@ -26,7 +26,7 @@
   <fileSets>
     <fileSet>
       <directory>${project.basedir}</directory>
-      <outputDirectory>/</outputDirectory>
+      <outputDirectory>.</outputDirectory>
       <useDefaultExcludes>true</useDefaultExcludes>
       <excludes>
         <exclude>**/${project.build.directory}/**</exclude>
@@ -34,14 +34,13 @@
         <exclude>release.properties</exclude>
         <exclude>asterix-app/src/test/resources/externallib/**</exclude>
         <exclude>asterix-installer/src/test/resources/clusterts/asterix-installer-*-binary-assembly/**</exclude>
-        <exclude>DEPENDENCIES</exclude>
       </excludes>
     </fileSet>
     <fileSet>
-      <directory>target/maven-shared-archive-resources/META-INF</directory>
-      <outputDirectory>/</outputDirectory>
+      <directory>asterix-app/target/classes</directory>
+      <outputDirectory>./asterix-app/src/main/resources/</outputDirectory>
       <includes>
-        <include>DEPENDENCIES*</include>
+        <include>git.properties</include>
       </includes>
     </fileSet>
   </fileSets>
diff --git a/asterixdb/src/main/licenses/templates/asterix-license.ftl b/asterixdb/src/main/licenses/templates/asterix-license.ftl
index 8b83c1f..31c94c4 100644
--- a/asterixdb/src/main/licenses/templates/asterix-license.ftl
+++ b/asterixdb/src/main/licenses/templates/asterix-license.ftl
@@ -17,9 +17,7 @@
  ! under the License.
 -->
 <@indent spaces=3>
-<#list licenseMap as e>
-  <#assign entry = e.getValue()/>
-  <#assign license = entry.getLicense()/>
+<#list licenses as license>
   <#if license.url == "http://www.apache.org/licenses/LICENSE-2.0.txt">
 ${license.content}
     <#break>
@@ -71,4 +69,5 @@
    and condition of the following licenses.
 ===
 <#include "source_licenses.ftl">
-<#include "../../../../../hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/source_licenses.ftl">
+<#-- TODO(mblow): consume hyracks license via maven artifact -->
+<#include "hyracks-fullstack_source_licenses.ftl">
diff --git a/asterixdb/src/main/licenses/templates/asterix-notice.ftl b/asterixdb/src/main/licenses/templates/asterix-notice.ftl
new file mode 100644
index 0000000..6c96c88
--- /dev/null
+++ b/asterixdb/src/main/licenses/templates/asterix-notice.ftl
@@ -0,0 +1,47 @@
+<#--
+ ! 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.
+-->
+<#-- TODO(mblow): share notice file template with hyracks via maven artifact -->
+<#if packageName?has_content>
+Apache AsterixDB ${packageName!}
+<#else>
+Apache AsterixDB
+</#if>
+Copyright 2015-2017 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+<#list noticeMap>
+
+AsterixDB utilizes many libraries, which come with the following applicable NOTICE(s):
+
+<#items as e>
+   <#assign noticeText = e.getKey()/>
+   <#assign projects = e.getValue()/>
+   <#list projects as p>
+       <#list p.locations as loc>
+- ${loc}${p.artifactId}-${p.version}.jar
+       </#list>
+   </#list>
+
+<@indent spaces=6>
+${noticeText}
+</@indent>
+
+</#items>
+</#list>
diff --git a/asterixdb/src/main/licenses/templates/hyracks-fullstack_source_licenses.ftl b/asterixdb/src/main/licenses/templates/hyracks-fullstack_source_licenses.ftl
new file mode 100644
index 0000000..bed7207
--- /dev/null
+++ b/asterixdb/src/main/licenses/templates/hyracks-fullstack_source_licenses.ftl
@@ -0,0 +1,190 @@
+<#--
+ ! 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.
+-->
+<#-- TODO(mblow): consume hyracks license via maven artifact
+     WARNING: THIS COPY MUST BE KEPT IN SYNC WITH HYRACKS FILE
+     (hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/source_licenses.ftl)
+-->
+<#macro license files component="Hyracks admin console" location="${hyracksControlCcLocation!}"
+                filePrefix="${hyracksControlCcResourcesPrefix!}"
+                licenseName="the following license">
+   Portions of the ${component}
+<#if location?has_content>
+       in: ${location}
+</#if>
+       located at:
+<#if files?is_sequence>
+<#list files as file>
+<#if file?counter < files?size>
+         ${filePrefix}${file},
+<#else>
+       and
+         ${filePrefix}${file}
+</#if>
+</#list>
+<#else>
+         ${filePrefix}${files}
+</#if>
+
+   are available under ${licenseName}:
+---
+<@indent spaces=3 unpad=true wrap=true>
+<#nested>
+</@indent>
+---
+</#macro>
+<@license files="static/javascript/flot/" licenseName="The MIT License">
+   Copyright (c) 2007-2014 IOLA and Ole Laursen
+
+   Permission is hereby granted, free of charge, to any person
+   obtaining a copy of this software and associated documentation
+   files (the "Software"), to deal in the Software without
+   restriction, including without limitation the rights to use,
+   copy, modify, merge, publish, distribute, sublicense, and/or sell
+   copies of the Software, and to permit persons to whom the
+   Software is furnished to do so, subject to the following
+   conditions:
+
+   The above copyright notice and this permission notice shall be
+   included in all copies or substantial portions of the Software.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+   OTHER DEALINGS IN THE SOFTWARE.
+</@license>
+<@license files="static/javascript/jsplumb/" licenseName="The MIT License">
+   Copyright (c) 2010 - 2014 jsPlumb, http://jsplumbtoolkit.com/
+
+   Permission is hereby granted, free of charge, to any person obtaining
+   a copy of this software and associated documentation files (the
+   "Software"), to deal in the Software without restriction, including
+   without limitation the rights to use, copy, modify, merge, publish,
+   distribute, sublicense, and/or sell copies of the Software, and to
+   permit persons to whom the Software is furnished to do so, subject to
+   the following conditions:
+
+   The above copyright notice and this permission notice shall be
+   included in all copies or substantial portions of the Software.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+   LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+   OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+   WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+</@license>
+<@license files=["static/javascript/jquery", "static/javascript/jquery-ui"] licenseName="The MIT License">
+   Copyright jQuery Foundation and other contributors, https://jquery.org/
+
+   This software consists of voluntary contributions made by many
+   individuals. For exact contribution history, see the revision history
+   available at https://github.com/jquery/jquery
+
+   The following license applies to all parts of this software except as
+   documented below:
+
+   ====
+
+   Permission is hereby granted, free of charge, to any person obtaining
+   a copy of this software and associated documentation files (the
+   "Software"), to deal in the Software without restriction, including
+   without limitation the rights to use, copy, modify, merge, publish,
+   distribute, sublicense, and/or sell copies of the Software, and to
+   permit persons to whom the Software is furnished to do so, subject to
+   the following conditions:
+
+   The above copyright notice and this permission notice shall be
+   included in all copies or substantial portions of the Software.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+   LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+   OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+   WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+   ====
+
+   All files located in the node_modules and external directories are
+   externally maintained libraries used by this software which have their
+   own licenses; we recommend you read them, as their terms may differ from
+   the terms above.
+</@license>
+<@license files="static/javascript/jquery/plugins/jquery.getParams.js" licenseName="The MIT License">
+   Copyright (c) 2006 Mathias Bank (http://www.mathias-bank.de)
+   Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
+   and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+
+   Thanks to Hinnerk Ruemenapf - http://hinnerk.ruemenapf.de/ for bug reporting and fixing.
+</@license>
+<@license files="static/javascript/jquery/plugins/jquery.timer.js" licenseName="The MIT License">
+   jquery.timer.js
+
+   Copyright (c) 2011 Jason Chavannes <jason.chavannes@gmail.com>
+
+   http://jchavannes.com/jquery-timer
+
+   Permission is hereby granted, free of charge, to any person
+   obtaining a copy of this software and associated documentation
+   files (the "Software"), to deal in the Software without
+   restriction, including without limitation the rights to use, copy,
+   modify, merge, publish, distribute, sublicense, and/or sell copies
+   of the Software, and to permit persons to whom the Software is
+   furnished to do so, subject to the following conditions:
+
+   The above copyright notice and this permission notice shall be
+   included in all copies or substantial portions of the Software.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+   BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+   ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+   CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+   SOFTWARE.
+</@license>
+<@license files=["static/stylesheet/json.human.css", "static/javascript/adminconsole/json.human.js"]
+          licenseName="The MIT License">
+   Copyright (c) 2015, Mariano Guerra
+
+   Permission is hereby granted, free of charge, to any person obtaining a copy
+   of this software and associated documentation files (the "Software"), to deal
+   in the Software without restriction, including without limitation the rights
+   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+   copies of the Software, and to permit persons to whom the Software is
+   furnished to do so, subject to the following conditions:
+
+   The above copyright notice and this permission notice shall be included in
+   all copies or substantial portions of the Software.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+   THE SOFTWARE.
+</@license>
diff --git a/asterixdb/src/main/licenses/templates/source_licenses.ftl b/asterixdb/src/main/licenses/templates/source_licenses.ftl
index 475c6ac..e13183c 100644
--- a/asterixdb/src/main/licenses/templates/source_licenses.ftl
+++ b/asterixdb/src/main/licenses/templates/source_licenses.ftl
@@ -222,3 +222,8 @@
     OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     THE SOFTWARE.
 </@license>
+<@license component="AsterixDB runtime" files="org/apache/asterix/hivecompat/io/*"
+          licenseName="The Apache License, Version 2.0"
+          location="${hivecompatLocation!}" filePrefix="${hivecompatPrefix!}">
+Source files in asterix-hivecompat are derived from portions of Apache Hive Query Language v0.13.0 (org.apache.hive:hive-exec).
+</@license>
diff --git a/hyracks-fullstack/hyracks-fullstack-license/pom.xml b/hyracks-fullstack/hyracks-fullstack-license/pom.xml
index 7105a5f..03aa434 100644
--- a/hyracks-fullstack/hyracks-fullstack-license/pom.xml
+++ b/hyracks-fullstack/hyracks-fullstack-license/pom.xml
@@ -50,16 +50,17 @@
           </execution>
         </executions>
         <configuration>
-          <templateRootDir>${basedir}</templateRootDir>
+          <templateRootDir>${basedir}/src/main/licenses/templates</templateRootDir>
           <outputDir>${basedir}/..</outputDir>
           <location>ignored</location>
           <generatedFiles>
             <generatedFile>
-              <template>src/main/licenses/templates/hyracks-source-license.ftl</template>
+              <template>hyracks-source-license.ftl</template>
               <outputFile>LICENSE</outputFile>
             </generatedFile>
             <generatedFile>
-              <template>src/main/licenses/templates/asterix-notice.ftl</template>
+              <!-- TODO(mblow): share the template with asterixdb as a maven artifact -->
+              <template>asterix-notice.ftl</template>
               <outputFile>NOTICE</outputFile>
             </generatedFile>
           </generatedFiles>
diff --git a/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl b/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl
index 61f732e..6b0570c 100644
--- a/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl
+++ b/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/asterix-notice.ftl
@@ -16,6 +16,7 @@
  ! specific language governing permissions and limitations
  ! under the License.
 -->
+<#-- TODO(mblow): share notice file template with asterixdb via maven artifact -->
 <#if packageName?has_content>
 Apache AsterixDB ${packageName!}
 <#else>
diff --git a/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/source_licenses.ftl b/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/source_licenses.ftl
index 24a47c6..d142630 100644
--- a/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/source_licenses.ftl
+++ b/hyracks-fullstack/hyracks-fullstack-license/src/main/licenses/templates/source_licenses.ftl
@@ -16,6 +16,10 @@
  ! specific language governing permissions and limitations
  ! under the License.
 -->
+<#-- TODO(mblow): consume hyracks license via maven artifact
+     WARNING: THIS FILE MUST BE KEPT IN SYNC WITH COPY IN ASTERIXDB
+     (asterixdb/src/main/licenses/templates/hyracks-fullstack_source_licenses.ftl)
+-->
 <#macro license files component="Hyracks admin console" location="${hyracksControlCcLocation!}"
                 filePrefix="${hyracksControlCcResourcesPrefix!}"
                 licenseName="the following license">
diff --git a/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/cc.conf b/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/cc.conf
index 25ac530..2339efb 100644
--- a/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/cc.conf
+++ b/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/cc.conf
@@ -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.
+
 [nc/red]
 address=127.0.0.1
 
diff --git a/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/nc-blue.conf b/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/nc-blue.conf
index 1cd1666..9ddf4df 100644
--- a/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/nc-blue.conf
+++ b/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/nc-blue.conf
@@ -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.
+
 [ncservice]
 address=127.0.0.1
 port=9091
diff --git a/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/nc-red.conf b/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/nc-red.conf
index 74b49b0..f854479 100644
--- a/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/nc-red.conf
+++ b/hyracks-fullstack/hyracks/hyracks-server/src/test/resources/NCServiceIT/nc-red.conf
@@ -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.
+
 [ncservice]
 address=127.0.0.1
 port=9090
