diff --git a/actions/upgrade.go b/actions/upgrade.go
index 52d54e9dce32b26ca47bfc4fe641196eb718a0a9..1f4ee5890ad45716466238bf7fabc25a98255829 100644
--- a/actions/upgrade.go
+++ b/actions/upgrade.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The ksonnet authors
+//
+//
+//    Licensed 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 actions
 
 import (
diff --git a/client/client_test.go b/client/client_test.go
index d474510f6ac4982c6c6932a00c14f9e3aa13721a..0c84cab7993f1fd6ce46598d189cd7d65f5d5601 100644
--- a/client/client_test.go
+++ b/client/client_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The ksonnet authors
+//
+//
+//    Licensed 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 client
 
 import (
diff --git a/cmd/init_test.go b/cmd/init_test.go
index 228e6b69672c9aefa25e5bb7d23da50db0a8ae8e..9136dd31209ab825e6cffc5810e4258ae8cf9c4e 100644
--- a/cmd/init_test.go
+++ b/cmd/init_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 cmd
 
 import "testing"
diff --git a/cmd/registry.go b/cmd/registry.go
index 898c0b52d8f7544c5178048f44d6ce5d536198ab..32ec425f38430e806c079d2a43e30fd60bac507e 100644
--- a/cmd/registry.go
+++ b/cmd/registry.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 cmd
 
 import (
diff --git a/e2e/app.go b/e2e/app.go
index e3f4a2ddb3337d29263d0fe006becbdaa87bb1ee..cb22acab94087db97648c7738d60f3bec2b0dcab 100644
--- a/e2e/app.go
+++ b/e2e/app.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 e2e
 
 import "path/filepath"
diff --git a/e2e/component_test.go b/e2e/component_test.go
index d73f7293991ffbc4b2c98811eea981f6f209041b..f3e7a0e96d14c7fdf7276b7ca72894d3e7ca9627 100644
--- a/e2e/component_test.go
+++ b/e2e/component_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build e2e
 
 package e2e
diff --git a/e2e/e2e.go b/e2e/e2e.go
index 94116a8c50ebe59dcf4cb8161628cba4790b05dd..7b919decd0143591408e0fe9653c90f8a2209ab8 100644
--- a/e2e/e2e.go
+++ b/e2e/e2e.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 e2e
 
 import (
diff --git a/e2e/e2e_suite_test.go b/e2e/e2e_suite_test.go
index 4b9a997ce3168c446bea75745d7585d8967b6dee..c5e2adf2cc79add3af21270ea49ad3e682f1cb8e 100644
--- a/e2e/e2e_suite_test.go
+++ b/e2e/e2e_suite_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build e2e
 
 package e2e
diff --git a/e2e/env_test.go b/e2e/env_test.go
index df3e7bc1733a65d9874f4262e7a4b79c49743fa2..8a730a6ecf3a71d01dbba1e44f9addf626653113 100644
--- a/e2e/env_test.go
+++ b/e2e/env_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build e2e
 
 package e2e
diff --git a/e2e/generate_test.go b/e2e/generate_test.go
index bbaaa2fa36206cae797a015aa31e2e703fd8fd64..22949142f4fcfe99179704d256eef90d8e894458 100644
--- a/e2e/generate_test.go
+++ b/e2e/generate_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build e2e
 
 package e2e
diff --git a/e2e/helpers.go b/e2e/helpers.go
index 57b5b5677dd128cc4172c95de1fab9cb0d9e6f7e..a0d4e779862e88ac108c65c4936d3b40a5414247 100644
--- a/e2e/helpers.go
+++ b/e2e/helpers.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 e2e
 
 import (
diff --git a/e2e/output.go b/e2e/output.go
index 5037d51ec94c892c163d9a314d15058b82879c72..f6e855ffc533ca937b843adda7b5ccb537841333 100644
--- a/e2e/output.go
+++ b/e2e/output.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 e2e
 
 import (
diff --git a/e2e/param_test.go b/e2e/param_test.go
index d238c9bed3e55dede9148e4fd02bcf28ec39e7ed..f84bde6ddbc4a75ad9d4ac676d7dcc60c63d2817 100644
--- a/e2e/param_test.go
+++ b/e2e/param_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build e2e
 
 package e2e
diff --git a/e2e/pkg_test.go b/e2e/pkg_test.go
index cb007f4c6555df3520bdd36abddb75710645c7c0..94b58a80c287f27f65a901ff3d8afe9e55647893 100644
--- a/e2e/pkg_test.go
+++ b/e2e/pkg_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build e2e
 
 package e2e
diff --git a/e2e/prototype_test.go b/e2e/prototype_test.go
index 12c22f46e622cf511c39b8486acee5048610e766..e54967b6be749019fb38f8fc5d10eedae278f1cb 100644
--- a/e2e/prototype_test.go
+++ b/e2e/prototype_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build e2e
 
 package e2e
diff --git a/e2e/registry_test.go b/e2e/registry_test.go
index 855052f23d3e8bd69afad4c3bdae6ef0ad84ad9f..44fa9b94f43307fd7bbb972e974e0322ad3075f0 100644
--- a/e2e/registry_test.go
+++ b/e2e/registry_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build e2e
 
 package e2e
diff --git a/e2e/show_test.go b/e2e/show_test.go
index b9ae9ff62d413f709391b2b5c1b406268e1b9793..9a443d584e175e40bf5ad09fb5b41bb8ef326803 100644
--- a/e2e/show_test.go
+++ b/e2e/show_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build e2e
 
 package e2e
diff --git a/e2e/strings.go b/e2e/strings.go
index a008d113446013b107329e2cf60cd541d574708d..d86f4e9aaa27b2aae35ad46a08aa8ae2e8f3899d 100644
--- a/e2e/strings.go
+++ b/e2e/strings.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 e2e
 
 import (
diff --git a/e2e/version_test.go b/e2e/version_test.go
index 898ad74b24b33ef18b7356a2eca4952b1fd4a9a9..0d30b640721d21af939408385b152b5802d1823b 100644
--- a/e2e/version_test.go
+++ b/e2e/version_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build e2e
 
 package e2e
diff --git a/env/create.go b/env/create.go
index 8a047fa362c3ba9551788f640507609bcca730cd..bdcdc2edd361500061d09f8e43a3e051c22de3c4 100644
--- a/env/create.go
+++ b/env/create.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/env/create_test.go b/env/create_test.go
index 398edc8cfdb0a03c8904bf94882775908ceea724..6ad2d17b6deb2ecdad43f2bdc0f67b8d0fd8d203 100644
--- a/env/create_test.go
+++ b/env/create_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/env/delete.go b/env/delete.go
index 4779b6e0f78b12fe0125cb72ca85d3abd1bde18a..6c9d7af539a1db0d340e49c61934a1ef080e7b37 100644
--- a/env/delete.go
+++ b/env/delete.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/env/delete_test.go b/env/delete_test.go
index 403cc50756d4235006ffa1944bd5d1572e053feb..76d44f607db26e0a83c845be5b322443bc44cb10 100644
--- a/env/delete_test.go
+++ b/env/delete_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/env/destination.go b/env/destination.go
index ba2312e1453aed4e0c74f2c63231fad4f4e197ea..71a3c4f9422dcd33a7c58294c2c7810223347a0d 100644
--- a/env/destination.go
+++ b/env/destination.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import "encoding/json"
diff --git a/env/env.go b/env/env.go
index ba1beec525be2cd91c2c28da0bc554f766bc28d8..6a168e45de7f295cd5bd5ae3961a1838ef03eaac 100644
--- a/env/env.go
+++ b/env/env.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/env/env_test.go b/env/env_test.go
index 6a6e74f63bf745d459350253e8eea226729d7df0..980f0756711a01f67c4fc0803304dfe45bcf86a9 100644
--- a/env/env_test.go
+++ b/env/env_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/env/params.go b/env/params.go
index b17add27c3e646cc68d47fc566ac5da039f524c7..6eb30160cb7ea6e6a732f6edf0f490e9267f2d93 100644
--- a/env/params.go
+++ b/env/params.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/env/params_test.go b/env/params_test.go
index 8b09b39cf9afbf327c86b21b37b90f7a92e177e4..cd57e77b29002b30bbaf181d725851473622b6f1 100644
--- a/env/params_test.go
+++ b/env/params_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/env/rename.go b/env/rename.go
index 753c803a951c692688a2e7463c4ac42424623b34..c82d14b2b75a9b3a3b1e7d7cdd0c0cf9760e34d8 100644
--- a/env/rename.go
+++ b/env/rename.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/env/rename_test.go b/env/rename_test.go
index abb410f0cb0cdfd4d1ebeb9a8155ca049b2e43af..60c04e011f3fe96fdb1f9ebff5f0902f527b86e4 100644
--- a/env/rename_test.go
+++ b/env/rename_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/env/util_test.go b/env/util_test.go
index fb2420943a729649b18bb01bacd0733494354653..1e7d1716868efea65ad1e48b7e6c4615e0d74f0d 100644
--- a/env/util_test.go
+++ b/env/util_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 env
 
 import (
diff --git a/generator/ksonnet.go b/generator/ksonnet.go
index 2933d3768221a87f34ccdb90d9b815a46cfe9315..8e9b7dd4c7070078152670d502eddb598f346faf 100644
--- a/generator/ksonnet.go
+++ b/generator/ksonnet.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 generator
 
 import (
diff --git a/generator/ksonnet_test.go b/generator/ksonnet_test.go
index c2cb990dc75a6a936b5bb99ddb6e0393c806f050..6083ad33ccd2d4182b2cb193e72b1ed65f50487b 100644
--- a/generator/ksonnet_test.go
+++ b/generator/ksonnet_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 generator
 
 import (
diff --git a/integration/apply_test.go b/integration/apply_test.go
index c64f23cfdfbac486b095adf4d0dbe0a8585ed455..62d0cd643d861205cf242e071ea9e6d88cd9017c 100644
--- a/integration/apply_test.go
+++ b/integration/apply_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build integration
 
 package integration
diff --git a/integration/delete_test.go b/integration/delete_test.go
index 97183e58a2526e5876193e0f5a0730c8a55bdc02..3abee95f2b21e857b7927b788b471821f81b7fd8 100644
--- a/integration/delete_test.go
+++ b/integration/delete_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build integration
 
 package integration
diff --git a/integration/integration_suite_test.go b/integration/integration_suite_test.go
index 363b342fb0846c94de74a953f5d9eca5becefb17..f0d282ede6c1405296294b475419b7dae6670a71 100644
--- a/integration/integration_suite_test.go
+++ b/integration/integration_suite_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build integration
 
 package integration
diff --git a/integration/kubeflags_test.go b/integration/kubeflags_test.go
index 89603618dd8b20824e3d8cec9c8c3b0a34bc9bbe..79318832217dc738909fc81cf26e5243f102a65a 100644
--- a/integration/kubeflags_test.go
+++ b/integration/kubeflags_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
 // +build integration
 
 package integration
diff --git a/license_test.go b/license_test.go
new file mode 100644
index 0000000000000000000000000000000000000000..e04a98278a41586c75908a7fdab8d969dfb16725
--- /dev/null
+++ b/license_test.go
@@ -0,0 +1,82 @@
+// Copyright 2018 The ksonnet authors
+//
+//
+//    Licensed 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 main
+
+import (
+	"bytes"
+	"io/ioutil"
+	"os"
+	"path/filepath"
+	"strings"
+	"testing"
+)
+
+const sentinel = `// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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.
+
+`
+
+const prefix = "// Copyright "
+
+var skippedPrefixes = []string{
+	"vendor",
+	"pkg/docparser",
+}
+
+func TestLicenseHeader(t *testing.T) {
+	err := filepath.Walk(".", func(path string, fi os.FileInfo, err error) error {
+		if err != nil {
+			return err
+		}
+
+		for _, skipped := range skippedPrefixes {
+			if strings.HasPrefix(path, skipped) {
+				return nil
+			}
+		}
+
+		if filepath.Ext(path) != ".go" {
+			return nil
+		}
+
+		src, err := ioutil.ReadFile(path)
+		if err != nil {
+			return nil
+		}
+
+		// Also check it is at the top of the file.
+		if !bytes.HasPrefix(src, []byte(prefix)) {
+			t.Errorf("%v: license header not at the top", path)
+		}
+
+		return nil
+	})
+	if err != nil {
+		t.Fatal(err)
+	}
+}
diff --git a/metadata/app/app.go b/metadata/app/app.go
index 9e3b0a8cc3918f72867661b12267520284806c87..ecc3bc924188244bb3842857ce13a72a72483f3f 100644
--- a/metadata/app/app.go
+++ b/metadata/app/app.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 app
 
 import (
diff --git a/metadata/app/app001.go b/metadata/app/app001.go
index 5c3f0babda157854d19b7c65c4ae8f24a75cd6a3..470c19d6e51dd578c4691d04802afb50425610d7 100644
--- a/metadata/app/app001.go
+++ b/metadata/app/app001.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 app
 
 import (
diff --git a/metadata/app/app001_test.go b/metadata/app/app001_test.go
index 88903feda9a4d012244675f7dfc365fdb565d1f5..0c780924e919819f03b7e508ebf1db7881423352 100644
--- a/metadata/app/app001_test.go
+++ b/metadata/app/app001_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 app
 
 import (
diff --git a/metadata/app/app010.go b/metadata/app/app010.go
index 1e34704c46fd95199a3ea638c1e3e7063d67daa6..d4cdc08c9746646d76af4b8d898e001a87328fd0 100644
--- a/metadata/app/app010.go
+++ b/metadata/app/app010.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 app
 
 import (
diff --git a/metadata/app/app010_test.go b/metadata/app/app010_test.go
index 3623693d7a26de8da50f61b0ece38feb608240af..dbccc236bec1ad960ef0445e7a45a90d6d34282c 100644
--- a/metadata/app/app010_test.go
+++ b/metadata/app/app010_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 app
 
 import (
diff --git a/metadata/app/helpers_test.go b/metadata/app/helpers_test.go
index da40858a39cb2f6d62574411b5e76324ca89d1bc..3bf85ee68978f6eefd92484a480b9d8745af7cc0 100644
--- a/metadata/app/helpers_test.go
+++ b/metadata/app/helpers_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 app
 
 import (
diff --git a/metadata/app/mocks/App.go b/metadata/app/mocks/App.go
index b866ea748cd539da6f83c4186e3a1dded8cc962b..ef6012af666e1e97cf090f35aa777a49618384f3 100644
--- a/metadata/app/mocks/App.go
+++ b/metadata/app/mocks/App.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 mockery v1.0.0
 package mocks
 
diff --git a/metadata/registry.go b/metadata/registry.go
index 87a097929e7edbb7d399cf4fcc3b9cf86f68b659..99df3ed59416b24542f2894cb4cdfd122b968657 100644
--- a/metadata/registry.go
+++ b/metadata/registry.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 metadata
 
 import (
diff --git a/metadata/registry/interface.go b/metadata/registry/interface.go
index 6a3457379f2aee59dc0b9655384259b297108b83..a379fda928553ef5ad9214bf0fe9d1c7d6df5ba5 100644
--- a/metadata/registry/interface.go
+++ b/metadata/registry/interface.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 registry
 
 import (
diff --git a/metadata/registry_managers.go b/metadata/registry_managers.go
index 9a8d5ac4b395ccf517df370e9b264a3e12058488..6719be79d8bacb9cc74559a4609c9879915ab1c0 100644
--- a/metadata/registry_managers.go
+++ b/metadata/registry_managers.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 metadata
 
 import (
diff --git a/metadata/registry_test.go b/metadata/registry_test.go
index 5c8926867ebd4c10321d76b2f06c955d66c818fa..01cef9b8b94c6a2100937dd5453e217b0e09069c 100644
--- a/metadata/registry_test.go
+++ b/metadata/registry_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 metadata
 
 import (
diff --git a/pkg/kubecfg/apply.go b/pkg/kubecfg/apply.go
index 6e49db65ff171f87f52ed30246c51f8730024c08..ca35f7e561b0013a615510f0d948b9204166fdd4 100644
--- a/pkg/kubecfg/apply.go
+++ b/pkg/kubecfg/apply.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 kubecfg
 
 import (
diff --git a/pkg/kubecfg/apply_test.go b/pkg/kubecfg/apply_test.go
index 8645d8621e9a4fcda94a80ca1a63f6b25504225d..9bd4b994ee1621ecdf826436d8eafeeb369e31e4 100644
--- a/pkg/kubecfg/apply_test.go
+++ b/pkg/kubecfg/apply_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 kubecfg
 
 import (
diff --git a/pkg/kubecfg/init.go b/pkg/kubecfg/init.go
index f61ddea0b07c7d944492feccb5dc74c4ec00a5d7..efe08c56216d5be3632c2ad8aa66a83e6c0f5a03 100644
--- a/pkg/kubecfg/init.go
+++ b/pkg/kubecfg/init.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 kubecfg
 
 import (
diff --git a/pkg/util/jsonnet/import.go b/pkg/util/jsonnet/import.go
index 56015d9bd9000c50819687046ea498a84176ba52..abc7a2ca9ba2d52d818081c5d5ebbb07984b0e34 100644
--- a/pkg/util/jsonnet/import.go
+++ b/pkg/util/jsonnet/import.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 jsonnet
 
 import (
diff --git a/pkg/util/jsonnet/import_test.go b/pkg/util/jsonnet/import_test.go
index b0dee6fed5c1ad518551b43395ca9d113e96e856..749e13127b89531a09a04b347a22bcafdd399b2a 100644
--- a/pkg/util/jsonnet/import_test.go
+++ b/pkg/util/jsonnet/import_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 jsonnet
 
 import (
diff --git a/pkg/util/jsonnet/object.go b/pkg/util/jsonnet/object.go
index 6062d75f77de9074af10fb54a00a5311d0a23c04..3c6158ceedf2ccca178eec13bf96cc2428468676 100644
--- a/pkg/util/jsonnet/object.go
+++ b/pkg/util/jsonnet/object.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 jsonnet
 
 import (
diff --git a/pkg/util/jsonnet/object_test.go b/pkg/util/jsonnet/object_test.go
index 126e62242ba7a163d95a374314c2ea1f85b087f0..73d44ef26195a841221537304c8e18df471bce41 100644
--- a/pkg/util/jsonnet/object_test.go
+++ b/pkg/util/jsonnet/object_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 jsonnet
 
 import (
diff --git a/plugin/plugin.go b/plugin/plugin.go
index 89d686723f02b0bf8e941bd4ef52344899d15086..21eff9ce9e418bc129b68f1f7433f1a4c844c0dc 100644
--- a/plugin/plugin.go
+++ b/plugin/plugin.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 plugin
 
 import (
diff --git a/plugin/plugin_test.go b/plugin/plugin_test.go
index 21078ca49a927a4d919ebf5de56ad1fde6a8034e..b951cd1e3c67a57ade898ec4734acd5f694ac311 100644
--- a/plugin/plugin_test.go
+++ b/plugin/plugin_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 plugin
 
 import (
diff --git a/prototype/index.go b/prototype/index.go
index 9c2cd0faa6e98a235d0a15e06c1719116134a0c1..76ce2088962efd9b15239dc098a54609bf7507b0 100644
--- a/prototype/index.go
+++ b/prototype/index.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 prototype
 
 import (
diff --git a/prototype/interface.go b/prototype/interface.go
index e4a7d00e3ec43eea86c97a81ea45706fef589a3d..d831225e3aa0fe92f3d48df207c55d5ad428288b 100644
--- a/prototype/interface.go
+++ b/prototype/interface.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 prototype
 
 import "github.com/ghodss/yaml"
diff --git a/prototype/prototype_test.go b/prototype/prototype_test.go
index 620696300c79000751bb5d64599942414a34ba31..575e06c9e74481354fc827b23ce6dbe9712624da 100644
--- a/prototype/prototype_test.go
+++ b/prototype/prototype_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 prototype
 
 import (
diff --git a/prototype/snippet/interface.go b/prototype/snippet/interface.go
index fe51230b82ee5becff7126e10fc2e8a88ebbcc41..efb297a62e832b9a5fb29eb0a2d68d4db5bcfff8 100644
--- a/prototype/snippet/interface.go
+++ b/prototype/snippet/interface.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 snippet provides primitives for parsing and evaluating TextMate
 // snippets. In general, snippets are text with "placeholders" for the user to
 // fill in. For example something like "foo ${bar}" would expect the user to
diff --git a/prototype/snippet/lexer.go b/prototype/snippet/lexer.go
index acd930f72af7fac757b3f43dd13b9b7c6116b231..a2cf77195713b49f1a1500da75ac68abf71ba052 100644
--- a/prototype/snippet/lexer.go
+++ b/prototype/snippet/lexer.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 snippet
 
 type tokenType int
diff --git a/prototype/snippet/marker.go b/prototype/snippet/marker.go
index c038f080abcd93a01cc402793e543692b03a823d..e5e267173a9f3a0e7972186b3941bbacb0ae66b3 100644
--- a/prototype/snippet/marker.go
+++ b/prototype/snippet/marker.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 snippet
 
 import "bytes"
diff --git a/prototype/snippet/parser.go b/prototype/snippet/parser.go
index cee058c146c39fc10cefb29ac78e6e399a2dd8bc..a2e407c2906908529463d51246ce2ec80bf76431 100644
--- a/prototype/snippet/parser.go
+++ b/prototype/snippet/parser.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 snippet
 
 import (
diff --git a/prototype/snippet/parser_test.go b/prototype/snippet/parser_test.go
index ee8952d294e6dde08e38ab2f46905a056959d244..ad3e3e28738b54a40b9b085cf9782f4ecd11e326 100644
--- a/prototype/snippet/parser_test.go
+++ b/prototype/snippet/parser_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 snippet
 
 import (
diff --git a/prototype/snippet/template.go b/prototype/snippet/template.go
index 7f64f3441c375ae4fa86765cd966888788a40d5b..21289dcb2bef8fc49a1434f1f5de563da43c68ad 100644
--- a/prototype/snippet/template.go
+++ b/prototype/snippet/template.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 snippet
 
 type textmateSnippet struct {
diff --git a/prototype/snippet/util.go b/prototype/snippet/util.go
index 22109fb1299076c81c7da295f4fd3e2122868bca..eac5ed4b04a740c83badf6bdb7658c4717046ec6 100644
--- a/prototype/snippet/util.go
+++ b/prototype/snippet/util.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 snippet
 
 func compareByIndex(a placeholder, b placeholder) int {
diff --git a/prototype/specification.go b/prototype/specification.go
index 2302b63591a7ca966b2fa3f04258e19c44cf511e..7df294c8a5c8c4759b4122c5cf16824f1416a81c 100644
--- a/prototype/specification.go
+++ b/prototype/specification.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 prototype
 
 import (
diff --git a/prototype/systemPrototypes.go b/prototype/systemPrototypes.go
index d9c437e9ddf4fd07bfa8f030063a245d0e1f9817..0e58d878d2296d754fa00a74194bd26388d2ff86 100644
--- a/prototype/systemPrototypes.go
+++ b/prototype/systemPrototypes.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 prototype
 
 var defaultPrototypes = []*SpecificationSchema{
diff --git a/template/expander.go b/template/expander.go
index 6ec4e7a605be5af3644625e6c070a31a97551097..bd08d7346d55be3d080c7044455b3ebd04cb64a9 100644
--- a/template/expander.go
+++ b/template/expander.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 template
 
 import (
diff --git a/template/resolver.go b/template/resolver.go
index ff9457c627e8ff62475b2ea6a59cc00624bc53e6..398909abeb26cc97bd6c76dd52553c6abb25a821 100644
--- a/template/resolver.go
+++ b/template/resolver.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 template
 
 import (
diff --git a/utils/meta.go b/utils/meta.go
index 9548969b2c3e36769012ebbb44da8ec651509f25..482cfdf826d085bb888fb9019d8478dbc88ebcc1 100644
--- a/utils/meta.go
+++ b/utils/meta.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 utils
 
 import (
diff --git a/utils/meta_test.go b/utils/meta_test.go
index ac570c5ef104f83d24bca33f293554201ac40ce6..2d5f12f2854a118313082f8a84857483b16ac37d 100644
--- a/utils/meta_test.go
+++ b/utils/meta_test.go
@@ -1,3 +1,18 @@
+// Copyright 2018 The kubecfg authors
+//
+//
+//    Licensed 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 utils
 
 import (