Index: .arcconfig
===================================================================
--- .arcconfig	(revision 1184)
+++ .arcconfig	(working copy)
@@ -3,5 +3,6 @@
   "lint_engine": "InfoarenaLintEngine",
   "phutil_libraries": {
     "lint": "lint/"
-  }
+  },
+  "copyright_holder": "Infoarena"
 }
Index: common/task.php
===================================================================
--- common/task.php	(revision 1184)
+++ common/task.php	(working copy)
@@ -1,4 +1,21 @@
 <?php
+
+/*
+ * Copyright 2012 Infoarena
+ *
+ * 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.
+ */
+
 require_once(IA_ROOT_DIR . "common/textblock.php");
 
 // This module implements task and task-param related stuff.
@@ -176,9 +193,9 @@ function task_parse_test_group($string, $test_count) {
         if (count($tests) < 1 || count($tests) > 2) {
             return false;
         }
-        foreach ($tests as &$test) {
-            $test = trim($test);
-            if (!is_whole_number($test)) {
+        foreach ($tests as &$single_test) {
+            $single_test = trim($single_test);
+            if (!is_whole_number($single_test)) {
                 return false;
             }
         }
@@ -235,8 +252,8 @@ function task_get_testgroups($task) {
         if (!$current_group) {
             return false;
         }
-        foreach ($current_group as $test) {
-            $used_count[$test]++;
+        foreach ($current_group as $single_test) {
+            $used_count[$single_test]++;
         }
         $testgroups[] = $current_group;
     }
Index: lint/engine/InfoarenaLintEngine.php
===================================================================
--- lint/engine/InfoarenaLintEngine.php	(revision 1184)
+++ lint/engine/InfoarenaLintEngine.php	(working copy)
@@ -144,15 +144,14 @@ final class InfoarenaLintEngine extends ArcanistLintEngine {
         }
 
         $license_linter = new ArcanistApacheLicenseLinter();
-        $linters[] = $license_linter;
         foreach ($paths as $path) {
-            if (preg_match('/\.(php|cpp|hpp|l|y)$/', $path)) {
-                if (!preg_match('@^externals/@', $path)) {
-                    $license_linter->addPath($path);
-                    $license_linter->addData($path, $this->loadData($path));
-                }
+            if (preg_match('/\.(php|cpp|hpp|l|y)$/', $path) &&
+                    !$this -> isLintFile($path)) {
+                $license_linter->addPath($path);
+                $license_linter->addData($path, $this->loadData($path));
             }
         }
+        $linters[] = $license_linter;
 
         return $linters;
     }
@@ -173,4 +172,7 @@ final class InfoarenaLintEngine extends ArcanistLintEngine {
         return preg_match('@^www/views/@', $path);
     }
 
+    private function isLintFile($path) {
+        return preg_match('@^lint/@', $path);
+    }
 }
Index: www/controllers/login.php
===================================================================
--- www/controllers/login.php	(revision 1184)
+++ www/controllers/login.php	(working copy)
@@ -1,5 +1,21 @@
 <?php
 
+/*
+ * Copyright 2012 Infoarena
+ *
+ * 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.
+ */
+
 require_once(IA_ROOT_DIR . "common/db/user.php");
 
 function controller_login() {
Index: www/controllers/register.php
===================================================================
--- www/controllers/register.php	(revision 1184)
+++ www/controllers/register.php	(working copy)
@@ -1,5 +1,21 @@
 <?php
 
+/*
+ * Copyright 2012 Infoarena
+ *
+ * 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.
+ */
+
 require_once(IA_ROOT_DIR . 'common/db/user.php');
 require_once(IA_ROOT_DIR . 'common/db/smf.php');
 require_once(IA_ROOT_DIR . 'www/controllers/account_validator.php');
Index: www/controllers/user.php
===================================================================
--- www/controllers/user.php	(revision 1184)
+++ www/controllers/user.php	(working copy)
@@ -1,5 +1,21 @@
 <?php
 
+/*
+ * Copyright 2012 Infoarena
+ *
+ * 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.
+ */
+
 require_once(IA_ROOT_DIR."common/textblock.php");
 require_once(IA_ROOT_DIR."common/db/textblock.php");
 require_once(IA_ROOT_DIR."common/db/user.php");
Index: www/format/format.php
===================================================================
--- www/format/format.php	(revision 1184)
+++ www/format/format.php	(working copy)
@@ -1,5 +1,21 @@
 <?php
 
+/*
+ * Copyright 2012 Infoarena
+ *
+ * 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.
+ */
+
 require_once(IA_ROOT_DIR."common/db/user.php");
 require_once(IA_ROOT_DIR."common/user.php");
 require_once(IA_ROOT_DIR."common/rating.php");
Index: www/macros/macro_userinfo.php
===================================================================
--- www/macros/macro_userinfo.php	(revision 1184)
+++ www/macros/macro_userinfo.php	(working copy)
@@ -1,5 +1,21 @@
 <?php
 
+/*
+ * Copyright 2012 Infoarena
+ *
+ * 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.
+ */
+
 require_once(IA_ROOT_DIR."common/db/user.php");
 require_once(IA_ROOT_DIR."www/format/format.php");
 
Index: www/url.php
===================================================================
--- www/url.php	(revision 1184)
+++ www/url.php	(working copy)
@@ -1,5 +1,21 @@
 <?php
 
+/*
+ * Copyright 2012 Infoarena
+ *
+ * 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.
+ */
+
 require_once(IA_ROOT_DIR . 'www/config.php');
 require_once(IA_ROOT_DIR . 'common/common.php');
 
Index: www/views/header.php
===================================================================
--- www/views/header.php	(revision 1184)
+++ www/views/header.php	(working copy)
@@ -1,5 +1,21 @@
 <?php
 
+/*
+ * Copyright 2012 Infoarena
+ *
+ * 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.
+ */
+
 require_once(IA_ROOT_DIR.'www/views/sitewide.php');
 require_once(IA_ROOT_DIR.'www/views/utilities.php');
 require_once(IA_ROOT_DIR.'www/macros/macro_calendar.php');
