diff --git a/web/gui/src/main/webapp/_bripc/show-icons-test.js b/web/gui/src/main/webapp/_bripc/show-icons-test.js
index 7fe44e4..2a1fa7f 100644
--- a/web/gui/src/main/webapp/_bripc/show-icons-test.js
+++ b/web/gui/src/main/webapp/_bripc/show-icons-test.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Showing Icons Test Module
-
- @author Bri Prebilic Cole
  */
 
 (function () {
diff --git a/web/gui/src/main/webapp/_bripc/show-icons.html b/web/gui/src/main/webapp/_bripc/show-icons.html
index 0394793..b932158 100644
--- a/web/gui/src/main/webapp/_bripc/show-icons.html
+++ b/web/gui/src/main/webapp/_bripc/show-icons.html
@@ -17,8 +17,6 @@
 
 <!--
   ONOS -- Displaying icons with Angular test page
-
-  @author Bri Prebilic Cole
   -->
 
 <html>
diff --git a/web/gui/src/main/webapp/_sdh/checkmark-xmark-icon.html b/web/gui/src/main/webapp/_sdh/checkmark-xmark-icon.html
index bb94ad0..00b3650 100644
--- a/web/gui/src/main/webapp/_sdh/checkmark-xmark-icon.html
+++ b/web/gui/src/main/webapp/_sdh/checkmark-xmark-icon.html
@@ -17,8 +17,6 @@
 
 <!--
   ONOS -- Embedded checkmarks and xmarks in table page
-
-  @author Bri Prebilic Cole
   -->
 <html>
 <head>
diff --git a/web/gui/src/main/webapp/_sdh/embedded-icon.html b/web/gui/src/main/webapp/_sdh/embedded-icon.html
index 44fd260..a4dba6f 100644
--- a/web/gui/src/main/webapp/_sdh/embedded-icon.html
+++ b/web/gui/src/main/webapp/_sdh/embedded-icon.html
@@ -17,9 +17,6 @@
 
 <!--
   ONOS -- Embedded icon test page
-
-  @author Simon Hunt
-  @author Bri Prebilic Cole
   -->
 <html>
 <head>
diff --git a/web/gui/src/main/webapp/_sdh/glyphs.html b/web/gui/src/main/webapp/_sdh/glyphs.html
index 835d946..589ef07 100644
--- a/web/gui/src/main/webapp/_sdh/glyphs.html
+++ b/web/gui/src/main/webapp/_sdh/glyphs.html
@@ -16,9 +16,7 @@
   -->
 
 <!--
-  ONOS -- Glyphs library test page
-
-  @author Simon Hunt
+  ONOS -- Glyphs library test page (old version)
   -->
 <html>
 <head>
diff --git a/web/gui/src/main/webapp/_sdh/oblique.html b/web/gui/src/main/webapp/_sdh/oblique.html
index 1724786..e54d18f 100644
--- a/web/gui/src/main/webapp/_sdh/oblique.html
+++ b/web/gui/src/main/webapp/_sdh/oblique.html
@@ -18,8 +18,6 @@
 <!--
   Testing transformations for transitioning between overhead and
   perspective projections of two layers.
-
-  @author Simon Hunt
   -->
 <html>
 <head>
diff --git a/web/gui/src/main/webapp/app/common.css b/web/gui/src/main/webapp/app/common.css
index 4253efa..5187d52 100644
--- a/web/gui/src/main/webapp/app/common.css
+++ b/web/gui/src/main/webapp/app/common.css
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- common -- CSS file
-
- @author Simon Hunt
- @author Bri Prebilic Cole
  */
 
 table.summary-list {
diff --git a/web/gui/src/main/webapp/app/directives.js b/web/gui/src/main/webapp/app/directives.js
index 9cbcf6d..bdaded8 100644
--- a/web/gui/src/main/webapp/app/directives.js
+++ b/web/gui/src/main/webapp/app/directives.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Our own Angular directives defined here.
-
- @author Simon Hunt
  */
 
 (function () {
diff --git a/web/gui/src/main/webapp/app/fw/mast/mast.css b/web/gui/src/main/webapp/app/fw/mast/mast.css
index 33c6959..38baba1 100644
--- a/web/gui/src/main/webapp/app/fw/mast/mast.css
+++ b/web/gui/src/main/webapp/app/fw/mast/mast.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Masthead -- CSS file
-
- @author Simon Hunt
  */
 
 #mast {
diff --git a/web/gui/src/main/webapp/app/fw/mast/mast.js b/web/gui/src/main/webapp/app/fw/mast/mast.js
index 3705d89..6b08b1c 100644
--- a/web/gui/src/main/webapp/app/fw/mast/mast.js
+++ b/web/gui/src/main/webapp/app/fw/mast/mast.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Masthead Module
-
- @author Simon Hunt
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/nav/nav.css b/web/gui/src/main/webapp/app/fw/nav/nav.css
index 02d32f7..4e9ff56 100644
--- a/web/gui/src/main/webapp/app/fw/nav/nav.css
+++ b/web/gui/src/main/webapp/app/fw/nav/nav.css
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- Navigation -- CSS file
-
- @author Simon Hunt
- @author Bri Prebilic Cole
  */
 
 #nav {
diff --git a/web/gui/src/main/webapp/app/fw/nav/nav.js b/web/gui/src/main/webapp/app/fw/nav/nav.js
index 7ab6981..aaa431d 100644
--- a/web/gui/src/main/webapp/app/fw/nav/nav.js
+++ b/web/gui/src/main/webapp/app/fw/nav/nav.js
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- Navigation Module
-
- @author Simon Hunt
- @author Bri Prebilic Cole
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/remote/remote.js b/web/gui/src/main/webapp/app/fw/remote/remote.js
index b0f4848..453d08f 100644
--- a/web/gui/src/main/webapp/app/fw/remote/remote.js
+++ b/web/gui/src/main/webapp/app/fw/remote/remote.js
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- Remote Communications Module
-
- @author Bri Prebilic Cole
- @author Simon Hunt
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/remote/rest.js b/web/gui/src/main/webapp/app/fw/remote/rest.js
index 920d07e..eeca1f4 100644
--- a/web/gui/src/main/webapp/app/fw/remote/rest.js
+++ b/web/gui/src/main/webapp/app/fw/remote/rest.js
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- Remote Communications Module -- REST Service
-
- @author Bri Prebilic Cole
- @author Simon Hunt
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/remote/urlfn.js b/web/gui/src/main/webapp/app/fw/remote/urlfn.js
index 4aa88ed..1301ea3 100644
--- a/web/gui/src/main/webapp/app/fw/remote/urlfn.js
+++ b/web/gui/src/main/webapp/app/fw/remote/urlfn.js
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- Remote -- General Purpose Functions
-
- @author Simon Hunt
- @author Bri Prebilic Cole
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/svg/geodata.js b/web/gui/src/main/webapp/app/fw/svg/geodata.js
index 4d3c4a2..98e0724 100644
--- a/web/gui/src/main/webapp/app/fw/svg/geodata.js
+++ b/web/gui/src/main/webapp/app/fw/svg/geodata.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- SVG -- GeoData Service
-
- @author Simon Hunt
  */
 
 /*
diff --git a/web/gui/src/main/webapp/app/fw/svg/glyph.js b/web/gui/src/main/webapp/app/fw/svg/glyph.js
index 4f020ee..31bc260 100644
--- a/web/gui/src/main/webapp/app/fw/svg/glyph.js
+++ b/web/gui/src/main/webapp/app/fw/svg/glyph.js
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- SVG -- Glyph Service
-
- @author Simon Hunt
- @author Bri Prebilic Cole
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/svg/icon.js b/web/gui/src/main/webapp/app/fw/svg/icon.js
index aade3a7..3cb00bb 100644
--- a/web/gui/src/main/webapp/app/fw/svg/icon.js
+++ b/web/gui/src/main/webapp/app/fw/svg/icon.js
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- SVG -- Icon Service
-
- @author Simon Hunt
- @author Bri Prebilic Cole
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/svg/map.js b/web/gui/src/main/webapp/app/fw/svg/map.js
index 759f372..f44ffe0 100644
--- a/web/gui/src/main/webapp/app/fw/svg/map.js
+++ b/web/gui/src/main/webapp/app/fw/svg/map.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- SVG -- Map Service
-
- @author Simon Hunt
  */
 
 /*
diff --git a/web/gui/src/main/webapp/app/fw/svg/svg.js b/web/gui/src/main/webapp/app/fw/svg/svg.js
index ba400bd..8fd441f 100644
--- a/web/gui/src/main/webapp/app/fw/svg/svg.js
+++ b/web/gui/src/main/webapp/app/fw/svg/svg.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Scalable Vector Graphics Module
-
- @author Simon Hunt
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/svg/zoom.js b/web/gui/src/main/webapp/app/fw/svg/zoom.js
index 09c8455..8995cad 100644
--- a/web/gui/src/main/webapp/app/fw/svg/zoom.js
+++ b/web/gui/src/main/webapp/app/fw/svg/zoom.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- SVG -- Zoom Service
-
- @author Simon Hunt
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/util/fn.js b/web/gui/src/main/webapp/app/fw/util/fn.js
index 5858e5a..cf9e737 100644
--- a/web/gui/src/main/webapp/app/fw/util/fn.js
+++ b/web/gui/src/main/webapp/app/fw/util/fn.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Util -- General Purpose Functions
-
- @author Simon Hunt
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/util/keys.js b/web/gui/src/main/webapp/app/fw/util/keys.js
index c17feaf..d163292 100644
--- a/web/gui/src/main/webapp/app/fw/util/keys.js
+++ b/web/gui/src/main/webapp/app/fw/util/keys.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Util -- Key Handler Service
-
- @author Simon Hunt
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/util/theme.js b/web/gui/src/main/webapp/app/fw/util/theme.js
index bbfe44d..022ac0c 100644
--- a/web/gui/src/main/webapp/app/fw/util/theme.js
+++ b/web/gui/src/main/webapp/app/fw/util/theme.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Util -- Theme Service
-
- @author Simon Hunt
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/fw/util/util.js b/web/gui/src/main/webapp/app/fw/util/util.js
index 681605e..dc3b09c 100644
--- a/web/gui/src/main/webapp/app/fw/util/util.js
+++ b/web/gui/src/main/webapp/app/fw/util/util.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Utilities Module
-
- @author Simon Hunt
  */
 (function () {
     'use strict';
diff --git a/web/gui/src/main/webapp/app/onos.css b/web/gui/src/main/webapp/app/onos.css
index 40a5c03..cfa03d3 100644
--- a/web/gui/src/main/webapp/app/onos.css
+++ b/web/gui/src/main/webapp/app/onos.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- core -- CSS file
-
- @author Simon Hunt
  */
 
 html {
diff --git a/web/gui/src/main/webapp/app/onos.js b/web/gui/src/main/webapp/app/onos.js
index 9f07b5e..53cb436 100644
--- a/web/gui/src/main/webapp/app/onos.js
+++ b/web/gui/src/main/webapp/app/onos.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Main Application Module
-
- @author Simon Hunt
  */
 
 (function () {
diff --git a/web/gui/src/main/webapp/app/view/device/device.css b/web/gui/src/main/webapp/app/view/device/device.css
index eb5ede0..5dee1f8 100644
--- a/web/gui/src/main/webapp/app/view/device/device.css
+++ b/web/gui/src/main/webapp/app/view/device/device.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Sample View -- CSS file
-
- @author Simon Hunt
  */
 
 #ov-device {
diff --git a/web/gui/src/main/webapp/app/view/device/device.js b/web/gui/src/main/webapp/app/view/device/device.js
index 6fef470..c59944a 100644
--- a/web/gui/src/main/webapp/app/view/device/device.js
+++ b/web/gui/src/main/webapp/app/view/device/device.js
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- Sample View Module
-
- @author Simon Hunt
- @author Bri Prebilic Cole
  */
 
 (function () {
diff --git a/web/gui/src/main/webapp/app/view/sample/sample.css b/web/gui/src/main/webapp/app/view/sample/sample.css
index b58f62e..375a564 100644
--- a/web/gui/src/main/webapp/app/view/sample/sample.css
+++ b/web/gui/src/main/webapp/app/view/sample/sample.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Sample View -- CSS file
-
- @author Simon Hunt
  */
 
 #ov-sample .msg {
diff --git a/web/gui/src/main/webapp/app/view/sample/sample.js b/web/gui/src/main/webapp/app/view/sample/sample.js
index a7559c2..116ff13 100644
--- a/web/gui/src/main/webapp/app/view/sample/sample.js
+++ b/web/gui/src/main/webapp/app/view/sample/sample.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Sample View Module
-
- @author Simon Hunt
  */
 
 (function () {
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.css b/web/gui/src/main/webapp/app/view/topo/topo.css
index 51ef5ad..1685e13 100644
--- a/web/gui/src/main/webapp/app/view/topo/topo.css
+++ b/web/gui/src/main/webapp/app/view/topo/topo.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Topology View -- CSS file
-
- @author Simon Hunt
  */
 
 .light #ov-topo svg {
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.js b/web/gui/src/main/webapp/app/view/topo/topo.js
index cb0c44e..d185dc1 100644
--- a/web/gui/src/main/webapp/app/view/topo/topo.js
+++ b/web/gui/src/main/webapp/app/view/topo/topo.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Topology View Module
-
- @author Simon Hunt
  */
 
 (function () {
diff --git a/web/gui/src/main/webapp/base.css b/web/gui/src/main/webapp/base.css
index 62a6da4..bc5b240 100644
--- a/web/gui/src/main/webapp/base.css
+++ b/web/gui/src/main/webapp/base.css
@@ -16,8 +16,6 @@
 
 /*
  Base CSS file
-
- @author Simon Hunt
  */
 
 html {
diff --git a/web/gui/src/main/webapp/d3Utils.css b/web/gui/src/main/webapp/d3Utils.css
index 778ce2c..a0167d3 100644
--- a/web/gui/src/main/webapp/d3Utils.css
+++ b/web/gui/src/main/webapp/d3Utils.css
@@ -16,8 +16,6 @@
 
 /*
  D3 Utilities CSS file
-
- @author Simon Hunt
  */
 
 #d3u .light.norm.c1 {
diff --git a/web/gui/src/main/webapp/d3Utils.js b/web/gui/src/main/webapp/d3Utils.js
index 42e371c..00ca887 100644
--- a/web/gui/src/main/webapp/d3Utils.js
+++ b/web/gui/src/main/webapp/d3Utils.js
@@ -16,8 +16,6 @@
 
 /*
  Utility functions for D3 visualizations.
-
- @author Simon Hunt
  */
 
 (function (onos) {
diff --git a/web/gui/src/main/webapp/glyphs.js b/web/gui/src/main/webapp/glyphs.js
index f04b74b..9f8b461 100644
--- a/web/gui/src/main/webapp/glyphs.js
+++ b/web/gui/src/main/webapp/glyphs.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS -- SVG Glyphs Library.
-
- @author Simon Hunt
  */
 
 
diff --git a/web/gui/src/main/webapp/index.html b/web/gui/src/main/webapp/index.html
index 0b5ad61..24ff66f 100644
--- a/web/gui/src/main/webapp/index.html
+++ b/web/gui/src/main/webapp/index.html
@@ -18,8 +18,6 @@
 <!--
   ONOS UI - single page web app
   Version 1.1
-
-  @author Simon Hunt
   -->
 <html>
 <head>
diff --git a/web/gui/src/main/webapp/module-div-template.js b/web/gui/src/main/webapp/module-div-template.js
index 99609a8..52aece9 100644
--- a/web/gui/src/main/webapp/module-div-template.js
+++ b/web/gui/src/main/webapp/module-div-template.js
@@ -16,8 +16,6 @@
 
 /*
  Module template file for DIV based view.
-
- @author Simon Hunt
  */
 
 (function (onos) {
diff --git a/web/gui/src/main/webapp/module-svg-template.js b/web/gui/src/main/webapp/module-svg-template.js
index 1f475a9..d4d7c4f 100644
--- a/web/gui/src/main/webapp/module-svg-template.js
+++ b/web/gui/src/main/webapp/module-svg-template.js
@@ -16,8 +16,6 @@
 
 /*
  Module template file for SVG based view.
-
- @author Simon Hunt
  */
 
 (function (onos) {
diff --git a/web/gui/src/main/webapp/onos.css b/web/gui/src/main/webapp/onos.css
index fbe2df1..5870044 100644
--- a/web/gui/src/main/webapp/onos.css
+++ b/web/gui/src/main/webapp/onos.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Base Framework -- CSS file
-
- @author Simon Hunt
  */
 
 html, body {
diff --git a/web/gui/src/main/webapp/onos.js b/web/gui/src/main/webapp/onos.js
index 803607c..c122177 100644
--- a/web/gui/src/main/webapp/onos.js
+++ b/web/gui/src/main/webapp/onos.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Base Framework
-
- @author Simon Hunt
  */
 
 (function ($) {
diff --git a/web/gui/src/main/webapp/onosFlash.css b/web/gui/src/main/webapp/onosFlash.css
index a912b41..30decca 100644
--- a/web/gui/src/main/webapp/onosFlash.css
+++ b/web/gui/src/main/webapp/onosFlash.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Feedback layer -- CSS file
-
- @author Simon Hunt
  */
 
 #feedback {
diff --git a/web/gui/src/main/webapp/onosFlash.js b/web/gui/src/main/webapp/onosFlash.js
index 644202e..4035bb3 100644
--- a/web/gui/src/main/webapp/onosFlash.js
+++ b/web/gui/src/main/webapp/onosFlash.js
@@ -19,8 +19,6 @@
 
  Defines the feedback layer for the UI. Used to give user visual feedback
  of choices, typically responding to keystrokes.
-
- @author Simon Hunt
  */
 
 (function (onos){
diff --git a/web/gui/src/main/webapp/onosFloatPanel.css b/web/gui/src/main/webapp/onosFloatPanel.css
index 6138ad5..05ae076 100644
--- a/web/gui/src/main/webapp/onosFloatPanel.css
+++ b/web/gui/src/main/webapp/onosFloatPanel.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Floating Panels -- CSS file
-
- @author Simon Hunt
  */
 
 .fpanel {
diff --git a/web/gui/src/main/webapp/onosMast.css b/web/gui/src/main/webapp/onosMast.css
index 4bf3d5d..7210043 100644
--- a/web/gui/src/main/webapp/onosMast.css
+++ b/web/gui/src/main/webapp/onosMast.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Masthead -- CSS file
-
- @author Simon Hunt
  */
 
 #mast {
diff --git a/web/gui/src/main/webapp/onosMast.js b/web/gui/src/main/webapp/onosMast.js
index bf8694a..b51540b 100644
--- a/web/gui/src/main/webapp/onosMast.js
+++ b/web/gui/src/main/webapp/onosMast.js
@@ -19,8 +19,6 @@
 
  Defines the masthead for the UI. Injects logo and title, as well as providing
  the placeholder for a set of radio buttons.
-
- @author Simon Hunt
  */
 
 (function (onos){
diff --git a/web/gui/src/main/webapp/onosQuickHelp.css b/web/gui/src/main/webapp/onosQuickHelp.css
index 3f985e0..899730e 100644
--- a/web/gui/src/main/webapp/onosQuickHelp.css
+++ b/web/gui/src/main/webapp/onosQuickHelp.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Quick Help layer -- CSS file
-
- @author Simon Hunt
  */
 
 #quickhelp {
diff --git a/web/gui/src/main/webapp/onosQuickHelp.js b/web/gui/src/main/webapp/onosQuickHelp.js
index a0da6aa..c0767ef 100644
--- a/web/gui/src/main/webapp/onosQuickHelp.js
+++ b/web/gui/src/main/webapp/onosQuickHelp.js
@@ -19,8 +19,6 @@
 
  Defines the key-map layer for the UI. Used to give user a list of
  key bindings; both global, and for the current view.
-
- @author Simon Hunt
  */
 
 (function (onos){
diff --git a/web/gui/src/main/webapp/sample.js b/web/gui/src/main/webapp/sample.js
index aeb0704..bbd7ef9 100644
--- a/web/gui/src/main/webapp/sample.js
+++ b/web/gui/src/main/webapp/sample.js
@@ -16,8 +16,6 @@
 
 /*
  Sample module file to illustrate framework integration.
-
- @author Simon Hunt
  */
 
 (function (onos) {
diff --git a/web/gui/src/main/webapp/sampleHash.js b/web/gui/src/main/webapp/sampleHash.js
index c94ebb8..f668c74 100644
--- a/web/gui/src/main/webapp/sampleHash.js
+++ b/web/gui/src/main/webapp/sampleHash.js
@@ -16,8 +16,6 @@
 
 /*
  Sample view to illustrate hash formats.
-
- @author Simon Hunt
  */
 
 (function (onos) {
diff --git a/web/gui/src/main/webapp/sampleKeys.js b/web/gui/src/main/webapp/sampleKeys.js
index 354c926..ef3d76c 100644
--- a/web/gui/src/main/webapp/sampleKeys.js
+++ b/web/gui/src/main/webapp/sampleKeys.js
@@ -16,8 +16,6 @@
 
 /*
  Sample view to illustrate key bindings.
-
- @author Simon Hunt
  */
 
 (function (onos) {
diff --git a/web/gui/src/main/webapp/sampleRadio.js b/web/gui/src/main/webapp/sampleRadio.js
index 92df369..11dd1ef 100644
--- a/web/gui/src/main/webapp/sampleRadio.js
+++ b/web/gui/src/main/webapp/sampleRadio.js
@@ -16,8 +16,6 @@
 
 /*
  Sample view to illustrate radio buttons.
-
- @author Simon Hunt
  */
 
 (function (onos) {
diff --git a/web/gui/src/main/webapp/tests/app/fw/mast/mast-spec.js b/web/gui/src/main/webapp/tests/app/fw/mast/mast-spec.js
index e35f4e5..131be1f 100644
--- a/web/gui/src/main/webapp/tests/app/fw/mast/mast-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/mast/mast-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Masthead Controller - Unit Tests
-
- @author Simon Hunt
  */
 describe('Controller: MastCtrl', function () {
     // instantiate the masthead module
diff --git a/web/gui/src/main/webapp/tests/app/fw/remote/rest-spec.js b/web/gui/src/main/webapp/tests/app/fw/remote/rest-spec.js
index 5537d88..b3d514c 100644
--- a/web/gui/src/main/webapp/tests/app/fw/remote/rest-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/remote/rest-spec.js
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- Remote -- REST Service - Unit Tests
-
- @author Bri Prebilic Cole
- @author Simon Hunt
  */
 describe('factory: fw/remote/rest.js', function() {
     var $log, $httpBackend, fs, rs, promise;
diff --git a/web/gui/src/main/webapp/tests/app/fw/remote/urlfn-spec.js b/web/gui/src/main/webapp/tests/app/fw/remote/urlfn-spec.js
index aa3f28e..cf41a13 100644
--- a/web/gui/src/main/webapp/tests/app/fw/remote/urlfn-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/remote/urlfn-spec.js
@@ -16,9 +16,6 @@
 
 /*
  ONOS GUI -- Remote -- General Functions - Unit Tests
-
- @author Bri Prebilic Cole
- @author Simon Hunt
  */
 describe('factory: fw/remote/urlfn.js', function () {
     var $log, $loc, ufs, fs;
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/geodata-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/geodata-spec.js
index 4333624..b76ffa4 100644
--- a/web/gui/src/main/webapp/tests/app/fw/svg/geodata-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/geodata-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- SVG -- GeoData Service - Unit Tests
-
- @author Simon Hunt
  */
 describe('factory: fw/svg/geodata.js', function() {
     var $log, $httpBackend, fs, gds, promise;
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
index c0cbf67..353fc78 100644
--- a/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- SVG -- Glyph Service - Unit Tests
-
- @author Simon Hunt
  */
 describe('factory: fw/svg/glyph.js', function() {
     var $log, fs, gs, d3Elem;
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/icon-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/icon-spec.js
index a11644d..bb203a7 100644
--- a/web/gui/src/main/webapp/tests/app/fw/svg/icon-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/icon-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- SVG -- Icon Service - Unit Tests
-
- @author Simon Hunt
  */
 describe('factory: fw/svg/icon.js', function() {
     var is, d3Elem;
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/map-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/map-spec.js
index 7ac7857..27848d1 100644
--- a/web/gui/src/main/webapp/tests/app/fw/svg/map-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/map-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- SVG -- Map Service - Unit Tests
-
- @author Simon Hunt
  */
 describe('factory: fw/svg/map.js', function() {
     var $log, $httpBackend, fs, ms, d3Elem, promise;
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/zoom-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/zoom-spec.js
index 467d866..c951fac 100644
--- a/web/gui/src/main/webapp/tests/app/fw/svg/zoom-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/zoom-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- SVG -- Zoom Service - Unit Tests
-
- @author Simon Hunt
  */
 describe('factory: fw/svg/zoom.js', function() {
     var $log, fs, zs, svg, zoomLayer, zoomer;
diff --git a/web/gui/src/main/webapp/tests/app/fw/util/fn-spec.js b/web/gui/src/main/webapp/tests/app/fw/util/fn-spec.js
index d5c6fb2..56819ae 100644
--- a/web/gui/src/main/webapp/tests/app/fw/util/fn-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/util/fn-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Util -- General Purpose Functions - Unit Tests
-
- @author Simon Hunt
  */
 describe('factory: fw/util/fn.js', function() {
     var fs,
diff --git a/web/gui/src/main/webapp/tests/app/fw/util/keys-spec.js b/web/gui/src/main/webapp/tests/app/fw/util/keys-spec.js
index aa02d95..60ea8ad 100644
--- a/web/gui/src/main/webapp/tests/app/fw/util/keys-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/util/keys-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Key Handler Service - Unit Tests
-
- @author Simon Hunt
  */
 describe('factory: fw/util/keys.js', function() {
     var $log, ks, fs,
diff --git a/web/gui/src/main/webapp/tests/app/fw/util/theme-spec.js b/web/gui/src/main/webapp/tests/app/fw/util/theme-spec.js
index 6f5e2b6..026d4ca 100644
--- a/web/gui/src/main/webapp/tests/app/fw/util/theme-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/util/theme-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Util -- Theme Service - Unit Tests
-
- @author Simon Hunt
  */
 describe('factory: fw/util/theme.js', function() {
     var ts, $log;
diff --git a/web/gui/src/main/webapp/tests/app/onos-spec.js b/web/gui/src/main/webapp/tests/app/onos-spec.js
index d8ebd9d..4fd43ff 100644
--- a/web/gui/src/main/webapp/tests/app/onos-spec.js
+++ b/web/gui/src/main/webapp/tests/app/onos-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Main App Controller - Unit Tests
-
- @author Simon Hunt
  */
 describe('Controller: OnosCtrl', function () {
     // instantiate the main module
diff --git a/web/gui/src/main/webapp/tests/app/view/device/device-spec.js b/web/gui/src/main/webapp/tests/app/view/device/device-spec.js
index 503688a..132f522 100644
--- a/web/gui/src/main/webapp/tests/app/view/device/device-spec.js
+++ b/web/gui/src/main/webapp/tests/app/view/device/device-spec.js
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Device Controller - Unit Tests
-
- @author Simon Hunt
  */
 describe('Controller: OvDeviceCtrl', function () {
     // instantiate the Device module
diff --git a/web/gui/src/main/webapp/topo.css b/web/gui/src/main/webapp/topo.css
index bd3d7e8..ddf15b6 100644
--- a/web/gui/src/main/webapp/topo.css
+++ b/web/gui/src/main/webapp/topo.css
@@ -16,8 +16,6 @@
 
 /*
  ONOS GUI -- Topology view -- CSS file
-
- @author Simon Hunt
  */
 
 #topo svg #topo-bg {
diff --git a/web/gui/src/main/webapp/topo.js b/web/gui/src/main/webapp/topo.js
index 7620009..4ad1163 100644
--- a/web/gui/src/main/webapp/topo.js
+++ b/web/gui/src/main/webapp/topo.js
@@ -16,9 +16,6 @@
 
 /*
  ONOS network topology viewer - version 1.1
-
- @author Simon Hunt
- @author Thomas Vachuska
  */
 
 (function (onos) {
