diff --git a/control-panel/cp-frontend/e2e/protractor.conf.js b/control-panel/cp-frontend/e2e/protractor.conf.js
index 7c798cf..be10ec9 100644
--- a/control-panel/cp-frontend/e2e/protractor.conf.js
+++ b/control-panel/cp-frontend/e2e/protractor.conf.js
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ */
+
 // @ts-check
 // Protractor configuration file, see link for more information
 // https://github.com/angular/protractor/blob/master/lib/config.ts
@@ -29,4 +48,4 @@
     });
     jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
   }
-};
\ No newline at end of file
+};
diff --git a/control-panel/cp-frontend/karma.conf.js b/control-panel/cp-frontend/karma.conf.js
index f468e2c..c30a9d6 100644
--- a/control-panel/cp-frontend/karma.conf.js
+++ b/control-panel/cp-frontend/karma.conf.js
@@ -1,3 +1,21 @@
+/*
+ * 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. */
+
 // Karma configuration file, see link for more information
 // https://karma-runner.github.io/1.0/config/configuration-file.html
 
diff --git a/control-panel/cp-frontend/src/app/app.component.html b/control-panel/cp-frontend/src/app/app.component.html
index 0680b43..fa0016d 100644
--- a/control-panel/cp-frontend/src/app/app.component.html
+++ b/control-panel/cp-frontend/src/app/app.component.html
@@ -1 +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.
+-->
+
 <router-outlet></router-outlet>
diff --git a/control-panel/cp-frontend/src/app/author/author.component.html b/control-panel/cp-frontend/src/app/author/author.component.html
index 11985db..0676f62 100644
--- a/control-panel/cp-frontend/src/app/author/author.component.html
+++ b/control-panel/cp-frontend/src/app/author/author.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <div class="author-scope">
   <mat-card style="margin: 5vh auto;width: 200px;">
     <mat-card-header>
diff --git a/control-panel/cp-frontend/src/app/pages/auth/components/login-form/login-form.component.html b/control-panel/cp-frontend/src/app/pages/auth/components/login-form/login-form.component.html
index de29e0c..084bafc 100644
--- a/control-panel/cp-frontend/src/app/pages/auth/components/login-form/login-form.component.html
+++ b/control-panel/cp-frontend/src/app/pages/auth/components/login-form/login-form.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <form class="form" [formGroup]="form" (ngSubmit)="login()">
   <mat-form-field class="form__input">
     <input matInput placeholder="Email Address" type="email" formControlName="email">
diff --git a/control-panel/cp-frontend/src/app/pages/auth/containers/auth-page/auth-page.component.html b/control-panel/cp-frontend/src/app/pages/auth/containers/auth-page/auth-page.component.html
index 9072b56..cbc979e 100644
--- a/control-panel/cp-frontend/src/app/pages/auth/containers/auth-page/auth-page.component.html
+++ b/control-panel/cp-frontend/src/app/pages/auth/containers/auth-page/auth-page.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <div class="auth-page">
   <div class="auth-page__content-block">
     <div class="auth-page__content-wrapper">
diff --git a/control-panel/cp-frontend/src/app/pages/instance-list/components/instances-table/instances-table.component.html b/control-panel/cp-frontend/src/app/pages/instance-list/components/instances-table/instances-table.component.html
index 0cf3893..823d5ec 100644
--- a/control-panel/cp-frontend/src/app/pages/instance-list/components/instances-table/instances-table.component.html
+++ b/control-panel/cp-frontend/src/app/pages/instance-list/components/instances-table/instances-table.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <mat-card class="employee-table-wrapper">
   <mat-card-title class="employee-table-wrapper__header">
     <p *ngIf="!isShowFilterInput" class="employee-table-wrapper__title">Instance List</p>
diff --git a/control-panel/cp-frontend/src/app/pages/instance-list/containers/instance-list-page/instance-list-page.component.html b/control-panel/cp-frontend/src/app/pages/instance-list/containers/instance-list-page/instance-list-page.component.html
index 47dc533..4e2ceef 100644
--- a/control-panel/cp-frontend/src/app/pages/instance-list/containers/instance-list-page/instance-list-page.component.html
+++ b/control-panel/cp-frontend/src/app/pages/instance-list/containers/instance-list-page/instance-list-page.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <app-layout>
   <mat-toolbar class="page-header" role="heading">
     <h1>Service List</h1>
diff --git a/control-panel/cp-frontend/src/app/pages/not-found/not-found.component.html b/control-panel/cp-frontend/src/app/pages/not-found/not-found.component.html
index da67949..715cd66 100644
--- a/control-panel/cp-frontend/src/app/pages/not-found/not-found.component.html
+++ b/control-panel/cp-frontend/src/app/pages/not-found/not-found.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <div class="not-found-page">
   <div class="not-found-page__content">
     <div class="not-found-page__title">
diff --git a/control-panel/cp-frontend/src/app/pages/service-detail/components/swagger-ui/swagger-ui.component.css b/control-panel/cp-frontend/src/app/pages/service-detail/components/swagger-ui/swagger-ui.component.css
index e69de29..a0fcb3c 100644
--- a/control-panel/cp-frontend/src/app/pages/service-detail/components/swagger-ui/swagger-ui.component.css
+++ b/control-panel/cp-frontend/src/app/pages/service-detail/components/swagger-ui/swagger-ui.component.css
@@ -0,0 +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.
+ */
+
diff --git a/control-panel/cp-frontend/src/app/pages/service-detail/components/swagger-ui/swagger-ui.component.html b/control-panel/cp-frontend/src/app/pages/service-detail/components/swagger-ui/swagger-ui.component.html
index 6ab59d7..5672bbf 100644
--- a/control-panel/cp-frontend/src/app/pages/service-detail/components/swagger-ui/swagger-ui.component.html
+++ b/control-panel/cp-frontend/src/app/pages/service-detail/components/swagger-ui/swagger-ui.component.html
@@ -1 +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.
+-->
+
 <div class="swagger-container"></div>
diff --git a/control-panel/cp-frontend/src/app/pages/service-detail/containers/service-detail-page/service-detail-page.component.html b/control-panel/cp-frontend/src/app/pages/service-detail/containers/service-detail-page/service-detail-page.component.html
index fb203a8..667e6d8 100644
--- a/control-panel/cp-frontend/src/app/pages/service-detail/containers/service-detail-page/service-detail-page.component.html
+++ b/control-panel/cp-frontend/src/app/pages/service-detail/containers/service-detail-page/service-detail-page.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <app-layout>
   <mat-toolbar class="page-header" role="heading">
     <h1>Service {{service.serviceName}} {{service.version}}</h1>
diff --git a/control-panel/cp-frontend/src/app/pages/service-list/components/services-table/services-table.component.html b/control-panel/cp-frontend/src/app/pages/service-list/components/services-table/services-table.component.html
index 021b42b..0fe7dff 100644
--- a/control-panel/cp-frontend/src/app/pages/service-list/components/services-table/services-table.component.html
+++ b/control-panel/cp-frontend/src/app/pages/service-list/components/services-table/services-table.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <mat-card class="employee-table-wrapper">
   <mat-card-title class="employee-table-wrapper__header">
     <p *ngIf="!isShowFilterInput" class="employee-table-wrapper__title">Service List</p>
diff --git a/control-panel/cp-frontend/src/app/pages/service-list/containers/service-list-page/service-list-page.component.html b/control-panel/cp-frontend/src/app/pages/service-list/containers/service-list-page/service-list-page.component.html
index 95ff31d..2684b8e 100644
--- a/control-panel/cp-frontend/src/app/pages/service-list/containers/service-list-page/service-list-page.component.html
+++ b/control-panel/cp-frontend/src/app/pages/service-list/containers/service-list-page/service-list-page.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <app-layout>
   <mat-toolbar class="page-header" role="heading">
     <h1>Instance List</h1>
diff --git a/control-panel/cp-frontend/src/app/pages/service-overview/components/service-overview/service-overview.component.html b/control-panel/cp-frontend/src/app/pages/service-overview/components/service-overview/service-overview.component.html
index fad806f..08c127b 100644
--- a/control-panel/cp-frontend/src/app/pages/service-overview/components/service-overview/service-overview.component.html
+++ b/control-panel/cp-frontend/src/app/pages/service-overview/components/service-overview/service-overview.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <mat-card class="visits-chart">
   <mat-card-title class="visits-chart__header">
     <h5 class="visits-chart__title"><span
diff --git a/control-panel/cp-frontend/src/app/pages/service-overview/containers/service-overview-page/service-overview-page.component.html b/control-panel/cp-frontend/src/app/pages/service-overview/containers/service-overview-page/service-overview-page.component.html
index d42d215..634903f 100644
--- a/control-panel/cp-frontend/src/app/pages/service-overview/containers/service-overview-page/service-overview-page.component.html
+++ b/control-panel/cp-frontend/src/app/pages/service-overview/containers/service-overview-page/service-overview-page.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <app-layout>
   <mat-toolbar class="page-header" role="heading">
     <h1>Service Overview</h1>
diff --git a/control-panel/cp-frontend/src/app/pages/topology/containers/topology-page/topology-page.component.html b/control-panel/cp-frontend/src/app/pages/topology/containers/topology-page/topology-page.component.html
index a81ee5f..2442d53 100644
--- a/control-panel/cp-frontend/src/app/pages/topology/containers/topology-page/topology-page.component.html
+++ b/control-panel/cp-frontend/src/app/pages/topology/containers/topology-page/topology-page.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <app-layout>
   <mat-toolbar class="page-header" role="heading">
     <h1>Topology</h1>
diff --git a/control-panel/cp-frontend/src/app/shared/components/api-short/api-short.component.html b/control-panel/cp-frontend/src/app/shared/components/api-short/api-short.component.html
index afc236f..fecc766 100644
--- a/control-panel/cp-frontend/src/app/shared/components/api-short/api-short.component.html
+++ b/control-panel/cp-frontend/src/app/shared/components/api-short/api-short.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <div class="api-wrapper" [matTooltip]="apiModel.overview" matTooltipPosition="after" matTooltipClass="tooltipBreakLine">
   <div class="api-wrapper__method">{{apiModel.method}}</div>
   <div class="api-wrapper__path">{{apiModel.shortPath}}</div>
diff --git a/control-panel/cp-frontend/src/app/shared/footer/footer.component.html b/control-panel/cp-frontend/src/app/shared/footer/footer.component.html
index 30bd45c..f095075 100644
--- a/control-panel/cp-frontend/src/app/shared/footer/footer.component.html
+++ b/control-panel/cp-frontend/src/app/shared/footer/footer.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <div class="footer">
   <div class="footer__link">
     <a class="footer__link-item" [href]="portal">Portal</a>
diff --git a/control-panel/cp-frontend/src/app/shared/header/components/notifications/notifications.component.html b/control-panel/cp-frontend/src/app/shared/header/components/notifications/notifications.component.html
index 0e8c69b..4a0e286 100644
--- a/control-panel/cp-frontend/src/app/shared/header/components/notifications/notifications.component.html
+++ b/control-panel/cp-frontend/src/app/shared/header/components/notifications/notifications.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <button class="notification-button" mat-mini-fab [matMenuTriggerFor]="bell">
   <mat-icon matBadge="3" matBadgeColor="warn" class="notification-button__icon">notifications_none</mat-icon>
 </button>
diff --git a/control-panel/cp-frontend/src/app/shared/header/components/search/search.component.html b/control-panel/cp-frontend/src/app/shared/header/components/search/search.component.html
index ff37442..b634826 100644
--- a/control-panel/cp-frontend/src/app/shared/header/components/search/search.component.html
+++ b/control-panel/cp-frontend/src/app/shared/header/components/search/search.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <div class="search" (click)="showInput()" [ngClass]="{'show-search-input': isShowInput}">
   <mat-icon class="search-icon" [ngClass]="{'open-search': isShowInput}">search</mat-icon>
   <input *ngIf="isShowInput" class="search-input" placeholder="Search...">
diff --git a/control-panel/cp-frontend/src/app/shared/header/containers/header/header.component.html b/control-panel/cp-frontend/src/app/shared/header/containers/header/header.component.html
index 934b612..539fa0e 100644
--- a/control-panel/cp-frontend/src/app/shared/header/containers/header/header.component.html
+++ b/control-panel/cp-frontend/src/app/shared/header/containers/header/header.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <mat-toolbar class="header">
 
   <div class="header__title">
diff --git a/control-panel/cp-frontend/src/app/shared/layout/layout.component.html b/control-panel/cp-frontend/src/app/shared/layout/layout.component.html
index b882ce3..b27929b 100644
--- a/control-panel/cp-frontend/src/app/shared/layout/layout.component.html
+++ b/control-panel/cp-frontend/src/app/shared/layout/layout.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <app-header (isShowSidebar)="sidenav.toggle($event)" [isMenuOpened]="isShowSidebar"></app-header>
 
 <mat-sidenav-container class="layout">
diff --git a/control-panel/cp-frontend/src/app/shared/sidebar/sidebar.component.html b/control-panel/cp-frontend/src/app/shared/sidebar/sidebar.component.html
index f7700e2..7d14648 100644
--- a/control-panel/cp-frontend/src/app/shared/sidebar/sidebar.component.html
+++ b/control-panel/cp-frontend/src/app/shared/sidebar/sidebar.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <mat-list>
   <mat-list-item routerLink="{{routes.OVERVIEW}}" routerLinkActive="active">
     <mat-icon>home</mat-icon>
diff --git a/control-panel/cp-frontend/src/app/shared/ui-elements/edit-kie-conf-dialog/edit-kie-conf-dialog.component.css b/control-panel/cp-frontend/src/app/shared/ui-elements/edit-kie-conf-dialog/edit-kie-conf-dialog.component.css
index e69de29..a0fcb3c 100644
--- a/control-panel/cp-frontend/src/app/shared/ui-elements/edit-kie-conf-dialog/edit-kie-conf-dialog.component.css
+++ b/control-panel/cp-frontend/src/app/shared/ui-elements/edit-kie-conf-dialog/edit-kie-conf-dialog.component.css
@@ -0,0 +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.
+ */
+
diff --git a/control-panel/cp-frontend/src/app/shared/ui-elements/edit-kie-conf-dialog/edit-kie-conf-dialog.component.html b/control-panel/cp-frontend/src/app/shared/ui-elements/edit-kie-conf-dialog/edit-kie-conf-dialog.component.html
index 3ca52be..3709c65 100644
--- a/control-panel/cp-frontend/src/app/shared/ui-elements/edit-kie-conf-dialog/edit-kie-conf-dialog.component.html
+++ b/control-panel/cp-frontend/src/app/shared/ui-elements/edit-kie-conf-dialog/edit-kie-conf-dialog.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <h1 mat-dialog-title>Edit Kie Config</h1>
 <div mat-dialog-content>
   <mat-form-field appearance="fill" style="width:98%;">
diff --git a/control-panel/cp-frontend/src/app/shared/ui-elements/settings-menu/settings-menu.component.html b/control-panel/cp-frontend/src/app/shared/ui-elements/settings-menu/settings-menu.component.html
index 11833c4..7340396 100644
--- a/control-panel/cp-frontend/src/app/shared/ui-elements/settings-menu/settings-menu.component.html
+++ b/control-panel/cp-frontend/src/app/shared/ui-elements/settings-menu/settings-menu.component.html
@@ -1,3 +1,22 @@
+<!--
+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.
+-->
+
 <button class="settings-button" mat-mini-fab [matMenuTriggerFor]="settings">
   <mat-icon class="settings-button__icon">more_vert</mat-icon>
 </button>
diff --git a/control-panel/cp-frontend/src/index.html b/control-panel/cp-frontend/src/index.html
index 84bead7..9d89574 100644
--- a/control-panel/cp-frontend/src/index.html
+++ b/control-panel/cp-frontend/src/index.html
@@ -1,3 +1,22 @@
+<!--
+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>
 <html lang="en">
 <head>
diff --git a/docs/make.bat b/docs/make.bat
index 7893348..b22444b 100644
--- a/docs/make.bat
+++ b/docs/make.bat
@@ -1,3 +1,19 @@
+rem Licensed to the Apache Software Foundation (ASF) under one
+rem or more contributor license agreements.  See the NOTICE file
+rem distributed with this work for additional information
+rem regarding copyright ownership.  The ASF licenses this file
+rem to you under the Apache License, Version 2.0 (the
+rem "License"); you may not use this file except in compliance
+rem with the License.  You may obtain a copy of the License at
+rem 
+rem   http://www.apache.org/licenses/LICENSE-2.0
+rem 
+rem Unless required by applicable law or agreed to in writing,
+rem software distributed under the License is distributed on an
+rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+rem KIND, either express or implied.  See the License for the
+rem specific language governing permissions and limitations
+rem under the License.
 @ECHO OFF
 
 pushd %~dp0
diff --git a/docs/release/Readme.md b/docs/release/Readme.md
index ff07c61..9f6867a 100644
--- a/docs/release/Readme.md
+++ b/docs/release/Readme.md
@@ -18,19 +18,19 @@
 ```
 
 ```
-wget http://mirrors.hust.edu.cn/apache//creadur/apache-rat-0.12/apache-rat-0.12-bin.tar.gz
+wget http://mirrors.hust.edu.cn/apache//creadur/apache-rat-0.13/apache-rat-0.13-bin.tar.gz
 
 # Untar the release
-tar -xvf apache-rat-0.12-bin.tar.gz
+tar -xvf apache-rat-0.13-bin.tar.gz
 
 # Copy the jar in the root directory
-cp  apache-rat-0.12/apache-rat-0.12.jar ./
+cp  apache-rat-0.13/apache-rat-0.13.jar ./
 ```
 ##### Step 2
 Run the Rat tool using the below command
 
 ```
-java -jar apache-rat-0.12.jar -a -d servicecomb-service-center/ -e *.md *.MD .gitignore .gitmodules .travis.yml manifest **vendor** **licenses** bower.json cert_pwd *.cer *.tpl glide.yaml go.mod go.sum
+java -jar apache-rat-0.13.jar -a -d servicecomb-service-center/ -e '(.+(\.svg|\.md|\.MD|\.gitignore|\.gitmodules|\.cer|\.tpl))|(vendor|licenses|bower.json|cert_pwd|glide.yaml|go.mod|go.sum)'
 ```
 
 Below is the list of the files which has been excluded from the list of RAT tool.
@@ -41,6 +41,7 @@
  - cert_pwd server.cer trust.cer :  Skip ssl files
  - *.tpl : Ignore template files
  - glide.yaml go.mod go.sum : Skip dependency config files 
-You can access the latest RAT report [here](/rat-report)  
+
+You can access the latest RAT report [here](rat-report)  
  
  
diff --git a/scripts/ci/formatChecker.sh b/scripts/ci/formatChecker.sh
old mode 100755
new mode 100644
index fa37751..5b44fb8
--- a/scripts/ci/formatChecker.sh
+++ b/scripts/ci/formatChecker.sh
@@ -1,3 +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.
 diff -u <(echo -n) <(find . -name "*.go" -not -path "./vendor/*" -not -path ".git/*" | xargs gofmt -s -d)
 if [ $? == 0 ]; then
 	echo "Hurray....all code is formatted properly..."
diff --git a/scripts/ci/goCycloChecker.sh b/scripts/ci/goCycloChecker.sh
old mode 100755
new mode 100644
index 113ef99..5066c38
--- a/scripts/ci/goCycloChecker.sh
+++ b/scripts/ci/goCycloChecker.sh
@@ -1,3 +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.
 diff -u <(echo -n) <(find . -name "*.go" -not -path "./vendor/*" -not -path ".git/*" -not -path "./third_party/*" | grep -v _test | xargs gocyclo -over 16)
 if [ $? == 0 ]; then
 	echo "All function has less cyclomatic complexity..."
diff --git a/scripts/ci/misspellChecker.sh b/scripts/ci/misspellChecker.sh
old mode 100755
new mode 100644
index 7ff9760..504d894
--- a/scripts/ci/misspellChecker.sh
+++ b/scripts/ci/misspellChecker.sh
@@ -1,3 +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.
 diff -u <(echo -n) <(find . -type f -not -path "./vendor/*" -not -path "./third_party/*" -print0 | xargs -0 misspell)
 if [ $? == 0 ]; then
 	echo "No Misspell found"
diff --git a/server/handler/accesslog/handler_test.go b/server/handler/accesslog/handler_test.go
index 91fa136..89e4368 100644
--- a/server/handler/accesslog/handler_test.go
+++ b/server/handler/accesslog/handler_test.go
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ */
+
 package accesslog_test
 
 import (
diff --git a/server/rest/controller/v4/auth_resource_test.go b/server/rest/controller/v4/auth_resource_test.go
index 3b483df..738326f 100644
--- a/server/rest/controller/v4/auth_resource_test.go
+++ b/server/rest/controller/v4/auth_resource_test.go
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ */
+
 package v4_test
 
 import (
diff --git a/server/service/auth/etcd/etcd_test.go b/server/service/auth/etcd/etcd_test.go
index ce35eb5..7e2b418 100644
--- a/server/service/auth/etcd/etcd_test.go
+++ b/server/service/auth/etcd/etcd_test.go
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ */
+
 package etcd
 
 import (
diff --git a/server/service/auth/etcd/key_generator.go b/server/service/auth/etcd/key_generator.go
index 486dba8..d2c83bb 100644
--- a/server/service/auth/etcd/key_generator.go
+++ b/server/service/auth/etcd/key_generator.go
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ */
+
 package etcd
 
 import "github.com/apache/servicecomb-service-center/pkg/util"
diff --git a/server/service/auth/etcd/key_generator_test.go b/server/service/auth/etcd/key_generator_test.go
index 4fe7a66..80d4a3a 100644
--- a/server/service/auth/etcd/key_generator_test.go
+++ b/server/service/auth/etcd/key_generator_test.go
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ */
+
 package etcd
 
 import (
diff --git a/server/service/lock/etcd/etcd_test.go b/server/service/lock/etcd/etcd_test.go
index 99a6d06..23ce36d 100644
--- a/server/service/lock/etcd/etcd_test.go
+++ b/server/service/lock/etcd/etcd_test.go
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ */
+
 package etcd
 
 import (
diff --git a/syncer/proto/syncer.pb.go b/syncer/proto/syncer.pb.go
index e21c6d2..d6ca36a 100644
--- a/syncer/proto/syncer.pb.go
+++ b/syncer/proto/syncer.pb.go
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ */
+
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // source: syncer.proto
 
