changed all licenses to ASLv2

issue: Apache source headers in callback-weinre
       https://issues.apache.org/jira/browse/CB-10
diff --git a/README.md b/README.md
index 2ffdf99..5d2773a 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,21 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
 For more information on weinre:
 [http://callback.github.com/callback-weinre/](http://callback.github.com/callback-weinre/)
\ No newline at end of file
diff --git a/weinre.application/resources/macosx/weinre.app/Contents/Info.plist b/weinre.application/resources/macosx/weinre.app/Contents/Info.plist
index 3e8310a..f1b4861 100644
--- a/weinre.application/resources/macosx/weinre.app/Contents/Info.plist
+++ b/weinre.application/resources/macosx/weinre.app/Contents/Info.plist
@@ -2,10 +2,22 @@
 <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
 -->
 
 <plist version="1.0">
diff --git a/weinre.application/resources/macosx/weinre.app/Contents/MacOS/launcher b/weinre.application/resources/macosx/weinre.app/Contents/MacOS/launcher
index ffc287d..f76ffc5 100644
--- a/weinre.application/resources/macosx/weinre.app/Contents/MacOS/launcher
+++ b/weinre.application/resources/macosx/weinre.app/Contents/MacOS/launcher
@@ -1,10 +1,22 @@
 #!/bin/sh
 
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
-# 
-# Copyright (c) 2010, 2011 IBM Corporation
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
 # ---
 
 BASEDIR=`dirname $0`
diff --git a/weinre.application/src/weinre/application/GUIMain.java b/weinre.application/src/weinre/application/GUIMain.java
index 7ae91a4..28208ff 100644
--- a/weinre.application/src/weinre/application/GUIMain.java
+++ b/weinre.application/src/weinre/application/GUIMain.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.application;
@@ -42,7 +54,7 @@
     private Color            red;
     private GUIPreferences   preferences;
     private ShellSizeTracker shellSizeTracker;
-    
+
     //---------------------------------------------------------------
     static public void main(String[] args) {
         GUIMain main = new GUIMain(args);
@@ -52,10 +64,10 @@
     //---------------------------------------------------------------
     private GUIMain(String[] args) {
         super(args);
-        
+
         preferences = new GUIPreferences();
     }
-    
+
     //---------------------------------------------------------------
     @Override
     public void run() {
@@ -66,11 +78,11 @@
                 httpServerStart();
             }
         };
-        
+
         new Thread(serverRunnable, "main server thread").start();
 
         uiRun();
-        
+
         exit();
     }
 
@@ -93,15 +105,15 @@
     @Override
     public void addServerConsoleMessage(final String line, final boolean stdout) {
         if (null == console) return;
-        
+
         if (console.isDisposed()) return;
-        
+
         console.getDisplay().asyncExec(new Runnable() {
            public void run() {
                if (console.isDisposed()) return;
-               
+
                String theLine = line + Text.DELIMITER;
-               
+
                Color color = null;
                if (!stdout) color = red;
 
@@ -109,19 +121,19 @@
                styleRange.start      = console.getCharCount();
                styleRange.length     = theLine.length();
                styleRange.foreground = color;
-               
+
                console.append(theLine);
                console.setStyleRange(styleRange);
            }
         });
     }
-    
+
     //---------------------------------------------------------------
     @Override
     public int severeError(final String message) {
         if (null == display) return super.severeError(message);
         if (display.isDisposed()) return super.severeError(message);
-        
+
         display.syncExec(new Runnable() {
            public void run() {
                boolean noGUI = false;
@@ -129,12 +141,12 @@
                if (null == shell)        noGUI = true;
                if (display.isDisposed()) noGUI = true;
                if (shell.isDisposed())   noGUI = true;
-               
+
                if (noGUI) {
                    GUIMain.super.severeError(message);
                    return;
                }
-               
+
                MessageBox messageBox = new MessageBox(shell, SWT.ICON_ERROR | SWT.OK);
                messageBox.setMessage(message);
                messageBox.setText("weinre exiting");
@@ -142,22 +154,22 @@
                exit();
            }
         });
-        
+
         return 0;
     }
-    
+
     //---------------------------------------------------------------
     private void uiBuild() {
         Display.setAppName("weinre");
         Display.setAppVersion("???");
-        
+
         display = new Display();
         shell   = new Shell(display);
-        
+
         red = new Color(display, 255, 0, 0);
 
         shell.setText("weinre - Web Inspector Remote");
-        
+
         CTabFolder tabFolder       = new CTabFolder(shell, SWT.BORDER | SWT.BOTTOM);
         CTabItem   tabItemDebugger = createTabItem(tabFolder, "Debugger");
         CTabItem   tabItemConsole  = createTabItem(tabFolder, "Server Console");
@@ -165,31 +177,31 @@
 
         debugger = new Browser(tabFolder, SWT.NONE);
         tabItemDebugger.setControl(debugger);
-        
+
         console = new StyledText(tabFolder, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
         console.setEditable(false);
         console.setFont(getMonospaceFont(console));
 
         homePage = new Browser(tabFolder, SWT.NONE);
         tabItemHomePage.setControl(homePage);
-        
+
         tabItemConsole.setControl(console);
-        
+
         fillParent(debugger,  0, 0, 0, 0);
         fillParent(console,   0, 0, 0, 0);
         fillParent(homePage,  0, 0, 0, 0);
         fillParent(tabFolder, 5, 5, 5, 5);
-        
+
         tabFolder.pack();
         createMenuBar();
-        
+
         shellSizeTracker = new ShellSizeTracker("main", shell, preferences);
         shellSizeTracker.start();
-        
+
         try {
             String       boundsKey = ShellSizeTracker.getBoundsKey(shell, "main");
             JSONObject   bounds    = preferences.getPreference(boundsKey);
-            
+
             if (null != bounds) {
                 Integer x, y, w, h;
                 try {
@@ -200,23 +212,23 @@
                 } catch (JSONException e) {
                     throw new RuntimeException(e);
                 }
-                
+
                 if ((null != w) && (null != h)) {
                     shell.setBounds(x,y,w,h);
                 }
             }
-            
+
             else {
                 shell.setBounds(100, 100, 700, 500);
             }
-            
+
         }
         catch (IOException e) {
             Main.warn("exception reading preferences: " + e);
         }
-        
+
     }
- 
+
     //---------------------------------------------------------------
     private void createMenuBar() {
 //        Menu menu = new Menu(shell, SWT.BAR);
@@ -225,12 +237,12 @@
 //        fileMenuItem.setText("File");
 //        MenuItem editMenuItem = new MenuItem(menu, SWT.CASCADE);
 //        editMenuItem.setText("Edit");
-     }        
+     }
 
     //---------------------------------------------------------------
     private void uiRun() {
         shell.open();
-        
+
         while (!shell.isDisposed()) {
             if (!display.readAndDispatch())
                 display.sleep();
@@ -242,32 +254,32 @@
     private CTabItem createTabItem(CTabFolder tabFolder, String text) {
         CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE);
         tabItem.setText(text);
-        
+
         Font       font     = tabItem.getFont();
         FontData[] fontData = font.getFontData();
-        
+
         for (FontData fontDatum: fontData) {
             double newHeight = fontDatum.getHeight() * 1.25;
             fontDatum.setHeight((int) newHeight);
         }
-        
+
         font = new Font(display, fontData);
         tabItem.setFont(font);
-        
+
         return tabItem;
     }
-    
+
     //---------------------------------------------------------------
     private void fillParent(Control control, int marginT, int marginR, int marginB, int marginL ) {
         FormLayout formLayout = new FormLayout();
-        
-        formLayout.marginTop    = marginT; 
+
+        formLayout.marginTop    = marginT;
         formLayout.marginBottom = marginB;
         formLayout.marginLeft   = marginL;
         formLayout.marginRight  = marginR;
-        
+
         FormData formData = new FormData();
-        
+
         formData.left     = new FormAttachment(0);
         formData.right    = new FormAttachment(100);
         formData.top      = new FormAttachment(0);
@@ -276,27 +288,27 @@
         control.getParent().setLayout(formLayout);
         control.setLayoutData(formData);
     }
-    
+
     //---------------------------------------------------------------
     private String getBrowserURL() {
         String result;
-        
+
         ServerSettings settings = weinre.server.Main.getSettings();
-        
+
         String host = settings.getNiceHostName();
         int    port = settings.getHttpPort();
-        
+
         result = "http://" + host + ":" + port + "/";
-        
+
         return result;
     }
-    
+
     //---------------------------------------------------------------
     private Font getMonospaceFont(Control control) {
         FontData[] fontData = control.getDisplay().getFontList(null, true);
-        
+
         FontData fontFound = null;
-        
+
         // essentially the defaults that web inspector uses
         if (null == fontFound) fontFound = findFontNamed(fontData, "Menlo");
         if (null == fontFound) fontFound = findFontNamed(fontData, "Monaco");
@@ -304,39 +316,39 @@
         if (null == fontFound) fontFound = findFontNamed(fontData, "Lucida Console");
         if (null == fontFound) fontFound = findFontNamed(fontData, "dejavu sans mono");
         if (null == fontFound) fontFound = findFontNamed(fontData, "Courier");
-        
+
         if (null == fontFound) return null;
 
         fontFound.setHeight(14);
-        
+
         return new Font(control.getDisplay(), fontFound);
     }
-    
+
     //---------------------------------------------------------------
     private FontData findFontNamed(FontData[] fontData, String name) {
         for (FontData fontDatum: fontData) {
             if (fontDatum.getStyle() != SWT.NORMAL) continue;
-            if (name.equals(fontDatum.getName())) return fontDatum; 
+            if (name.equals(fontDatum.getName())) return fontDatum;
         }
-        
+
         return null;
     }
-    
+
     //---------------------------------------------------------------
     @SuppressWarnings("unused")
     private void dumpFontData(FontData[] fontData) {
         for (FontData fontDatum: fontData) {
             int    style       = fontDatum.getStyle();
             String styleString = "";
-            
+
             if (0 != (style & SWT.NORMAL)) styleString += "NORMAL ";
             if (0 != (style & SWT.BOLD))   styleString += "BOLD ";
             if (0 != (style & SWT.ITALIC)) styleString += "ITALIC ";
-            
+
             styleString = styleString.trim();
-            
+
             System.out.println("font: " + fontDatum.getName() + " : " + fontDatum.getHeight() + " : " + styleString);
         }
     }
-    
+
 }
diff --git a/weinre.application/src/weinre/application/GUIPreferences.java b/weinre.application/src/weinre/application/GUIPreferences.java
index 200ea0a..3751584 100644
--- a/weinre.application/src/weinre/application/GUIPreferences.java
+++ b/weinre.application/src/weinre/application/GUIPreferences.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.application;
@@ -19,16 +31,16 @@
 //-------------------------------------------------------------------
 public class GUIPreferences {
     static final private String PROPERTIES_FILE_NAME = "ui.properties";
-    
+
     private Properties properties;
-    
+
     //---------------------------------------------------------------
     public GUIPreferences() {
         super();
 
         properties = Utility.readPropertiesFile(PROPERTIES_FILE_NAME);
     }
-    
+
     //---------------------------------------------------------------
     public JSONObject getPreference(String key) throws IOException {
         String val = properties.getProperty(key);
@@ -40,11 +52,11 @@
             throw new RuntimeException(e);
         }
     }
-    
+
     //---------------------------------------------------------------
     public void setPreference(String key, JSONObject json) {
         String val = json.toString();
-        
+
         properties.setProperty(key, val);
         Utility.writePropertiesFile(PROPERTIES_FILE_NAME, properties);
     }
diff --git a/weinre.application/src/weinre/application/ShellSizeTracker.java b/weinre.application/src/weinre/application/ShellSizeTracker.java
index 5fbad4b..e5d8972 100644
--- a/weinre.application/src/weinre/application/ShellSizeTracker.java
+++ b/weinre.application/src/weinre/application/ShellSizeTracker.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.application;
@@ -31,9 +43,9 @@
 
     //---------------------------------------------------------------
     static public String getBoundsKey(Shell shell, String name) {
-        return "bounds-" + name + "-" + ShellSizeTracker.getMonitorSetupKey(shell.getDisplay());        
+        return "bounds-" + name + "-" + ShellSizeTracker.getMonitorSetupKey(shell.getDisplay());
     }
-    
+
     //---------------------------------------------------------------
     static private String getMonitorSetupKey(final Display display) {
         StringBuffer keyBuffer = new StringBuffer();
@@ -42,29 +54,29 @@
         for (Monitor monitor: monitors) {
             Rectangle bounds     = monitor.getBounds();
             Rectangle clientArea = monitor.getClientArea();
-            
+
             keyBuffer.append("__");
             keyBuffer.append(bounds.x);      keyBuffer.append("_");
             keyBuffer.append(bounds.y);      keyBuffer.append("_");
             keyBuffer.append(bounds.width);  keyBuffer.append("_");
             keyBuffer.append(bounds.height);
-            
+
             keyBuffer.append("__");
             keyBuffer.append(clientArea.x);      keyBuffer.append("_");
             keyBuffer.append(clientArea.y);      keyBuffer.append("_");
             keyBuffer.append(clientArea.width);  keyBuffer.append("_");
-            keyBuffer.append(clientArea.height); 
+            keyBuffer.append(clientArea.height);
         }
 
         keyBuffer.insert(0, "monitor-setup");
-        
+
         return keyBuffer.toString();
     }
-    
+
     //---------------------------------------------------------------
     public ShellSizeTracker(String name, final Shell shell, GUIPreferences preferences) {
         super();
-        
+
         this.name         = name;
         this.shell        = shell;
         this.preferences  = preferences;
@@ -72,24 +84,24 @@
         this.lastSize     = new Point(0,0);
         this.lastLocation = new Point(0,0);
         this.stop         = false;
-        
+
         shell.addControlListener(new ControlListener() {
             public void controlMoved(ControlEvent e)   {shellMoved();}
             public void controlResized(ControlEvent e) {shellMoved();}
         });
-        
+
     }
 
     //---------------------------------------------------------------
     public void start() {
         startWaiterThread();
     }
-    
+
     //---------------------------------------------------------------
     public void stop() {
-        
+
     }
-    
+
     //---------------------------------------------------------------
     private void shellMoved() {
         dirty        = true;
@@ -103,9 +115,9 @@
         if (!dirty) return;
         if (shell.isDisposed()) return;
         if (System.currentTimeMillis() < lastChange + 3000) return;
-        
+
         JSONObject valueJSON = new JSONObject();
-        
+
         try {
             valueJSON.put("x", lastLocation.x);
             valueJSON.put("y", lastLocation.y);
@@ -114,10 +126,10 @@
         } catch (JSONException e1) {
             throw new RuntimeException(e1);
         }
-        
+
         String key;
         key = ShellSizeTracker.getBoundsKey(shell, name);
-        
+
         preferences.setPreference(key, valueJSON);
 
         dirty = false;
@@ -130,20 +142,20 @@
             public void run() {
                 while (true) {
                     try { Thread.sleep(1000); } catch(InterruptedException e) { return; }
-                    
+
                     if (stop) return;
                     if (shell.isDisposed()) return;
-                    
+
                     shell.getDisplay().asyncExec(new Runnable() {
                         public void run() { checkForChanges(); }
                     });
                 }
             }
         };
-        
+
         Thread thread = new Thread(runnable, getClass().getSimpleName() + " for " + name);
         thread.start();
-        
+
         return thread;
     }
 
diff --git a/weinre.build/README.md b/weinre.build/README.md
index e7a43c9..e47c046 100644
--- a/weinre.build/README.md
+++ b/weinre.build/README.md
@@ -1,3 +1,22 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
 building weinre
 ===============================================================================
 
diff --git a/weinre.build/build-continuous.sh b/weinre.build/build-continuous.sh
index 8d451a5..e6f1181 100755
--- a/weinre.build/build-continuous.sh
+++ b/weinre.build/build-continuous.sh
@@ -1,10 +1,22 @@
 #!/bin/sh
 
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
-# 
-# Copyright (c) 2010, 2011 IBM Corporation
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
 # ---
 
 #-------------------------------------------------------------
@@ -26,4 +38,4 @@
   ../weinre.doc \
   ../weinre.server \
   ../weinre.web
-  
+
diff --git a/weinre.build/build.properties b/weinre.build/build.properties
index 6972e2d..8cb1b96 100644
--- a/weinre.build/build.properties
+++ b/weinre.build/build.properties
@@ -1,8 +1,20 @@
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
 # ---
 
 #-----------------------------------------------------------
diff --git a/weinre.build/build.xml b/weinre.build/build.xml
index 7e72ae8..eab7546 100644
--- a/weinre.build/build.xml
+++ b/weinre.build/build.xml
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <project name="build" default="build" basedir=".">
diff --git a/weinre.build/debug.sh b/weinre.build/debug.sh
index 3542f2d..ba681ee 100755
--- a/weinre.build/debug.sh
+++ b/weinre.build/debug.sh
@@ -1,4 +1,24 @@
 #!/bin/sh
+
+# ---
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ---
+
 CWD=`dirname $0`
 WEINRE=`dirname $CWD`
 CP=$WEINRE/weinre.server/bin:$WEINRE/weinre.build/out:$WEINRE/weinre.build/vendor/cli/commons-cli.jar:$WEINRE/weinre.build/vendor/jetty/jetty.jar:$WEINRE/weinre.build/vendor/json4j/json4j.jar:$WEINRE/weinre.build/vendor/jetty/servlet-api.jar
diff --git a/weinre.build/get-vendor.xml b/weinre.build/get-vendor.xml
index 259dfaf..e420835 100644
--- a/weinre.build/get-vendor.xml
+++ b/weinre.build/get-vendor.xml
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <project name="get-vendor" default="get-vendor" basedir=".">
diff --git a/weinre.build/new-release-notes.md b/weinre.build/new-release-notes.md
index 937c66f..46f9a71 100644
--- a/weinre.build/new-release-notes.md
+++ b/weinre.build/new-release-notes.md
@@ -1,3 +1,22 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
 steps to create a new release
 ===============================================================================
 
@@ -40,7 +59,7 @@
    - `git checkout develop`
    - `git merge --no-ff release-x.y.z`
    - `git push`
-   - `git branch -d release-x.y.z`   
+   - `git branch -d release-x.y.z`
 
 - update github pages:
 
diff --git a/weinre.build/sample.personal.properties b/weinre.build/sample.personal.properties
index 22f7204..73c2d6e 100644
--- a/weinre.build/sample.personal.properties
+++ b/weinre.build/sample.personal.properties
@@ -1,8 +1,20 @@
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
 # ---
 
 #------------------------------------------------------------------------------
diff --git a/weinre.build/scripts/build-client-html.py b/weinre.build/scripts/build-client-html.py
index a06fc05..86bb0ff 100644
--- a/weinre.build/scripts/build-client-html.py
+++ b/weinre.build/scripts/build-client-html.py
@@ -1,10 +1,22 @@
 #!/usr/bin/env python
 
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 # ---
 
 import os
diff --git a/weinre.build/scripts/build-css-properties.py b/weinre.build/scripts/build-css-properties.py
index c6fde75..4ac4122 100644
--- a/weinre.build/scripts/build-css-properties.py
+++ b/weinre.build/scripts/build-css-properties.py
@@ -1,10 +1,22 @@
 #!/usr/bin/env python
 
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 # ---
 
 import os
diff --git a/weinre.build/scripts/build-target-scripts.py b/weinre.build/scripts/build-target-scripts.py
index 64d1923..721ea26 100644
--- a/weinre.build/scripts/build-target-scripts.py
+++ b/weinre.build/scripts/build-target-scripts.py
@@ -1,10 +1,22 @@
 #!/usr/bin/env python
 
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 # ---
 
 import os
diff --git a/weinre.build/scripts/changelog.sh b/weinre.build/scripts/changelog.sh
index af3a12f..8c7393a 100755
--- a/weinre.build/scripts/changelog.sh
+++ b/weinre.build/scripts/changelog.sh
@@ -1,10 +1,22 @@
 #/bin/sh
 
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
-# 
-# Copyright (c) 2011 IBM Corporation
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
 # ---
 
 git log "--pretty=format:- %s" $1.. | \
diff --git a/weinre.build/scripts/closed-issues.py b/weinre.build/scripts/closed-issues.py
index 8eda3ab..4fe32de 100755
--- a/weinre.build/scripts/closed-issues.py
+++ b/weinre.build/scripts/closed-issues.py
@@ -1,5 +1,24 @@
 #!/usr/bin/env python
 
+# ---
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ---
+
 import os
 import sys
 import json
@@ -8,7 +27,7 @@
 if len(sys.argv) < 3:
     print "expecting parameters <user> <project>"
     sys.exit()
-    
+
 user = sys.argv[1]
 proj = sys.argv[2]
 
@@ -28,6 +47,6 @@
     number = issue["number"]
     title  = issue["title"]
     date   = issue["closed_at"]
-    
+
     template = "<li><a href='https://github.com/%s/%s/issues/%d'>issue %d</a> %s - %s"
     print template % (user, proj, number, number, date, title)
\ No newline at end of file
diff --git a/weinre.build/scripts/collect-all-json-idl.py b/weinre.build/scripts/collect-all-json-idl.py
index 2d1d912..9448915 100644
--- a/weinre.build/scripts/collect-all-json-idl.py
+++ b/weinre.build/scripts/collect-all-json-idl.py
@@ -1,10 +1,22 @@
 #!/usr/bin/env python
 
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 # ---
 
 import os
diff --git a/weinre.build/scripts/simple-idl2json.py b/weinre.build/scripts/simple-idl2json.py
index b5cf521..fceec8a 100644
--- a/weinre.build/scripts/simple-idl2json.py
+++ b/weinre.build/scripts/simple-idl2json.py
@@ -1,10 +1,22 @@
 #!/usr/bin/env python
 
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
-# 
-# Copyright (c) 2010, 2011 IBM Corporation
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
 # ---
 
 import os
@@ -19,34 +31,34 @@
 
 #--------------------------------------------------------------------
 def main():
-    
+
     # parse args
     parser = optparse.OptionParser()
     parser.add_option("--validate",  action="store_true",                 help="validate types")
     parser.add_option("--anyType",   action="append",     metavar="TYPE", help="treat TYPE as an any")
     (options, args) = parser.parse_args()
-    
+
     if options.anyType:
         AnyTypes.extend(options.anyType)
-    
+
     if len(args) <= 0: error("no input files specified")
     iFileName = args[0]
-    
-    if len(args) <= 1: 
+
+    if len(args) <= 1:
         oFileName = "<stdout>"
     else:
         oFileName = args[1]
-    
+
     # read input
     iFile = file(iFileName)
     content = iFile.read()
     iFile.close()
-        
+
     # convert to JSONable
     module = parseIDL(content)
-    
+
     splitNotifyInterfaces(module)
-    
+
 #    if module["name"] == "core":
 #        if len(module["interfaces"]) == 1:
 #            if module["interfaces"][0]["name"] == "Inspector":
@@ -54,57 +66,57 @@
 
     # convert out parms to callback parms
     convertOutParms(module)
-    
+
     # validate
     if options.validate: validate(module)
 
     # convert to JSON
     jsonModule = json.dumps(module, indent=3)
-    
+
     # write output
-    if oFileName == "<stdout>": 
+    if oFileName == "<stdout>":
         oFile = sys.stdout
     else:
         oFile = file(oFileName,"w")
-        
+
     oFile.write(jsonModule)
 
     # close file
-    if oFileName != "<stdout>": 
+    if oFileName != "<stdout>":
         oFile.close()
         log("generated json file '%s'" %oFileName)
 
 #--------------------------------------------------------------------
 def convertOutParms(module):
     for interface in module["interfaces"]:
-        
+
         if "methods" in interface:
             for method in interface["methods"]:
                 method["callbackParameters"] = []
                 newParameters = []
-                
+
                 for parameter in method["parameters"]:
                     if "out" in parameter:
                         method["callbackParameters"].append(parameter)
                     else:
                         newParameters.append(parameter)
-                        
+
                 method["parameters"] = newParameters
 
 #--------------------------------------------------------------------
 def splitNotifyInterfaces(module):
     newInterfaces = {}
-    
+
     for interface in module["interfaces"][:]:
 
         if "methods" in interface:
             for method in interface["methods"][:]:
                 if "extendedAttributes" not in method: continue
                 if "notify" not in method["extendedAttributes"]: continue
-                
+
                 newInterfaceName = interface["name"] + "Notify"
                 newInterface     = newInterfaces.get(newInterfaceName)
-                
+
                 if not newInterface:
                     newInterface = {
                         "name": newInterfaceName,
@@ -126,16 +138,16 @@
 def splitInspectorInterfaces(module):
     intfOrig      = module["interfaces"][0]
     newInterfaces = {}
-    
+
     module["interfaces"] = []
 
     for method in intfOrig["methods"]:
         if "domain" not in method["extendedAttributes"]:
             log("Inspector method %s does not have a 'domain' extended attribute" % (method["name"]))
             continue
-            
+
         intfName = method["extendedAttributes"]["domain"]
-        
+
         if "notify" in method["extendedAttributes"]:
             intfName += "Notify"
 
@@ -153,15 +165,15 @@
             }
             newInterfaces[intfName] = intf
             module["interfaces"].append(intf)
-            
+
         intf["methods"].append(method)
-            
+
 #        for parameter in method["parameters"]:
 #            if "out" not in parameter:
 #                log("Inspector method %s has an unexpected non-out parameter %s" % (method["name"], parameter["name"]))
 #            else:
 #                del parameter["out"]
-        
+
 #        intfWebInspector["methods"].append(method)
 
 #--------------------------------------------------------------------
@@ -169,23 +181,23 @@
     interfaces = {}
 
     errors = False
-    
+
     # build table of interface names
     for interface in module["interfaces"]:
         interfaces[interface["name"]] = interface
-        
+
     # check interfaces
     for interface in module["interfaces"]:
-        
+
         if "methods" in interface:
             for method in interface["methods"]:
                 location = "%s.%s" % (interface["name"], method["name"])
                 errors = checkType(location, interfaces, method["returns"]) or errors
-                
+
                 for parameter in method["parameters"]:
                     errors = checkType(location, interfaces, parameter["type"]) or errors
-                
-    
+
+
         if "attributes" in interface:
             for attribute in interface["attributes"]:
                 location = "%s.%s" % (interface["name"], attribute["name"])
@@ -195,14 +207,14 @@
 #--------------------------------------------------------------------
 def checkType(location, interfaces, type):
     typeName = type["name"]
-    
+
     if typeName in BuiltInTypes: return False
     if typeName in interfaces: return False
-    
+
     log("type '%s' is not valid in %s" % (typeName, location))
-    
+
     return True
-    
+
 
 #--------------------------------------------------------------------
 def parseIDL(content):
@@ -211,20 +223,20 @@
 
     match = PatternModule.match(content)
     if not match: error("no module found in input")
-    
+
     moduleName = match.group(1).strip()
     content    = match.group(2)
-    
+
     module = {}
     module["name"] = moduleName
-    
+
     interfaces = []
     module["interfaces"] = interfaces
-    
+
     while True:
         match = PatternInterface.match(content)
         if not match: break
-        
+
         interfaceEAs  = match.group(1)
         interfaceName = match.group(2).strip()
         interfaceBody = match.group(3)
@@ -233,19 +245,19 @@
         interface = {}
         interface["name"] = interfaceName
         parseExtendedAttributes(interface, interfaceEAs)
-        
+
         interfaces.append(interface)
-        
+
         while True:
             match = PatternMethod.match(interfaceBody)
             if match:
                 method = parseMethod(match)
                 if not "methods" in interface: interface["methods"] = []
                 interface["methods"].append(method)
-                
+
                 interfaceBody = match.group(6)
                 continue
-                
+
             match = PatternAttribute.match(interfaceBody)
             if match:
                 attribute = parseAttribute(match)
@@ -255,54 +267,54 @@
                 interfaceBody = match.group(5)
                 continue
 
-            if interfaceBody.strip() != "": 
+            if interfaceBody.strip() != "":
                 error("unexpected input: '%s'" % interfaceBody)
-                
+
             break
-        
+
     if content.strip() != "}": error("unexpected input: '%s'" % content)
-    
+
     return module
 
 #--------------------------------------------------------------------
 def parseExtendedAttributes(object, eaStrings):
     if not eaStrings: return
     if eaStrings == "": return
-    
+
     eaStrings = eaStrings[1:-1]
     eaStrings = eaStrings.split(",")
-    
+
     eas = {}
     for eaString in eaStrings:
         match = PatternExtendedAttribute.match(eaString)
         if not match:
             error("invalid extended attribute: '%s'" % eaString)
-        
+
         if match.group(3):
             eas[match.group(1)] = match.group(3)
         else:
             eas[match.group(1)] = True
-    
+
     if len(eas):
         object["extendedAttributes"] = eas
 
 #--------------------------------------------------------------------
 def parseMethod(match):
     method = {}
-    
+
     eas                  = match.group(1)
     method["returns"]    = getType(match.group(2), match.group(3))
     method["name"]       = match.group(4)
     method["parameters"] = parseMethodParameters(match.group(5))
-    
+
     parseExtendedAttributes(method, eas)
-    
+
     return method
 
 #--------------------------------------------------------------------
 def parseAttribute(match):
     attribute = {}
-    
+
     eas               = match.group(1)
     attribute["type"] = getType(match.group(2), match.group(3))
     attribute["name"] = match.group(4)
@@ -314,43 +326,43 @@
 #--------------------------------------------------------------------
 def parseMethodParameters(parameterString):
     parameters = []
-    
+
     parameterString = parameterString.strip()
     if "" == parameterString: return parameters
-    
+
     parmStrings = parameterString.split(",")
     for parmString in parmStrings:
         parameter = {}
-        
+
         parts = parmString.split()
         if parts[0] in ["in", "out"]:
             parmString = " ".join(parts[1:])
             if parts[0] == "out":
                 parameter["out"] = True
-                
+
         match = PatternParameter.match(parmString)
         if not match:
             error("error parsing parameter in '" + parameterString + "'")
-            
-        
+
+
         parameter["type"] = getType(match.group(1), match.group(2))
-        
+
         if match.group(5):
             parameter["name"] = match.group(5)
         else:
             parameter["name"] = match.group(3)
-        
+
         parameters.append(parameter)
-        
+
     return parameters
 
 #--------------------------------------------------------------------
 def getType(name, rank):
     name = name.strip()
     rank = PatternWhiteSpace.sub("", rank)
-    
+
     origName = name
-    
+
     if name == "long":      name = "int"
     if name == "int":       name = "int"
     if name == "double":    name = "float"
@@ -358,24 +370,24 @@
     if name == "DOMString": name = "string"
     if name == "String":    name = "string"
     if name in AnyTypes:    name = "any"
-    
+
     if name == "Array":
         return {
             "name": "any",
             "rank": 1
         }
-    
+
     result = {}
     result["name"] = name
-    
+
     if name != origName: result["originalName"] = origName
-    
+
     if rank:
-        if (rank == "[]"): 
+        if (rank == "[]"):
             result["rank"] = 1
         else:
             error("currently only one dimensional arrays are supported: %s" % name)
-        
+
     return result
 
 #--------------------------------------------------------------------
@@ -384,7 +396,7 @@
     content = PatternPreprocessor.sub("", content)
     content = PatternNewLine.sub("", content)
     content = PatternComments.sub("", content)
-    
+
     return content
 
 #--------------------------------------------------------------------
diff --git a/weinre.build/vendor.properties b/weinre.build/vendor.properties
index 386e4c8..f54545f 100644
--- a/weinre.build/vendor.properties
+++ b/weinre.build/vendor.properties
@@ -1,8 +1,20 @@
 # ---
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2011 IBM Corporation
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
 # ---
 
 #-----------------------------------------------------------
diff --git a/weinre.doc/Building.body.html b/weinre.doc/Building.body.html
index 79ab67f..f5dc33b 100644
--- a/weinre.doc/Building.body.html
+++ b/weinre.doc/Building.body.html
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <p>The source repository for weinre is maintained at
diff --git a/weinre.doc/ChangeLog.body.html b/weinre.doc/ChangeLog.body.html
index 404ad29..9759636 100644
--- a/weinre.doc/ChangeLog.body.html
+++ b/weinre.doc/ChangeLog.body.html
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2011 IBM Corporation
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
 -->
 
 <!-- ======================================================================= -->
diff --git a/weinre.doc/Home.body.html b/weinre.doc/Home.body.html
index f5ef7de..281414a 100644
--- a/weinre.doc/Home.body.html
+++ b/weinre.doc/Home.body.html
@@ -1,9 +1,21 @@
 
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <p><span class="weinre">weinre</span> is <b>WE</b>b <b>IN</b>spector <b>RE</b>mote.
diff --git a/weinre.doc/Installing.body.html b/weinre.doc/Installing.body.html
index b94638a..c64088a 100644
--- a/weinre.doc/Installing.body.html
+++ b/weinre.doc/Installing.body.html
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <p><span class="weinre">weinre</span> is shipped as two archives
diff --git a/weinre.doc/License.body.html b/weinre.doc/License.body.html
index 975309d..d775ca5 100644
--- a/weinre.doc/License.body.html
+++ b/weinre.doc/License.body.html
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <p>weinre contains code from the following other projects:
@@ -31,9 +43,9 @@
 </ul>
 
 <p>The source for weinre itself is available under either
-the terms of the modified BSD license
-or
-the MIT License.
-See
-<a href="http://opensource.org/licenses/alphabetical">http://opensource.org/licenses/alphabetical</a>
-for full text.
+the terms of the Apacle License, Version 2.0.  You may obtain a copy of the
+License at
+
+<blockquote>
+    <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>
+</blockquote>
diff --git a/weinre.doc/MultiUser.body.html b/weinre.doc/MultiUser.body.html
index 065d892..177f363 100644
--- a/weinre.doc/MultiUser.body.html
+++ b/weinre.doc/MultiUser.body.html
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <p><span class="weinre">weinre</span> was originally designed so that each user
diff --git a/weinre.doc/Running.body.html b/weinre.doc/Running.body.html
index 6a63add..652bddd 100644
--- a/weinre.doc/Running.body.html
+++ b/weinre.doc/Running.body.html
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <p>This page describes how to use <span class="weinre">weinre</span> to debug
diff --git a/weinre.doc/Security.body.html b/weinre.doc/Security.body.html
index 14e1ee3..d8c09e6 100644
--- a/weinre.doc/Security.body.html
+++ b/weinre.doc/Security.body.html
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <p>About security for <span class="weinre">weinre</span>: <b>there is none</b>.
diff --git a/weinre.doc/TestDrive.body.html b/weinre.doc/TestDrive.body.html
index 76991e8..1bd1c2d 100644
--- a/weinre.doc/TestDrive.body.html
+++ b/weinre.doc/TestDrive.body.html
@@ -1,16 +1,28 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
 -->
 
-<p>This page gives a walk through of using <span class="weinre">weinre</span> to 
+<p>This page gives a walk through of using <span class="weinre">weinre</span> to
 debug a sample page that is provided with <span class="weinre">weinre</span> itself.  Read
 this walk through first, then follow along and run <span class="weinre">weinre</span> yourself
-to make sure it's installed and running correctly.  
+to make sure it's installed and running correctly.
 
-<p>You may also want to check out 
+<p>You may also want to check out
 <a href="http://www.youtube.com/watch?v=gaAI29UkVCc">the movie</a>, which
 shows a walk through with the demo page.
 
@@ -21,7 +33,7 @@
 
 <p>After you're done with the
 walk through, if you want to learn how to debug your own web pages with
-<span class="weinre">weinre</span>, 
+<span class="weinre">weinre</span>,
 head to the
 <a href="Running.html">Running page</a> for more information.
 
@@ -39,26 +51,26 @@
 bind to something other than just localhost.  The default configuration
 is the safe one, and good enough to run this walk through.
 
-<p>To start the server,  
+<p>To start the server,
 <a href="Installing.html">install the <tt>weinre.jar</tt> file</a>,
 then run the following command:
 
 <pre>
 java -jar weinre.jar -httpPort 8081
-</pre> 
+</pre>
 
 <p><img src="images/weinre-con-01-h.jpg">
 
-<p>You should see some output in your console, 
+<p>You should see some output in your console,
 like this:
 
 <p><img src="images/weinre-con-02-h.jpg">
 
-<p>If you see messages about "Address in use", 
+<p>If you see messages about "Address in use",
 that means that some other program is using port 8081, and so you'll need to
 use a different one.
 
-<p>Note that the server is now running.  
+<p>Note that the server is now running.
 When you are ready to stop the server, kill the
 program with Ctrl-C or whatever.
 
@@ -90,7 +102,7 @@
 Note that you probably want to open this page in
 another window (not just another tab, and not
 replacing this page).
-The link should be 
+The link should be
 <tt><a href="http://localhost:8081/client">http://localhost:8081/client</a></tt>.
 
 <p>You should see the following page in your browser:
@@ -103,12 +115,12 @@
 shown, at the
 top of the web page - "Remote", "Elements", and "Console".
 
-<p>The "Remote" panel 
+<p>The "Remote" panel
 provides information about what clients and targets
 are connected to the server, and other goodies.
 
 <p>The "Remote" panel is not included with the desktop browser's
-version of Web Inspector.  But the other two panels, 
+version of Web Inspector.  But the other two panels,
 "Elements" and "Console" are the exact same panels from the
 desktop browser version of Web Inspector.
 
@@ -138,7 +150,7 @@
 <p><img src="images/weinre-cli-03-p.jpg">
 
 <p>You should now see that there's a target connected, as indicated
-by the entry in the Targets section.  That's 
+by the entry in the Targets section.  That's
 your demo page - you know because it shows the URL.
 
 <p>It's also green, meaning that a client is connected to it.  That's you!
@@ -146,7 +158,7 @@
 to a target.
 
 <p>The debug client will always attempt to connect to the most recently
-connected debug target.  But you can also click on a target to 
+connected debug target.  But you can also click on a target to
 explicitly switch to it.
 
 <p>Now what?  Try clicking the Elements tab, as indicated
@@ -164,7 +176,7 @@
 
 <p><img src="images/weinre-cli-04-h.jpg">
 
-<p>The console is now open, as shown below.  
+<p>The console is now open, as shown below.
 
 <p><img src="images/weinre-cli-05-h.jpg">
 
@@ -177,7 +189,7 @@
 document.body.style.background = "green"
 </pre>
 
-<p>Guess what that does? 
+<p>Guess what that does?
 
 <p><img src="images/weinre-cli-06-h.jpg">
 
diff --git a/weinre.doc/UserInterface.body.html b/weinre.doc/UserInterface.body.html
index b5a95cd..3a83479 100644
--- a/weinre.doc/UserInterface.body.html
+++ b/weinre.doc/UserInterface.body.html
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <p>This page describes the user interface provided by <span class="weinre">weinre</span>.
diff --git a/weinre.doc/boilerplate-header.html.txt b/weinre.doc/boilerplate-header.html.txt
index 73acd31..77ae9ed 100644
--- a/weinre.doc/boilerplate-header.html.txt
+++ b/weinre.doc/boilerplate-header.html.txt
@@ -1,10 +1,22 @@
 <!doctype html>
 
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <html>
diff --git a/weinre.doc/boilerplate-trailer.html.txt b/weinre.doc/boilerplate-trailer.html.txt
index f2244a0..78ba0b4 100644
--- a/weinre.doc/boilerplate-trailer.html.txt
+++ b/weinre.doc/boilerplate-trailer.html.txt
@@ -1,10 +1,22 @@
 
 
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
 -->
 
 <div class="toc">
diff --git a/weinre.doc/css/main.css b/weinre.doc/css/main.css
index ba071e2..8e4078d 100644
--- a/weinre.doc/css/main.css
+++ b/weinre.doc/css/main.css
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
  */
 
 body {
diff --git a/weinre.doc/scripts/main.js b/weinre.doc/scripts/main.js
index ce6c8f2..68dc5b0 100644
--- a/weinre.doc/scripts/main.js
+++ b/weinre.doc/scripts/main.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 //-----------------------------------------------------------------------------
@@ -16,12 +28,12 @@
     for (var i=0; i<elements.length; i++) {
         var element = elements[i]
         if (!hasClass(element, "expand-on-click")) continue
-     
+
         addClass(element, "width-transition")
-        element._original_width_ = element.width 
+        element._original_width_ = element.width
         element._contracted_     = true
         element.width            = element.width / 2
-        
+
         element.addEventListener("click", clickToExpand, false)
     }
 }
@@ -29,20 +41,20 @@
 //-----------------------------------------------------------------------------
 function clickToExpand(event) {
     var element = this
-    
+
     if (element._contracted_) {
         element.width = element._original_width_
     }
     else {
         element.width = element._original_width_ / 2
     }
-    
+
     element._contracted_ = ! element._contracted_
-    
+
 //     if (hasClass(element, "contracted")) {
 //         removeClass(element, "contracted")
 //     }
-//     
+//
 //     else {
 //         addClass(element,    "contracted")
 //     }
@@ -60,7 +72,7 @@
 //-----------------------------------------------------------------------------
 function addClass(element, className) {
     if (hasClass(element, className)) return
-    
+
     element.className += " " + className
 }
 
diff --git a/weinre.server/interfaces/WeinreClientCommands.idl b/weinre.server/interfaces/WeinreClientCommands.idl
index d0f86cb..9c4707e 100644
--- a/weinre.server/interfaces/WeinreClientCommands.idl
+++ b/weinre.server/interfaces/WeinreClientCommands.idl
@@ -1,15 +1,27 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 // messages from the client to the server
 
 module weinre {
     interface WeinreClientCommands {
-    
+
         void registerClient(out string clientId);
 
         void getTargets(out Object[] targets);
@@ -17,9 +29,9 @@
 
         void connectTarget(in string clientId, in string targetId);
         void disconnectTarget(in string clientId);
-        
+
         void getExtensions(out string[] extensions)
-        
+
         void logDebug(   in string message );
         void logInfo(    in string message );
         void logWarning( in string message );
diff --git a/weinre.server/interfaces/WeinreClientEvents.idl b/weinre.server/interfaces/WeinreClientEvents.idl
index 4e9f0d9..612ed27 100644
--- a/weinre.server/interfaces/WeinreClientEvents.idl
+++ b/weinre.server/interfaces/WeinreClientEvents.idl
@@ -1,15 +1,27 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 // messages from the server to the client
 
 module weinre {
     interface WeinreClientEvents {
-    
+
         void clientRegistered(Object client);
         void targetRegistered(Object target);
 
@@ -18,9 +30,9 @@
 
         void connectionCreated(string clientId, string targetId);
         void connectionDestroyed(string clientId, string targetId);
-        
+
         void sendCallback(string callbackId, Object result);
-        
+
         void serverProperties(Object properties);
     };
 }
diff --git a/weinre.server/interfaces/WeinreExtraClientCommands.idl b/weinre.server/interfaces/WeinreExtraClientCommands.idl
index 5d6fe5c..c28b747 100644
--- a/weinre.server/interfaces/WeinreExtraClientCommands.idl
+++ b/weinre.server/interfaces/WeinreExtraClientCommands.idl
@@ -1,15 +1,27 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 // extra messages from the client to the target
 
 module weinre {
     interface WeinreExtraClientCommands {
-    
+
         void getDatabases(out Object[] databaseRecords);
 
     };
diff --git a/weinre.server/interfaces/WeinreExtraTargetEvents.idl b/weinre.server/interfaces/WeinreExtraTargetEvents.idl
index 58a6b72..0f2ca54 100644
--- a/weinre.server/interfaces/WeinreExtraTargetEvents.idl
+++ b/weinre.server/interfaces/WeinreExtraTargetEvents.idl
@@ -1,15 +1,27 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 // extra messages from the target to the client
 
 module weinre {
     interface WeinreExtraTargetEvents {
-    
+
         void databaseOpened(in Object databaseRecord);
 
     };
diff --git a/weinre.server/interfaces/WeinreTargetCommands.idl b/weinre.server/interfaces/WeinreTargetCommands.idl
index ed3f051..253229c 100644
--- a/weinre.server/interfaces/WeinreTargetCommands.idl
+++ b/weinre.server/interfaces/WeinreTargetCommands.idl
@@ -1,15 +1,27 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 // messages from the target to the server
 
 module weinre {
     interface WeinreTargetCommands {
-    
+
         void registerTarget(int url, out string targetId);
 
         void sendClientCallback(string callbackId, Object args);
diff --git a/weinre.server/interfaces/WeinreTargetEvents.idl b/weinre.server/interfaces/WeinreTargetEvents.idl
index 5326b4b..b9060fb 100644
--- a/weinre.server/interfaces/WeinreTargetEvents.idl
+++ b/weinre.server/interfaces/WeinreTargetEvents.idl
@@ -1,20 +1,32 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 // messages from the server to the target
 
 module weinre {
     interface WeinreTargetEvents {
-    
+
         void connectionCreated(string clientId, string targetId);
         void connectionDestroyed(string clientId, string targetId);
-        
+
         void sendCallback(string callbackId, Object result);
-        
+
     };
 }
 
diff --git a/weinre.server/src/weinre/server/Channel.java b/weinre.server/src/weinre/server/Channel.java
index 0e19b12..6401e42 100644
--- a/weinre.server/src/weinre/server/Channel.java
+++ b/weinre.server/src/weinre/server/Channel.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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 weinre.server;
diff --git a/weinre.server/src/weinre/server/ChannelManager.java b/weinre.server/src/weinre/server/ChannelManager.java
index 77f326a..2926b09 100644
--- a/weinre.server/src/weinre/server/ChannelManager.java
+++ b/weinre.server/src/weinre/server/ChannelManager.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -19,11 +31,11 @@
 
     private Map<String, Channel>              channelMap;
     private List<ChannelManagerEventListener> eventListeners;
-    
+
     //---------------------------------------------------------------
     private ChannelManager() {
         super();
-        
+
         channelMap     = new HashMap<String, Channel>();
         eventListeners = new ArrayList<ChannelManagerEventListener>();
     }
@@ -32,7 +44,7 @@
     public void addEventListener(ChannelManagerEventListener listener) {
         eventListeners.add(listener);
     }
-    
+
     //---------------------------------------------------------------
     public void removeEventListener(ChannelManagerEventListener listener) {
         eventListeners.add(listener);
@@ -44,7 +56,7 @@
             listener.channelRegistered(channel);
         }
     }
-    
+
     //---------------------------------------------------------------
     private void fireDeregisteredEvent(Channel channel) {
         for (ChannelManagerEventListener listener: eventListeners) {
@@ -56,43 +68,43 @@
     public Channel getChannel(String channelName) {
         return channelMap.get(channelName);
     }
-    
+
     //---------------------------------------------------------------
     public Channel getChannel(String channelName, String remoteAddress) {
         Channel channel = getChannel(channelName);
         if (null == channel) return null;
-        
+
         if (!channel.getRemoteAddress().equals(remoteAddress)) return null;
-        
+
         return channel;
     }
-    
+
     //---------------------------------------------------------------
     public List<Channel> getChannels() {
         return new ArrayList<Channel>(channelMap.values());
     }
-    
+
     //---------------------------------------------------------------
     public Channel registerChannel(String pathPrefix, String channelName, String id, String remoteHost, String remoteAddress) {
         if (channelMap.containsKey(channelName)) return null;
-        
+
         Channel channel = new Channel(pathPrefix, channelName, id, remoteHost, remoteAddress);
         channelMap.put(channelName, channel);
-        
+
         fireRegisteredEvent(channel);
-        
+
         return channel;
     }
-    
+
     //---------------------------------------------------------------
     public Channel deregisterChannel(String channelName) {
         Channel channel = getChannel(channelName);
         if (null == channel) return null;
-        
+
         fireDeregisteredEvent(channel);
-        
+
         channelMap.remove(channelName);
-        
+
         return channel;
     }
 
diff --git a/weinre.server/src/weinre/server/ChannelManagerEventListener.java b/weinre.server/src/weinre/server/ChannelManagerEventListener.java
index e97ef7c..f15f2dd 100644
--- a/weinre.server/src/weinre/server/ChannelManagerEventListener.java
+++ b/weinre.server/src/weinre/server/ChannelManagerEventListener.java
@@ -1,18 +1,30 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
 
 //-------------------------------------------------------------------
 public interface ChannelManagerEventListener {
-    
+
     //---------------------------------------------------------------
     public void channelRegistered(Channel channel);
-    
+
     //---------------------------------------------------------------
     public void channelDeregistered(Channel channel);
 }
diff --git a/weinre.server/src/weinre/server/Client.java b/weinre.server/src/weinre/server/Client.java
index 4eed575..d2118cc 100644
--- a/weinre.server/src/weinre/server/Client.java
+++ b/weinre.server/src/weinre/server/Client.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -15,7 +27,7 @@
 public class Client extends Connector {
 
     private Target connectedTarget;
-    
+
     //---------------------------------------------------------------
     public Client(Channel channel) {
         super(channel);
@@ -26,18 +38,18 @@
     public boolean isClient() {
         return true;
     }
-    
+
     //---------------------------------------------------------------
     public Target getConnectedTarget() {
         return connectedTarget;
     }
-    
+
     //---------------------------------------------------------------
     protected void _connect(Target target) {
         if (null == target) return;
-        
+
         Lock.lock();
-        
+
         try {
             connectedTarget = target;
         }
@@ -45,13 +57,13 @@
             Lock.unlock();
         }
     }
-    
+
     //---------------------------------------------------------------
     protected void _disconnect(Target target) {
         if (null == target) return;
-        
+
         Lock.lock();
-        
+
         try {
             connectedTarget = null;
         }
@@ -59,22 +71,22 @@
             Lock.unlock();
         }
     }
-    
+
     //---------------------------------------------------------------
     public JSONObject getDescription() {
       JSONObject result = new JSONObject();
-      
+
       try {
           result.put("channel",            getChannel().getName());
           result.put("id",                 getChannel().getId());
           result.put("hostName",           getChannel().getRemoteHost());
           result.put("connectedTargetIds", new JSONArray());
-      } 
+      }
       catch (JSONException e) {
           throw new RuntimeException(e);
       }
 
       return result;
     }
-    
+
 }
diff --git a/weinre.server/src/weinre/server/ConnectionManager.java b/weinre.server/src/weinre/server/ConnectionManager.java
index 7a3ccc1..88994cc 100644
--- a/weinre.server/src/weinre/server/ConnectionManager.java
+++ b/weinre.server/src/weinre/server/ConnectionManager.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -17,15 +29,15 @@
 public class ConnectionManager {
 
     static final public ConnectionManager $ = new ConnectionManager();
-    
+
     private Map<String,Client> clientMap;
     private Map<String,Target> targetMap;
-    private boolean            listening = false; 
+    private boolean            listening = false;
 
     //---------------------------------------------------------------
     private ConnectionManager() {
         super();
-        
+
         clientMap = Collections.synchronizedMap(new HashMap<String,Client>());
         targetMap = Collections.synchronizedMap(new HashMap<String,Target>());
     }
@@ -34,9 +46,9 @@
     public void startChannelListener() {
         if (listening) return;
         listening = true;
-        
+
         ChannelManager.$.addEventListener(new ChannelManagerEventListener() {
-            
+
             @Override
             public void channelRegistered(Channel channel) {
             }
@@ -51,7 +63,7 @@
             }
         });
     }
-    
+
     //---------------------------------------------------------------
     public void addClient(Client client) {
         clientMap.put(client.getName(), client);
@@ -89,26 +101,26 @@
     //---------------------------------------------------------------
     public List<Client> getClients(String id) {
         List<Client> result = new ArrayList<Client>();
-        
+
         for (Client client: clientMap.values()) {
             if (client.getId().equals(id)) {
                 result.add(client);
             }
         }
-        
+
         return result;
     }
 
     //---------------------------------------------------------------
     public List<Target> getTargets(String id) {
         List<Target> result = new ArrayList<Target>();
-        
+
         for (Target target: targetMap.values()) {
             if (target.getId().equals(id)) {
                 result.add(target);
             }
         }
-        
+
         return result;
     }
 
@@ -120,10 +132,10 @@
         if (connectedTarget == target) return;
 
         disconnect(client, connectedTarget);
-        
+
         client._connect(target);
         target._connect(client);
-        
+
         _sendConnectionCreatedEvent(client, target);
     }
 
@@ -141,12 +153,12 @@
     private void _sendConnectionCreatedEvent(Client client, Target target) {
         _sendConnectionEvent(client, target, "connectionCreated");
     }
-    
+
     //---------------------------------------------------------------
     private void _sendConnectionDestroyedEvent(Client client, Target target) {
         _sendConnectionEvent(client, target, "connectionDestroyed");
     }
-    
+
     //---------------------------------------------------------------
     private void _sendConnectionEvent(Client client, Target target, String message) {
         String clientName = client.getChannel().getName();
@@ -155,7 +167,7 @@
         _sendAllClientsEvent("WeinreClientEvents", client.getId(), message, clientName, targetName);
         target.getChannel().sendEvent("WeinreTargetEvents", message, clientName, targetName);
     }
-    
+
     //---------------------------------------------------------------
     private void _sendAllClientsEvent(String intfName, String id, String message, Object... args) {
         for (Client aClient: getClients(id)) {
@@ -166,7 +178,7 @@
     //---------------------------------------------------------------
     protected void closeConnector(Connector connector) {
         if (null == connector) return;
-        
+
         if (connector.isClient()) _closeClient((Client)connector);
         if (connector.isTarget()) _closeTarget((Target)connector);
     }
@@ -179,21 +191,21 @@
         if (null != target) {
             disconnect(client, target);
         }
-        
+
         _removeClient(client);
     }
-    
+
     //---------------------------------------------------------------
     private void _closeTarget(Target target) {
         if (null == target) return;
 
         List<Client> clients = target.getConnectedClients();
-        
+
         for (Client client: clients) {
             disconnect(client, target);
         }
-        
+
         _removeTarget(target);
     }
-    
+
 }
diff --git a/weinre.server/src/weinre/server/Connector.java b/weinre.server/src/weinre/server/Connector.java
index 80c2895..5497895 100644
--- a/weinre.server/src/weinre/server/Connector.java
+++ b/weinre.server/src/weinre/server/Connector.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -18,78 +30,78 @@
 abstract public class Connector {
 
     static final protected Lock Lock = new ReentrantLock();
-    
+
     private Channel channel;
-    
+
     //---------------------------------------------------------------
     public Connector(Channel channel) {
         super();
-        
+
         this.channel = channel;
         channel._setConnector(this);
     }
-    
+
     //---------------------------------------------------------------
     protected void _register() {
         if (isClient()) ConnectionManager.$.addClient((Client) this);
         if (isTarget()) ConnectionManager.$.addTarget((Target) this);
     }
-    
+
     //---------------------------------------------------------------
     public Channel getChannel() {
         return channel;
     }
-    
+
     //---------------------------------------------------------------
     public String getName() {
         return channel.getName();
     }
-    
+
     //---------------------------------------------------------------
     public String getId() {
         return channel.getId();
     }
-    
+
     //---------------------------------------------------------------
     public List<Connector> getConnections() {
         List<Connector> result = new ArrayList<Connector>();
-        
+
         if (isClient()) {
             Connector target = ((Client) this).getConnectedTarget();
             if (null != target) {
                 result.add(target);
             }
         }
-        
+
         else if (isTarget()) {
             result.addAll(((Target) this).getConnectedClients());
         }
-        
+
         else {
             throw new RuntimeException("connector which isn't a client or target");
         }
-        
+
         return result;
     }
-    
+
     //---------------------------------------------------------------
     abstract public JSONObject getDescription();
-    
+
     //---------------------------------------------------------------
     public boolean isClosed() {
         return channel.isClosed();
     }
-    
+
     //---------------------------------------------------------------
     public boolean isClient() {
         return false;
     }
-    
+
     //---------------------------------------------------------------
     public boolean isTarget() {
         return false;
     }
-    
+
     //---------------------------------------------------------------
     public String toString() {
         return getClass().getName() + "{" + channel + "}";
diff --git a/weinre.server/src/weinre/server/ConsoleOutputStream.java b/weinre.server/src/weinre/server/ConsoleOutputStream.java
index dc62c2d..307addc 100644
--- a/weinre.server/src/weinre/server/ConsoleOutputStream.java
+++ b/weinre.server/src/weinre/server/ConsoleOutputStream.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -23,7 +35,7 @@
     static public PrintStream newPrintStream(Main main, PrintStream originalStream, boolean stdout) {
         return new PrintStream(new ConsoleOutputStream(main, originalStream, stdout));
     }
-    
+
     //---------------------------------------------------------------
     public ConsoleOutputStream(Main main, PrintStream originalStream, boolean stdout) {
         this.main           = main;
@@ -31,17 +43,17 @@
         this.stdout         = stdout;
         this.stringBuffer   = new StringBuffer();
     }
-    
+
     //---------------------------------------------------------------
     @Override
     public void write(int c) throws IOException {
         if (c == 0x0D) return;
-        
+
         if (c != 0x0A) {
             stringBuffer.append(Character.toChars(c));
             return;
         }
-        
+
         String line = stringBuffer.toString();
         stringBuffer = new StringBuffer();
         _writeLine(line);
@@ -50,7 +62,7 @@
     //---------------------------------------------------------------
     private void _writeLine(String line) {
         originalStream.println(line);
-        
+
         main.addServerConsoleMessage(line, stdout);
     }
 
diff --git a/weinre.server/src/weinre/server/ExtensionManager.java b/weinre.server/src/weinre/server/ExtensionManager.java
index 3977e86..6831904 100644
--- a/weinre.server/src/weinre/server/ExtensionManager.java
+++ b/weinre.server/src/weinre/server/ExtensionManager.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -17,50 +29,50 @@
 
 //-------------------------------------------------------------------
 public class ExtensionManager {
-    static private File     weinreHomeDir = null;     
-    static private File     weinreExtDir  = null;    
+    static private File     weinreHomeDir = null;
+    static private File     weinreExtDir  = null;
     static private long     weinreExtDate = 0L;
     static private String[] extensions    = null;
-    
+
     static private String[] EMPTY_STRING_ARRAY = {};
 
     //---------------------------------------------------------------
     static {
         initExtensions();
     }
-    
+
     //---------------------------------------------------------------
     static public String[] getExtensions() {
         if (null == weinreExtDir) return extensions;
-        
+
         if (weinreExtDate != weinreExtDir.lastModified()) {
             initExtensions();
         }
-        
+
         return extensions;
     }
-    
+
     //---------------------------------------------------------------
     // path: /client/extensions/weinre-ext-sample/extension.html
     static public Resource getResource(String path) throws MalformedURLException {
         if (null == weinreExtDir) return null;
-        
+
         File resourceFile = new File(weinreExtDir, path.substring(18));
         if (!resourceFile.exists()) return null;
-        
+
         try {
             return Resource.newResource(resourceFile.toURI().toURL().toExternalForm(), false);
-        } 
+        }
         catch (IOException e) {
             throw new MalformedURLException();
         }
     }
-    
+
     //---------------------------------------------------------------
     static private void initExtensions() {
-        
+
         extensions = EMPTY_STRING_ARRAY;
-            
+
         weinreHomeDir = new File(System.getProperty("user.home"), ".weinre");
         if (!weinreHomeDir.isDirectory()) {
             Main.info("extensions not enabled: ~/.weinre is not a directory");
@@ -73,23 +85,23 @@
             Main.info("extensions not enabled: ~/.weinre/extensions is not a directory");
             return;
         }
-        
+
         List<String> extensionList = new ArrayList<String>();
-        
+
         String[] entries = weinreExtDir.list();
         for (String entry: entries) {
             if (entry.startsWith(".")) continue;
-            
+
             File extDir = new File(weinreExtDir, entry);
             if (!extDir.isDirectory()) continue;
-            
+
             File extensionHtml = new File(extDir, "extension.html");
             if (!extensionHtml.isFile()) continue;
-            
+
             extensionList.add(entry);
         }
-        
+
         extensions = extensionList.toArray(EMPTY_STRING_ARRAY);
     }
-    
+
 }
diff --git a/weinre.server/src/weinre/server/Main.java b/weinre.server/src/weinre/server/Main.java
index 4968fee..c762142 100644
--- a/weinre.server/src/weinre/server/Main.java
+++ b/weinre.server/src/weinre/server/Main.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -19,10 +31,10 @@
 
 //-------------------------------------------------------------------
 public class Main {
-    
+
     private static ServerSettings  Settings;
     private static Logger          Logger;
-    
+
     public  Server       server;
     private PrintStream  consoleStdout;
     private PrintStream  consoleStderr;
@@ -30,7 +42,7 @@
     //---------------------------------------------------------------
     static public void main(String[] args) throws Throwable {
         Main main = new Main(args);
-        
+
         main.run();
     }
 
@@ -53,43 +65,43 @@
     //---------------------------------------------------------------
     public Main(String[] args) {
         super();
-        
+
         Settings = ServerSettings.getOptions(args);
         if (null == Settings) System.exit(0);
-        
+
         if (null != Settings.getMessageLog()) {
             Settings.getMessageLog().println("[");
         }
-        
+
         Runtime.getRuntime().addShutdownHook(onShutdownThread());
-        
+
         consoleStdout = ConsoleOutputStream.newPrintStream(this, System.out, true);
         consoleStderr = ConsoleOutputStream.newPrintStream(this, System.err, false);
 
         System.setOut(consoleStdout);
         System.setErr(consoleStderr);
     }
-    
+
     //---------------------------------------------------------------
     public void run() throws Throwable, Exception {
         httpServerStart();
         httpServerWaitTillDone();
         exit();
     }
-    
+
     //---------------------------------------------------------------
     private Thread onShutdownThread() {
         return new Thread(new Runnable() {
             public void run() {
                 PrintWriter messageLog = Settings.getMessageLog();
                 if (null == messageLog) return;
-                
+
                 messageLog.println("null ]");
                 messageLog.close();
             }
         });
     }
-    
+
     //---------------------------------------------------------------
     public int exit() {
         if (null != server) {
@@ -107,8 +119,8 @@
                 warn("exception stopping the server: " + e);
                 e.printStackTrace();
             }
-        } 
-        
+        }
+
         System.exit(0);
         return 0;
     }
@@ -117,7 +129,7 @@
     public void httpServerStart() {
         // get the default logger - this should be the first thing to touch the log
         Logger defaultLog = Log.getLog();
-        
+
         if (defaultLog instanceof StdErrLog) {
             ((StdErrLog) defaultLog).setHideStacks(true);
         }
@@ -125,7 +137,7 @@
         // create a special logger for weinre messages
         Logger = org.eclipse.jetty.util.log.Log.getLogger("weinre");
         Logger.setDebugEnabled(Settings.getVerbose());
-        
+
         server = null;
         try {
             server = new HttpServer(this, Settings).run();
@@ -133,7 +145,7 @@
         catch (Throwable e) {
             severeError("exception launching server: " + e);
         }
-        
+
         ConnectionManager.$.startChannelListener();
         WatchDog.start();
         MessageHandler.start();
@@ -148,20 +160,20 @@
             severeError("exception waiting for server to stop: " + e);
         }
     }
-    
+
     //---------------------------------------------------------------
     public void serverStarted() {
     }
-    
+
     //---------------------------------------------------------------
     public void addServerConsoleMessage(String line, boolean stdout) {
     }
-    
+
     //---------------------------------------------------------------
     public int severeError(String message) {
         Logger.warn(message);
         Logger.warn("exiting...");
         return exit();
     }
-    
+
 }
diff --git a/weinre.server/src/weinre/server/MessageHandler.java b/weinre.server/src/weinre/server/MessageHandler.java
index bbddc9f..da878ba 100644
--- a/weinre.server/src/weinre/server/MessageHandler.java
+++ b/weinre.server/src/weinre/server/MessageHandler.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -24,40 +36,40 @@
     //---------------------------------------------------------------
     static public void start() {
         final MessageHandler messageHandler = new MessageHandler();
-        
+
         Runnable runnable = new Runnable() {
             public void run() {
                 while (true) {
-                    try { 
+                    try {
                         messageHandler.handleMessages();
-                        Thread.sleep(250); 
-                    } 
+                        Thread.sleep(250);
+                    }
                     catch(InterruptedException e) {
                         throw new RuntimeException(e);
                     }
                 }
             }
         };
-        
+
         Thread thread = new Thread(runnable, messageHandler.getClass().toString());
         thread.start();
     }
-    
+
     //---------------------------------------------------------------
     private MessageHandler() {
         messageLog = Main.getSettings().getMessageLog();
     }
-    
+
     //---------------------------------------------------------------
     private void handleMessages() throws InterruptedException {
         List<Channel> channels = ChannelManager.$.getChannels();
-        
+
         for (Channel channel: channels) {
             List<String> requestss = channel.getRequests(0);
-            
+
             for (String requests: requestss) {
                 JSONArray acc;
-                
+
                 try {
                     acc = new JSONArray(requests);
                 }
@@ -65,7 +77,7 @@
                     Main.warn("error parsing requests: " + e + ": '" + requests + "'");
                     continue;
                 }
-                
+
                 int size = acc.length();
                 for (int i=0; i<size; i++) {
                     JSONObject accRequest;
@@ -74,18 +86,18 @@
                         request = acc.getString(i);
                         accRequest = new JSONObject(request);
                         accRequest.put("_from", channel.getName() + "#" + channel.getId());
-                        
+
                         if (null != messageLog) {
                             messageLog.print(accRequest.toString(true));
                             messageLog.println(",");
                         }
-                        
+
                     }
                     catch (JSONException e) {
                         Main.warn("error parsing request: " + e + ": '" + request + "'");
                         continue;
                     }
-                        
+
                     String intfName;
                     String methodName;
                     JSONArray args;
@@ -96,22 +108,22 @@
                     } catch (JSONException e) {
                         throw new RuntimeException(e);
                     }
-                    
+
                     if (null == intfName) {
                         Main.warn("no interface specified in request: " + request);
                         continue;
                     }
-                    
+
                     if (null == methodName) {
                         Main.warn("no methodName specified in request: " + request);
                         continue;
                     }
-                    
+
                     if (null == args) {
                         Main.warn("no args specified in request: " + request);
                         continue;
                     }
-       
+
                     serviceMethodInvoker(channel, intfName, methodName, args);
                 }
             }
@@ -129,7 +141,7 @@
             String methodSignatureParms = intfName + "." + methodName + "(" + argsJSON.toString() + ")";
             Main.debug(channel.getName() + ": recv " + methodSignatureParms);
         }
-        
+
         try {
             service = channel.getService(intfName);
         }
@@ -137,35 +149,35 @@
             Main.warn("unable to get service object for: " + methodSignature + "; " + e);
             return;
         }
-        
+
         if (null == service) {
             redirectToConnections(channel, intfName, methodName, argsJSON);
             return;
         }
-        
+
         Class serviceClass = service.getClass();
-        
+
         List<Object> args = new ArrayList<Object>(argsJSON);
-        
+
         for (Method method: serviceClass.getMethods()) {
             if (!method.getName().equals(methodName)) continue;
-            
+
             if (method.getParameterTypes().length != args.size() + 1) {
                 Main.warn("invalid number of parameters specified for : " + methodSignature);
                 return;
             }
-            
+
             args.add(0, channel);
-            
+
             try {
                 method.invoke(service, args.toArray());
-            } 
+            }
             catch (IllegalArgumentException e) {
                 Main.warn("illegal argument exception invoking : " + methodSignature + "; " + e);
-            } 
+            }
             catch (IllegalAccessException e) {
                 Main.warn("illegal access exception invoking : " + methodSignature + "; " + e);
-            } 
+            }
             catch (InvocationTargetException e) {
                 Throwable te = e.getTargetException();
                 Main.warn("invocation target exception invoking : " + methodSignature + "; " + te);
@@ -174,7 +186,7 @@
             catch (RuntimeException e) {
                 Main.warn("invocation runtime exception invoking : " + methodSignature + "; " + e);
             }
-            
+
             return;
         }
 
@@ -185,13 +197,13 @@
     private void redirectToConnections(Channel channel, String interfaceName, String methodName, JSONArray args) {
         Connector connector = channel.getConnector();
         if (null == connector) return;
-        
+
         List<Connector> connections = connector.getConnections();
-        
+
         for (Connector connection: connections) {
             connection.getChannel().sendEvent(interfaceName, methodName, args.toArray());
-        } 
+        }
     }
 
-    
+
 }
diff --git a/weinre.server/src/weinre/server/MessageQueue.java b/weinre.server/src/weinre/server/MessageQueue.java
index 09937ea..3c464eb 100644
--- a/weinre.server/src/weinre/server/MessageQueue.java
+++ b/weinre.server/src/weinre/server/MessageQueue.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -15,10 +27,10 @@
 
 /**
  * A type of blocking queue.
- * 
+ *
  * - can be shutdown; subsequent add() or getAll() calls throw ISE
  * - getAll() takes all items off the queue
- * - if there are simultaneous getAll() calls, queued items may be split between them 
+ * - if there are simultaneous getAll() calls, queued items may be split between them
  * - current use case calls for one reader, so previous item not relevant
  */
 public class MessageQueue<E> {
@@ -26,26 +38,26 @@
     private BlockingQueue<E> queue;
     private boolean          closed;
     private Object           closeLock;
-    
+
     //---------------------------------------------------------------
     public MessageQueue() {
         super();
-        
+
         queue     = new LinkedBlockingQueue<E>();
         closed    = false;
         closeLock = new Object();
     }
-    
+
     //---------------------------------------------------------------
     public void shutdown() {
         synchronized(closeLock) {
             if (closed) return;
-            
+
             closed = true;
             queue.clear();
         }
     }
-    
+
     //---------------------------------------------------------------
     public void add(E item) {
         synchronized(closeLock) {
@@ -54,7 +66,7 @@
 
         queue.add(item);
     }
-    
+
     //---------------------------------------------------------------
     public List<E> getAll(int timeout, TimeUnit timeUnit) throws InterruptedException {
         synchronized(closeLock) {
@@ -63,10 +75,10 @@
 
         // create our result list
         List<E> result = new LinkedList<E>();
-        
+
         // wait for the first item
         E item = queue.poll(timeout, timeUnit);
-        
+
         // nothing there?  return empty list
         if (null == item) return result;
 
@@ -78,11 +90,11 @@
         while ((item = queue.poll()) != null) {
             result.add(item);
         }
-        
+
         // return list
         return result;
     }
-    
+
     //---------------------------------------------------------------
     public String toString()  {
         return getClass().getName() + "{" + queue.size() + "}";
diff --git a/weinre.server/src/weinre/server/ServerSettings.java b/weinre.server/src/weinre/server/ServerSettings.java
index a2c73c7..4a43094 100644
--- a/weinre.server/src/weinre/server/ServerSettings.java
+++ b/weinre.server/src/weinre/server/ServerSettings.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -33,7 +45,7 @@
 public class ServerSettings {
 
     final static private String BoundHostAllConstant = "-all-";
-    
+
     private int         httpPort           = 8080;
     private String      boundHost          = "localhost";
 //  private boolean     useProxy           = false;
@@ -43,7 +55,7 @@
     private int         deathTimeoutSeconds;
     private Properties  fileProperties;
     private PrintWriter messageLog;
-    
+
     //---------------------------------------------------------------
     static public ServerSettings getOptions(String[] commandLine) {
         ServerSettings settings = new ServerSettings();
@@ -53,14 +65,14 @@
     //---------------------------------------------------------------
     private ServerSettings() {
         super();
-        
+
         fileProperties = fromPropertiesFile();
     }
 
     //---------------------------------------------------------------
     private Options getOptions() {
         Options options = new Options();
-       
+
         options.addOption("?",            false, "display help");
         options.addOption("h", "help",    false, "display help");
         options.addOption("httpPort",     true,  "tcp/ip port to use for the http server");
@@ -71,7 +83,7 @@
         options.addOption("readTimeout",  true,  "seconds before timing out HTTP GETs");
         options.addOption("deathTimeout", true,  "seconds before considering connector dead");
         options.addOption("messageLog",   true,  "file to log messages to");
-       
+
         return options;
     }
 
@@ -87,20 +99,20 @@
         result.put("reuseAddr",    this.reuseAddr + "");
         result.put("readTimeout",  this.readTimeoutSeconds + "");
         result.put("deathTimeout", this.deathTimeoutSeconds + "");
-        
+
         return result;
     }
 
     //---------------------------------------------------------------
     private Properties fromPropertiesFile() {
         Properties result = Utility.readPropertiesFile("server.properties");
-        
+
         // ya, Properties doesn't trim space off values
         for (String key: result.stringPropertyNames()) {
             String val = result.getProperty(key);
             result.setProperty(key, val.trim());
         }
-        
+
         return result;
     }
 
@@ -112,7 +124,7 @@
         CommandLine       commandLine;
         try {
             commandLine = parser.parse(options, commandLineArgs);
-        } 
+        }
         catch (ParseException e) {
             error(e.getMessage());
             return null;
@@ -145,14 +157,14 @@
     //---------------------------------------------------------------
     private int getIntFromOption(CommandLine commandLine, String name, int defaultValue, int min, int max) {
         int result = defaultValue;
-        
+
         String stringValue = commandLine.getOptionValue(name);
         if (null == stringValue) {
             stringValue = fileProperties.getProperty(name);
         }
 
         if (null == stringValue) return defaultValue;
-            
+
         try {
             result = Integer.parseInt(stringValue);
         }
@@ -160,14 +172,14 @@
             error(name + " parameter must be numeric");
             return result;
         }
-        
+
         if ((result < min) || (result > 0x00FFFF)) {
             error(name + " parameter must be between " + min + " and " + max);
         }
 
         return result;
     }
-    
+
     //---------------------------------------------------------------
     private String getStringFromOption(CommandLine commandLine, String name, String defaultValue) {
         String stringValue = commandLine.getOptionValue(name);
@@ -176,21 +188,21 @@
         }
 
         if (null == stringValue) return defaultValue;
-        
+
         return stringValue;
     }
-    
+
     //---------------------------------------------------------------
     private boolean getBooleanFromOption(CommandLine commandLine, String name, boolean defaultValue) {
         boolean result = defaultValue;
-        
+
         String stringValue = commandLine.getOptionValue(name);
         if (null == stringValue) {
             stringValue = fileProperties.getProperty(name);
         }
 
         if (null == stringValue) return defaultValue;
-            
+
         result = Boolean.parseBoolean(stringValue);
 
         return result;
@@ -198,20 +210,20 @@
 
     //---------------------------------------------------------------
     private PrintWriter getPrintWriterFromOption(CommandLine commandLine, String name) {
-        
+
         String fileName = commandLine.getOptionValue(name);
         if (null == fileName) {
             fileName = fileProperties.getProperty(name);
         }
 
         if (null == fileName) return null;
-        
+
         File file = new File(fileName);
-        
+
         try {
             FileWriter fileWriter = new FileWriter(file);
             return new PrintWriter(fileWriter);
-        } 
+        }
         catch (IOException e) {
             error(name + " parameter file name '" + fileName + "' cannot be opened for writing.");
             return null;
@@ -222,28 +234,28 @@
     private void error(String message) {
         System.out.println("error with command-line option: " + message);
     }
-    
+
     //---------------------------------------------------------------
     private void printHelp(Options options) {
         new HelpFormatter().printHelp("java -jar weinre.jar [options]", options);
     }
-    
+
     //---------------------------------------------------------------
     public int getHttpPort() {
         return httpPort;
     }
-    
+
     //---------------------------------------------------------------
     public String getBoundHost() {
         return boundHost;
     }
-    
+
     //---------------------------------------------------------------
     public String[] getBoundHosts() {
         if (getBoundHostValue() != null) {
             return new String[] { getBoundHost() };
         }
-        
+
         ArrayList<String> hosts = new ArrayList<String>();
         List<NetworkInterface> networkInterfaces;
         try {
@@ -252,45 +264,45 @@
         catch (SocketException e) {
             return new String[]{"localhost"};
         }
-    
+
         for (NetworkInterface networkInterface: networkInterfaces) {
             List<InetAddress> inetAddresses = Collections.list(networkInterface.getInetAddresses());
-            
+
             for (InetAddress inetAddress: inetAddresses) {
                 hosts.add(inetAddress.getHostName());
             }
         }
-        
+
         return hosts.toArray(new String[]{});
     }
-    
+
     //---------------------------------------------------------------
     public String getBoundHostValue() {
         if (BoundHostAllConstant.equals(boundHost)) return null;
-        
+
         return boundHost;
     }
-    
+
     //---------------------------------------------------------------
     public boolean getVerbose() {
         return verbose;
     }
-    
+
     //---------------------------------------------------------------
     public int getReadTimeoutSeconds() {
         return readTimeoutSeconds;
     }
-    
+
     //---------------------------------------------------------------
     public int getDeathTimeoutSeconds() {
         return deathTimeoutSeconds;
     }
-    
+
     //---------------------------------------------------------------
     public boolean useProxy() {
         return false; // useProxy;
     }
-    
+
     //---------------------------------------------------------------
     public boolean reuseAddr() {
         return reuseAddr;
@@ -307,12 +319,12 @@
         if (null == hostName) return "localhost";
         return hostName;
     }
-        
+
     //---------------------------------------------------------------
     @SuppressWarnings("unused")
     private String getSuperNiceHostName() {
         String hostName = getBoundHost();
-        
+
         // get the host address used
         InetAddress inetAddress;
         try {
diff --git a/weinre.server/src/weinre/server/Target.java b/weinre.server/src/weinre/server/Target.java
index ec6a986..8bb3113 100644
--- a/weinre.server/src/weinre/server/Target.java
+++ b/weinre.server/src/weinre/server/Target.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -20,31 +32,31 @@
 
     private List<Client> connectedClients;
     private String       url;
-    
+
     //---------------------------------------------------------------
     public Target(Channel channel, String url) {
         super(channel);
-        
+
         connectedClients = new ArrayList<Client>();
         this.url = url;
         _register();
 
     }
-    
+
     //---------------------------------------------------------------
     public String getURL() {
         return this.url;
     }
-    
+
     //---------------------------------------------------------------
     public boolean isTarget() {
         return true;
     }
-    
+
     //---------------------------------------------------------------
     public List<Client> getConnectedClients() {
         List<Client> result = new LinkedList<Client>();
-        
+
         Lock.lock();
         try {
             result.addAll(connectedClients);
@@ -52,32 +64,32 @@
         finally {
             Lock.unlock();
         }
-        
+
         return result;
     }
-    
+
     //---------------------------------------------------------------
     protected void _connect(Client client) {
         if (null == client) return;
-        
+
         Lock.lock();
-        
+
         try {
             if (connectedClients.contains(client)) return;
-        
+
             connectedClients.add(client);
         }
         finally {
             Lock.unlock();
         }
     }
-    
+
     //---------------------------------------------------------------
     protected void _disconnect(Client client) {
         if (null == client) return;
-        
+
         Lock.lock();
-        
+
         try {
             if (!connectedClients.contains(client)) return;
 
@@ -91,7 +103,7 @@
     //---------------------------------------------------------------
     public JSONObject getDescription() {
         JSONObject result = new JSONObject();
-        
+
         try {
             result.put("channel",            getChannel().getName());
             result.put("id",                 getChannel().getId());
@@ -101,8 +113,8 @@
         } catch (JSONException e) {
             throw new RuntimeException(e);
         }
-        
+
         return result;
     }
-    
+
 }
diff --git a/weinre.server/src/weinre/server/Utility.java b/weinre.server/src/weinre/server/Utility.java
index 260cc2b..cc1dca4 100644
--- a/weinre.server/src/weinre/server/Utility.java
+++ b/weinre.server/src/weinre/server/Utility.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -16,7 +28,7 @@
 
 //-------------------------------------------------------------------
 public class Utility {
-    
+
     static private int SequenceNumber = 1 + new SecureRandom().nextInt(Integer.MAX_VALUE - 1);
 
     //---------------------------------------------------------------
@@ -25,16 +37,16 @@
     //---------------------------------------------------------------
     static public synchronized int getNextSequenceNumber() {
         int result = SequenceNumber;
-        
+
         SequenceNumber = (result == Integer.MAX_VALUE) ? 1 : result + 1;
-        
+
         return result;
     }
-    
+
     //---------------------------------------------------------------
     static public String reverse(String string) {
         char[] responseChars = string.toCharArray();
-        
+
         for (int i=0; i<responseChars.length/2; i++) {
             char tmp                                = responseChars[responseChars.length-i-1];
             responseChars[responseChars.length-i-1] = responseChars[i];
@@ -42,32 +54,32 @@
         }
         return String.valueOf(responseChars);
     }
-    
+
     //---------------------------------------------------------------
     static public byte[] reverse(byte[] data, int offset, int length) {
         byte[] response = new byte[length];
-        
+
         for (int i=0; i<length; i++) {
             response[i] = data[offset + length - i - 1];
         }
 
         return response;
     }
-    
+
     //---------------------------------------------------------------
     static public Properties readPropertiesFile(String fileName) {
         Properties result = new Properties();
-        
+
         String userHome = System.getProperty("user.home");
         if (null == userHome) {
             Main.warn("System property user.home not set!");
             return result;
         }
-        
+
         File file = new File(new File(userHome, ".weinre"), fileName);
-        
+
         if (!file.exists()) return result;
-        
+
         FileReader fr = null;
         try {
             fr = new FileReader(file);
@@ -79,13 +91,13 @@
         finally {
             try { if (fr != null) fr.close(); } catch (Exception e) {}
         }
-        
+
         // ya, Properties doesn't trim space off values
         for (String key: result.stringPropertyNames()) {
             String val = result.getProperty(key);
             result.setProperty(key, val.trim());
         }
-        
+
         return result;
     }
 
@@ -96,7 +108,7 @@
             Main.warn("System property user.home not set!");
             return;
         }
-        
+
         File file = new File(userHome, ".weinre");
         if (!file.exists()) {
             if (!file.mkdir()) {
@@ -104,12 +116,12 @@
                 return;
             }
         }
-        
+
         if (!file.isDirectory()) {
             Main.warn("can't write ~/.weinre/" + fileName + " since ~/.weinre is not a directory");
             return;
         }
-        
+
         file = new File(file, fileName);
         FileWriter fw = null;
         try {
diff --git a/weinre.server/src/weinre/server/WatchDog.java b/weinre.server/src/weinre/server/WatchDog.java
index 9aa6553..327e287 100644
--- a/weinre.server/src/weinre/server/WatchDog.java
+++ b/weinre.server/src/weinre/server/WatchDog.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server;
@@ -13,31 +25,31 @@
 public class WatchDog {
 
     public static long ChannelLivelinessTimeout = 5000;
-    
+
     //---------------------------------------------------------------
     static public void start() {
 
         final WatchDog watchDog = new WatchDog();
-        
+
         Runnable runnable = new Runnable() {
-            public void run() { watchDog.run(); } 
+            public void run() { watchDog.run(); }
         };
-        
+
         Thread thread = new Thread(runnable, watchDog.getClass().getName());
-        
+
         thread.start();
     }
-    
+
     //---------------------------------------------------------------
     private WatchDog() {
         super();
     }
-    
+
     //---------------------------------------------------------------
     private void run() {
         while(true) {
             sleep();
-            
+
             checkForDeadChannels();
         }
     }
@@ -45,24 +57,24 @@
     //---------------------------------------------------------------
     private void checkForDeadChannels() {
         List<Channel> channels = ChannelManager.$.getChannels();
-        
+
         int deathTimeout = Main.getSettings().getDeathTimeoutSeconds() * 1000;
-        
+
         long currentTime = System.currentTimeMillis();
         for (Channel channel: channels) {
             long lastRead = channel.getLastRead();
-            
+
             if (currentTime - lastRead > deathTimeout) {
                 channel.close();
             }
         }
     }
-    
+
     //---------------------------------------------------------------
     private void sleep() {
         try {
             Thread.sleep(1000);
-        } 
+        }
         catch (InterruptedException e) {
             throw new RuntimeException(e);
         }
diff --git a/weinre.server/src/weinre/server/http/ClassPathResourceHandler.java b/weinre.server/src/weinre/server/http/ClassPathResourceHandler.java
index f6eccda..fc0e88f 100644
--- a/weinre.server/src/weinre/server/http/ClassPathResourceHandler.java
+++ b/weinre.server/src/weinre/server/http/ClassPathResourceHandler.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server.http;
@@ -24,7 +36,7 @@
     //---------------------------------------------------------------
     public ClassPathResourceHandler(String pathPrefix) {
         super();
-        
+
         this.pathPrefix = pathPrefix;
     }
 
@@ -38,17 +50,17 @@
         if (path.startsWith("/client/extensions/")) {
             return ExtensionManager.getResource(path);
         }
-        
+
         path = pathPrefix + path;
         URL url = getClass().getClassLoader().getResource(path);
         if (url != null)
             try {
                 return Resource.newResource(url);
-            } 
+            }
             catch (IOException e) {
                 throw new MalformedURLException();
             }
-        
+
         return null;
     }
 
diff --git a/weinre.server/src/weinre/server/http/DebugHandler.java b/weinre.server/src/weinre/server/http/DebugHandler.java
index 13e3f77..8121f03 100644
--- a/weinre.server/src/weinre/server/http/DebugHandler.java
+++ b/weinre.server/src/weinre/server/http/DebugHandler.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server.http;
@@ -20,7 +32,7 @@
 import org.eclipse.jetty.server.handler.HandlerWrapper;
 
 
-/** 
+/**
 * Debug Handler.
 * A lightweight debug handler that can be used in production code.
 * Details of the request and response are written to an output stream
@@ -37,9 +49,9 @@
         catch(IOException e) {
           throw new RuntimeException(e);
         }
-    
+
         Response response = request.getResponse();
-        
+
         dump(System.out, target, request, response);
     }
 
@@ -47,15 +59,15 @@
     private void dump(PrintStream oStream, String target, Request request, Response response) {
         oStream.println("----------------------------------------------------------");
         oStream.println("target: " + target);
-        
+
         oStream.println("request:");
         oStream.println("   headers:");
         dumpHeaders(oStream, request);
-        
+
         oStream.println("response:");
         oStream.println("   status: " + response.getStatus());
     }
-    
+
     //---------------------------------------------------------------
     @SuppressWarnings("rawtypes")
     private void dumpHeaders(PrintStream oStream, Request request) {
diff --git a/weinre.server/src/weinre/server/http/FilteredRequestLogHandler.java b/weinre.server/src/weinre/server/http/FilteredRequestLogHandler.java
index 3a4fad1..1a88e88 100644
--- a/weinre.server/src/weinre/server/http/FilteredRequestLogHandler.java
+++ b/weinre.server/src/weinre/server/http/FilteredRequestLogHandler.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server.http;
@@ -23,7 +35,7 @@
     @Override
     public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
         int status = baseRequest.getResponse().getStatus();
-        
+
         if (status == 200) return;
         if (status == 304) return;
 
diff --git a/weinre.server/src/weinre/server/http/HttpServer.java b/weinre.server/src/weinre/server/http/HttpServer.java
index bfc07f4..e9a5f7c 100644
--- a/weinre.server/src/weinre/server/http/HttpServer.java
+++ b/weinre.server/src/weinre/server/http/HttpServer.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server.http;
@@ -26,22 +38,22 @@
 
     private Main           main;
     private ServerSettings settings;
-    
+
     //---------------------------------------------------------------
     public HttpServer(Main main, ServerSettings settings) {
         super();
-        
+
         this.main     = main;
         this.settings = settings;
     }
-    
+
     //---------------------------------------------------------------
     public Server run() throws Exception {
         String hostName     = settings.getBoundHostValue();
         String niceHostName = settings.getNiceHostName();
-        
+
         SelectChannelConnector connector = new SelectChannelConnector();
-        
+
         connector.setHost(hostName);
         connector.setPort(settings.getHttpPort());
         connector.setReuseAddress(settings.reuseAddr());
@@ -59,7 +71,7 @@
 
         // set up the main handlers
         HandlerList handlers = new HandlerList();
-        
+
         // debug handler
 //        DebugHandler debugHandler = new DebugHandler();
 //        handlers.addHandler(debugHandler);
@@ -69,41 +81,41 @@
         // client socket handler
         httpSocketHandler = new HttpSocketHandler("/ws/client");
         handlers.addHandler(httpSocketHandler);
-        
+
         // target socket handler
         httpSocketHandler = new HttpSocketHandler("/ws/target");
         handlers.addHandler(httpSocketHandler);
 
 //        runChannelTester();
-        
+
         // handler for /web (static files in jar)
         ClassPathResourceHandler handlerStaticFiles = new ClassPathResourceHandler("web");
         handlers.addHandler(handlerStaticFiles);
-        
+
         // outer collection of handlers for management
         HandlerCollection handlerOuter = new HandlerCollection();
-        
+
         // add the main handlers
         handlerOuter.addHandler(handlers);
 
         // add a request logger
         RequestLogHandler requestLogHandler = new FilteredRequestLogHandler();
-        
+
         NCSARequestLog requestLog = new NCSARequestLog();
         requestLog.setRetainDays(90);
         requestLog.setAppend(true);
         requestLog.setExtended(false);
         requestLog.setLogTimeZone("GMT");
         requestLogHandler.setRequestLog(requestLog);
-        
+
         handlerOuter.addHandler(requestLogHandler);
-        
+
         // serve with the outer handler
         server.setHandler(handlerOuter);
 
         // start the JS thread
 //        JavaScriptRunner.runThreaded("server/main.js", null, null);
-        
+
         // start the server
         try {
             server.start();
@@ -111,10 +123,10 @@
         catch (IOException e) {
             throw e;
         }
-        
+
         Main.info("HTTP server started at http://" + niceHostName + ":" + settings.getHttpPort());
-        
+
         return server;
     }
-    
+
 }
diff --git a/weinre.server/src/weinre/server/http/HttpSocketHandler.java b/weinre.server/src/weinre/server/http/HttpSocketHandler.java
index 4e39082..1da4f2a 100644
--- a/weinre.server/src/weinre/server/http/HttpSocketHandler.java
+++ b/weinre.server/src/weinre/server/http/HttpSocketHandler.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server.http;
@@ -31,28 +43,28 @@
 
 //-------------------------------------------------------------------
 public class HttpSocketHandler extends AbstractHandler {
-    private String pathPrefix; 
+    private String pathPrefix;
     private int    pathPrefixParts;
-    
+
     //---------------------------------------------------------------
     public HttpSocketHandler(String pathPrefix) {
         super();
-        
+
         this.pathPrefix      = pathPrefix;
         this.pathPrefixParts = pathPrefix.split("/").length;
     }
-    
+
     //---------------------------------------------------------------
     @Override
     public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
         // ! * pathPrefix*
         if (!target.startsWith(pathPrefix)) return;
-        
+
         String method = baseRequest.getMethod();
-        
+
         setCORSHeaders(response);
         setCacheHeaders(response);
-        
+
         // OPTIONS pathPrefix
         if (target.equals(pathPrefix) && method.equals("OPTIONS")) {
             baseRequest.setHandled(true);
@@ -73,43 +85,43 @@
             response.sendError(405);
             return;
         }
-        
+
         // * pathPrefix/x/*
         String[] parts = target.split("/");
         if (parts.length != pathPrefixParts + 1) {
             baseRequest.setHandled(true);
             response.sendError(404);
         }
-        
-        // 
+
+        //
         if (parts.length <= pathPrefixParts) {
             baseRequest.setHandled(true);
             response.sendError(405);
         }
-        
+
         String channel = parts[pathPrefixParts];
-        
+
         // OPTIONS pathPrefix/x
         if (method.equals("OPTIONS")) {
             baseRequest.setHandled(true);
             handleOptions(target, baseRequest, request, response);
             return;
         }
-        
+
         // GET pathPrefix/x
         if (method.equals("GET")) {
             baseRequest.setHandled(true);
             handleGet(channel, target, baseRequest, request, response);
             return;
         }
-        
+
         // POST pathPrefix/x
         if (method.equals("POST")) {
             baseRequest.setHandled(true);
             handlePost(channel, target, baseRequest, request, response);
             return;
         }
-        
+
         // * pathPrefix/x
         baseRequest.setHandled(true);
         response.sendError(405);
@@ -121,7 +133,7 @@
         response.setHeader("Access-Control-Max-Age", "600");
         response.setHeader("Access-Control-Allow-Methods", "GET, POST");
     }
-    
+
     //---------------------------------------------------------------
     private void setCacheHeaders(HttpServletResponse response) {
         response.setHeader("Pragma",        "no-cache");
@@ -129,7 +141,7 @@
         response.setHeader("Cache-Control", "no-cache");
         response.setHeader("Cache-Control", "no-store");
     }
-    
+
     //---------------------------------------------------------------
     public void handleOptions(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
         response.setStatus(200);
@@ -144,7 +156,7 @@
         if (0 == baseRequest.getContentLength()) {
             id = Channel.AnonymousId;
         }
-        
+
         else {
             try {
                 String json = readRequestBody(request.getInputStream());
@@ -168,15 +180,15 @@
                 return;
             }
         }
-        
+
         ChannelManager.$.registerChannel(pathPrefix, channelName, id, request.getRemoteHost(), request.getRemoteAddr());
-        
+
         response.setStatus(200);
         response.setContentType("application/json");
-        
+
         ServletOutputStream oStream = response.getOutputStream();
         JSONObject obj = new JSONObject();
-        
+
         try {
             obj.put("channel", channelName);
             obj.put("id", id);
@@ -184,7 +196,7 @@
         catch (JSONException e) {
             throw new RuntimeException(e);
         }
-        
+
         String result = obj.toString();
         oStream.print(result);
         oStream.close();
@@ -199,15 +211,15 @@
         }
 
         channel.updateLastRead();
-        
-        List<String> json; 
+
+        List<String> json;
         try {
             json = channel.getResponses(Main.getSettings().getReadTimeoutSeconds());
-        } 
+        }
         catch (InterruptedException e) {
             throw new IOException(e);
         }
-        
+
         response.setStatus(200);
         response.setContentType("application/json");
 
@@ -221,12 +233,12 @@
     private void printJSONList(ServletOutputStream oStream, List<String> json) throws IOException {
         try {
             oStream.print(new JSONArray(json).toString());
-        } 
+        }
         catch (JSONException e) {
             throw new RuntimeException(e);
         }
     }
-    
+
     //---------------------------------------------------------------
     public void handlePost(String channelName, String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
         Channel channel = ChannelManager.$.getChannel(channelName, request.getRemoteAddr());
@@ -244,7 +256,7 @@
             response.setStatus(400);
             return;
         }
-        
+
         try {
             String json = readRequestBody(request.getInputStream());
             channel.postRequest(json);
@@ -253,23 +265,23 @@
             response.setStatus(400);
             return;
         }
-        
+
         response.setStatus(200);
         response.setContentType("text/plain");
         response.getOutputStream().close();
     }
-    
+
     //---------------------------------------------------------------
     private String readRequestBody(InputStream is) throws IOException {
         StringBuffer stringBuffer = new StringBuffer();
         Reader       reader       = new InputStreamReader(is, "UTF-8");
         char[]       buffer       = new char[4096];
-        
+
         int read;
         while ((read = reader.read(buffer)) > 0) {
             stringBuffer.append(buffer, 0, read);
         }
-        
+
         return stringBuffer.toString();
     }
 }
diff --git a/weinre.server/src/weinre/server/http/ProxyServer.java b/weinre.server/src/weinre/server/http/ProxyServer.java
index e290bd7..1150424 100644
--- a/weinre.server/src/weinre/server/http/ProxyServer.java
+++ b/weinre.server/src/weinre/server/http/ProxyServer.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server.http;
@@ -25,22 +37,22 @@
 //-------------------------------------------------------------------
 public class ProxyServer {
     private ServerSettings settings;
-    
+
     //---------------------------------------------------------------
     public ProxyServer(ServerSettings settings) {
         super();
-        
+
         this.settings = settings;
     }
-    
+
     //---------------------------------------------------------------
     public void run() throws Exception {
         SelectChannelConnector connector = new SelectChannelConnector();
 
         connector = new SelectChannelConnector();
-        
-        String hostName = settings.getBoundHost(); 
-        
+
+        String hostName = settings.getBoundHost();
+
         connector.setHost(hostName);
         connector.setPort(settings.getHttpPort()+1);
         connector.setReuseAddress(false);
@@ -49,30 +61,30 @@
         proxyServer.setConnectors(new Connector[] { connector });
 
         HandlerList handlers = new HandlerList();
-        
+
         handlers = new HandlerList();
 
         RequestLogHandler requestLogHandler = new RequestLogHandler();
-        
+
         requestLogHandler = new RequestLogHandler();
-        
+
         NCSARequestLog requestLog;
-        
+
         requestLog = new NCSARequestLog();
         requestLog.setRetainDays(90);
         requestLog.setAppend(true);
         requestLog.setExtended(false);
         requestLog.setLogTimeZone("GMT");
         requestLogHandler.setRequestLog(requestLog);
-        
+
         handlers.addHandler(requestLogHandler);
-        
+
         ServletContextHandler handlerProxy = new ServletContextHandler();
         handlerProxy.setContextPath("/");
         ProxyServlet proxyServlet = new ProxyServlet();
         handlerProxy.addServlet(new ServletHolder(proxyServlet), "/");
         handlers.addHandler(handlerProxy);
-        
+
         proxyServer.setHandler(handlers);
 
         try {
@@ -82,7 +94,7 @@
             Main.warn("unable to start proxy server: " + e.getMessage());
             proxyServer.stop();
         }
-        
+
         Main.info("HTTP proxy server started at http://" + settings.getNiceHostName() + ":" + (settings.getHttpPort()+1));
     }
 }
diff --git a/weinre.server/src/weinre/server/service/WeinreClientCommands.java b/weinre.server/src/weinre/server/service/WeinreClientCommands.java
index 7dcf1a8..3d5e16d 100644
--- a/weinre.server/src/weinre/server/service/WeinreClientCommands.java
+++ b/weinre.server/src/weinre/server/service/WeinreClientCommands.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server.service;
@@ -27,9 +39,9 @@
     //---------------------------------------------------------------
     public void registerClient(Channel channel, String callbackId) throws IOException {
         Client client = new Client(channel);
-        
+
         JSONObject description = client.getDescription();
-        
+
         channel.sendCallback("WeinreClientEvents", callbackId, description);
         channel.sendEvent("WeinreClientEvents", "serverProperties", Main.getSettings().asProperties());
     }
@@ -38,11 +50,11 @@
     public void getTargets(Channel channel, String callbackId) throws IOException {
         List<Target> targets = ConnectionManager.$.getTargets(channel.getId());
         JSONArray targetResults = new JSONArray();
-        
+
         for (Target target: targets) {
             targetResults.add(target.getDescription());
         }
-        
+
         channel.sendCallback("WeinreClientEvents", callbackId, targetResults);
     }
 
@@ -50,11 +62,11 @@
     public void getClients(Channel channel, String callbackId) throws IOException {
         List<Client> clients = ConnectionManager.$.getClients(channel.getId());
         JSONArray clientResults = new JSONArray();
-        
+
         for (Client client: clients) {
             clientResults.add(client.getDescription());
         }
-        
+
         channel.sendCallback("WeinreClientEvents", callbackId, clientResults);
     }
 
@@ -62,19 +74,19 @@
     public void getExtensions(Channel channel, String callbackId) throws IOException {
         String[]  extensions = ExtensionManager.getExtensions();
         JSONArray result     = new JSONArray();
-        
+
         try {
             for (String extension: extensions) {
                 JSONObject extensionObject = new JSONObject();
                 extensionObject.put("startPage", "extensions/" + extension + "/extension.html");
-                
+
                 result.add(extensionObject);
             }
         }
         catch(JSONException e) {
             throw new RuntimeException(e);
         }
-        
+
         channel.sendCallback("WeinreClientEvents", callbackId, result);
     }
 
@@ -85,7 +97,7 @@
 
         Target target = ConnectionManager.$.getTarget(targetId);
         if (target == null) return;
-        
+
         ConnectionManager.$.connect(client, target);
     }
 
@@ -93,13 +105,13 @@
     public void disconnectTarget(Channel channel, String clientId, String callbackId) {
         Client client = ConnectionManager.$.getClient(clientId);
         if (client == null) return;
-        
+
         Target target = client.getConnectedTarget();
         if (target == null) return;
-        
+
         ConnectionManager.$.disconnect(client, target);
     }
-    
+
     //---------------------------------------------------------------
     public void logDebug(Channel channel, String message, String callbackId) {
         Main.debug("client " + channel.getName() + ": " + message);
diff --git a/weinre.server/src/weinre/server/service/WeinreTargetCommands.java b/weinre.server/src/weinre/server/service/WeinreTargetCommands.java
index 80e9a22..139d45c 100644
--- a/weinre.server/src/weinre/server/service/WeinreTargetCommands.java
+++ b/weinre.server/src/weinre/server/service/WeinreTargetCommands.java
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 package weinre.server.service;
@@ -23,28 +35,28 @@
     //---------------------------------------------------------------
     public void registerTarget(Channel channel, String url, String callbackId) throws IOException {
         Target target = new Target(channel, url);
-        
+
         JSONObject description = target.getDescription();
-        
+
         channel.sendCallback("WeinreTargetEvents", callbackId, description);
     }
-    
+
     //---------------------------------------------------------------
     @SuppressWarnings("unchecked")
     public void sendClientCallback(Channel channel, String clientCallbackId, Object args, String callbackId) throws IOException {
         Object[] argsArray;
-        if (null == args) 
+        if (null == args)
             argsArray = new Object[0];
-        else 
+        else
             argsArray = ((List<Object>) args).toArray();
-        
+
         // the channel to send the callback to is embedded in the callbackId
         String callbackConnectorId = getCallbackConnectorId(clientCallbackId);
         if (null == callbackConnectorId) {
             Main.warn(getClass().getName() + ".sendClientCallback() sent with invalid callbackId: " + clientCallbackId);
             return;
         }
-        
+
         channel = ChannelManager.$.getChannel(callbackConnectorId);
         if (null == channel) {
             // indication that channel was closed; this message may generate a lot of noise
@@ -54,7 +66,7 @@
 
         channel.sendCallback("WeinreClientEvents", clientCallbackId, argsArray);
     }
-    
+
     //---------------------------------------------------------------
     public void logDebug(Channel channel, String message, String callbackId) {
         Main.debug("target " + channel.getName() + ": " + message);
@@ -80,5 +92,5 @@
         int index = callbackId.indexOf("::");
         return callbackId.substring(0, index);
     }
-    
+
 }
diff --git a/weinre.web/client/ExtensionRegistryStub.js b/weinre.web/client/ExtensionRegistryStub.js
index 396f3f1..6937fdb 100644
--- a/weinre.web/client/ExtensionRegistryStub.js
+++ b/weinre.web/client/ExtensionRegistryStub.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2011 IBM Corporation
+ *     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.
  */
 
 (function() {
diff --git a/weinre.web/client/InspectorBackendStub.js b/weinre.web/client/InspectorBackendStub.js
index f8d41f2..645163c 100644
--- a/weinre.web/client/InspectorBackendStub.js
+++ b/weinre.web/client/InspectorBackendStub.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
  */
 
 (function() {
diff --git a/weinre.web/client/InspectorFrontendHostStub.js b/weinre.web/client/InspectorFrontendHostStub.js
index 65f648b..5bca358 100644
--- a/weinre.web/client/InspectorFrontendHostStub.js
+++ b/weinre.web/client/InspectorFrontendHostStub.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
  */
 
 (function() {
diff --git a/weinre.web/client/web-inspector-API.js b/weinre.web/client/web-inspector-API.js
index e7fd7b0..b8415a0 100644
--- a/weinre.web/client/web-inspector-API.js
+++ b/weinre.web/client/web-inspector-API.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
- 
+
 eval(window.top.installWebInspectorAPIsource())
diff --git a/weinre.web/client/weinre/check-for-webkit.js b/weinre.web/client/weinre/check-for-webkit.js
index 249e80d..1b66a5f 100644
--- a/weinre.web/client/weinre/check-for-webkit.js
+++ b/weinre.web/client/weinre/check-for-webkit.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
  */
 
 if (!navigator.userAgent.match(/webkit/i)) {
diff --git a/weinre.web/client/weinre/client.css b/weinre.web/client/weinre/client.css
index 383cf96..6e3ae73 100644
--- a/weinre.web/client/weinre/client.css
+++ b/weinre.web/client/weinre/client.css
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
  */
 
 .toolbar-item.remote .toolbar-icon {
diff --git a/weinre.web/client/weinre/hacks.js b/weinre.web/client/weinre/hacks.js
index f2156c7..28b12ad 100644
--- a/weinre.web/client/weinre/hacks.js
+++ b/weinre.web/client/weinre/hacks.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 // a place for hacks
diff --git a/weinre.web/demo/weinre-demo-min.html b/weinre.web/demo/weinre-demo-min.html
index 95893a3..4ba3058 100644
--- a/weinre.web/demo/weinre-demo-min.html
+++ b/weinre.web/demo/weinre-demo-min.html
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <html>
diff --git a/weinre.web/demo/weinre-demo.css b/weinre.web/demo/weinre-demo.css
index ec6d164..a83598a 100644
--- a/weinre.web/demo/weinre-demo.css
+++ b/weinre.web/demo/weinre-demo.css
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 h1 {
diff --git a/weinre.web/demo/weinre-demo.html b/weinre.web/demo/weinre-demo.html
index 70c887e..ba3330a 100644
--- a/weinre.web/demo/weinre-demo.html
+++ b/weinre.web/demo/weinre-demo.html
@@ -1,8 +1,20 @@
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <html>
diff --git a/weinre.web/demo/weinre-demo.js b/weinre.web/demo/weinre-demo.js
index 5e36af4..06de5f9 100644
--- a/weinre.web/demo/weinre-demo.js
+++ b/weinre.web/demo/weinre-demo.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2011 IBM Corporation
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 //------------------------------------------------------------------------------
diff --git a/weinre.web/index.html b/weinre.web/index.html
index a4861d5..3afbc14 100644
--- a/weinre.web/index.html
+++ b/weinre.web/index.html
@@ -1,10 +1,22 @@
 <!doctype html>
 
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <html>
diff --git a/weinre.web/index.js b/weinre.web/index.js
index 7e248a6..86e8508 100644
--- a/weinre.web/index.js
+++ b/weinre.web/index.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
  */
 
 var weinre_protocol = location.protocol
diff --git a/weinre.web/interfaces/interfaces.css b/weinre.web/interfaces/interfaces.css
index ee1a8c5..c0931f8 100644
--- a/weinre.web/interfaces/interfaces.css
+++ b/weinre.web/interfaces/interfaces.css
@@ -1,14 +1,26 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
- * Copyright (c) 2010, 2011 IBM Corporation
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 #browser {
     margin-top:  1em;
 }
- 
+
 #interface-picker {
     float:         left;
     margin-right:  1.0em;
@@ -20,7 +32,7 @@
     margin-top:    0.0em;
     border-bottom: thin solid;
 }
- 
+
 #interface-content {
     overflow:     hidden;
     padding-left: 1.0em;
@@ -43,7 +55,7 @@
 .indent {
     white-space: pre;
 }
- 
+
 .attributeName, .methodName, .interfaceName {
     font-weight: bold;
 }
@@ -72,7 +84,7 @@
     .noprint {
         display: none;
     }
-    
+
     body {
         font-size: 60%;
     }
diff --git a/weinre.web/interfaces/interfaces.html b/weinre.web/interfaces/interfaces.html
index 107df67..9797ebf 100644
--- a/weinre.web/interfaces/interfaces.html
+++ b/weinre.web/interfaces/interfaces.html
@@ -1,10 +1,22 @@
 <!doctype html>
 
 <!--
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
 -->
 
 <html>
diff --git a/weinre.web/interfaces/interfaces.js b/weinre.web/interfaces/interfaces.js
index 8b9e7de..29ea125 100644
--- a/weinre.web/interfaces/interfaces.js
+++ b/weinre.web/interfaces/interfaces.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
  */
 
 ;(function(){
diff --git a/weinre.web/modules/weinre/client/Client.coffee b/weinre.web/modules/weinre/client/Client.coffee
index 514ba97..c85b126 100644
--- a/weinre.web/modules/weinre/client/Client.coffee
+++ b/weinre.web/modules/weinre/client/Client.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 IDLTools          = require('../common/IDLTools')
diff --git a/weinre.web/modules/weinre/client/ConnectorList.coffee b/weinre.web/modules/weinre/client/ConnectorList.coffee
index e1a50fb..2361437 100644
--- a/weinre.web/modules/weinre/client/ConnectorList.coffee
+++ b/weinre.web/modules/weinre/client/ConnectorList.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 dt = require('./DOMTemplates')
diff --git a/weinre.web/modules/weinre/client/DOMTemplates.coffee b/weinre.web/modules/weinre/client/DOMTemplates.coffee
index a3db299..2f33837 100644
--- a/weinre.web/modules/weinre/client/DOMTemplates.coffee
+++ b/weinre.web/modules/weinre/client/DOMTemplates.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex = require('../common/Ex')
diff --git a/weinre.web/modules/weinre/client/ExtensionRegistryImpl.coffee b/weinre.web/modules/weinre/client/ExtensionRegistryImpl.coffee
index 4303d2d..79cce5d 100644
--- a/weinre.web/modules/weinre/client/ExtensionRegistryImpl.coffee
+++ b/weinre.web/modules/weinre/client/ExtensionRegistryImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex      = require('../common/Ex')
diff --git a/weinre.web/modules/weinre/client/InspectorBackendImpl.coffee b/weinre.web/modules/weinre/client/InspectorBackendImpl.coffee
index 1dcf45e..8a7cabb 100644
--- a/weinre.web/modules/weinre/client/InspectorBackendImpl.coffee
+++ b/weinre.web/modules/weinre/client/InspectorBackendImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex                = require('../common/Ex')
diff --git a/weinre.web/modules/weinre/client/InspectorFrontendHostImpl.coffee b/weinre.web/modules/weinre/client/InspectorFrontendHostImpl.coffee
index b060469..d4e258b 100644
--- a/weinre.web/modules/weinre/client/InspectorFrontendHostImpl.coffee
+++ b/weinre.web/modules/weinre/client/InspectorFrontendHostImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre   = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/client/RemotePanel.coffee b/weinre.web/modules/weinre/client/RemotePanel.coffee
index a6c6110..f191ee7 100644
--- a/weinre.web/modules/weinre/client/RemotePanel.coffee
+++ b/weinre.web/modules/weinre/client/RemotePanel.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Binding       = require('../common/Binding')
diff --git a/weinre.web/modules/weinre/client/WeinreClientEventsImpl.coffee b/weinre.web/modules/weinre/client/WeinreClientEventsImpl.coffee
index a3e4038..8fcec0d 100644
--- a/weinre.web/modules/weinre/client/WeinreClientEventsImpl.coffee
+++ b/weinre.web/modules/weinre/client/WeinreClientEventsImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Callback                    = require('../common/Callback')
diff --git a/weinre.web/modules/weinre/client/WeinreExtraTargetEventsImpl.coffee b/weinre.web/modules/weinre/client/WeinreExtraTargetEventsImpl.coffee
index 66c88d3..7958560 100644
--- a/weinre.web/modules/weinre/client/WeinreExtraTargetEventsImpl.coffee
+++ b/weinre.web/modules/weinre/client/WeinreExtraTargetEventsImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 module.exports = class WeinreExtraTargetEventsImpl
diff --git a/weinre.web/modules/weinre/common/Binding.coffee b/weinre.web/modules/weinre/common/Binding.coffee
index ad7ab14..f131a21 100644
--- a/weinre.web/modules/weinre/common/Binding.coffee
+++ b/weinre.web/modules/weinre/common/Binding.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex = require('./Ex')
diff --git a/weinre.web/modules/weinre/common/Callback.coffee b/weinre.web/modules/weinre/common/Callback.coffee
index ee2baf2..90b0338 100644
--- a/weinre.web/modules/weinre/common/Callback.coffee
+++ b/weinre.web/modules/weinre/common/Callback.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex = require('./Ex')
diff --git a/weinre.web/modules/weinre/common/EventListeners.coffee b/weinre.web/modules/weinre/common/EventListeners.coffee
index 535b48f..a0a520f 100644
--- a/weinre.web/modules/weinre/common/EventListeners.coffee
+++ b/weinre.web/modules/weinre/common/EventListeners.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex     = require('./Ex')
diff --git a/weinre.web/modules/weinre/common/Ex.coffee b/weinre.web/modules/weinre/common/Ex.coffee
index 4062188..16b4930 100644
--- a/weinre.web/modules/weinre/common/Ex.coffee
+++ b/weinre.web/modules/weinre/common/Ex.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 StackTrace = require('./StackTrace')
diff --git a/weinre.web/modules/weinre/common/HookLib.coffee b/weinre.web/modules/weinre/common/HookLib.coffee
index 9f2b868..45ecdac 100644
--- a/weinre.web/modules/weinre/common/HookLib.coffee
+++ b/weinre.web/modules/weinre/common/HookLib.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 HookLib = exports
diff --git a/weinre.web/modules/weinre/common/IDGenerator.coffee b/weinre.web/modules/weinre/common/IDGenerator.coffee
index 0a4f599..b45120b 100644
--- a/weinre.web/modules/weinre/common/IDGenerator.coffee
+++ b/weinre.web/modules/weinre/common/IDGenerator.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 nextIdValue = 1
diff --git a/weinre.web/modules/weinre/common/IDLTools.coffee b/weinre.web/modules/weinre/common/IDLTools.coffee
index a989836..e227c5f 100644
--- a/weinre.web/modules/weinre/common/IDLTools.coffee
+++ b/weinre.web/modules/weinre/common/IDLTools.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex       = require('./Ex')
diff --git a/weinre.web/modules/weinre/common/MessageDispatcher.coffee b/weinre.web/modules/weinre/common/MessageDispatcher.coffee
index a732cad..404a951 100644
--- a/weinre.web/modules/weinre/common/MessageDispatcher.coffee
+++ b/weinre.web/modules/weinre/common/MessageDispatcher.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre       = require('./Weinre')
diff --git a/weinre.web/modules/weinre/common/MethodNamer.coffee b/weinre.web/modules/weinre/common/MethodNamer.coffee
index 4d5c755..16aaaef 100644
--- a/weinre.web/modules/weinre/common/MethodNamer.coffee
+++ b/weinre.web/modules/weinre/common/MethodNamer.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 module.exports = class MethodNamer
diff --git a/weinre.web/modules/weinre/common/StackTrace.coffee b/weinre.web/modules/weinre/common/StackTrace.coffee
index b7ace3f..08350e1 100644
--- a/weinre.web/modules/weinre/common/StackTrace.coffee
+++ b/weinre.web/modules/weinre/common/StackTrace.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 module.exports = class StackTrace
diff --git a/weinre.web/modules/weinre/common/WebSocketXhr.coffee b/weinre.web/modules/weinre/common/WebSocketXhr.coffee
index 00c741e..4fc86db 100644
--- a/weinre.web/modules/weinre/common/WebSocketXhr.coffee
+++ b/weinre.web/modules/weinre/common/WebSocketXhr.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex             = require('./Ex')
diff --git a/weinre.web/modules/weinre/common/Weinre.coffee b/weinre.web/modules/weinre/common/Weinre.coffee
index decb80b..27e072b 100644
--- a/weinre.web/modules/weinre/common/Weinre.coffee
+++ b/weinre.web/modules/weinre/common/Weinre.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex         = require('./Ex')
diff --git a/weinre.web/modules/weinre/target/CSSStore.coffee b/weinre.web/modules/weinre/target/CSSStore.coffee
index b1b350e..e2aa6b3 100644
--- a/weinre.web/modules/weinre/target/CSSStore.coffee
+++ b/weinre.web/modules/weinre/target/CSSStore.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 IDGenerator = require('../common/IDGenerator')
diff --git a/weinre.web/modules/weinre/target/CheckForProblems.coffee b/weinre.web/modules/weinre/target/CheckForProblems.coffee
index cb30171..a19d202 100644
--- a/weinre.web/modules/weinre/target/CheckForProblems.coffee
+++ b/weinre.web/modules/weinre/target/CheckForProblems.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 module.exports = class CheckForProblems
diff --git a/weinre.web/modules/weinre/target/Console.coffee b/weinre.web/modules/weinre/target/Console.coffee
index 800c84f..76576c3 100644
--- a/weinre.web/modules/weinre/target/Console.coffee
+++ b/weinre.web/modules/weinre/target/Console.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre   = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/ElementHighlighter.coffee b/weinre.web/modules/weinre/target/ElementHighlighter.coffee
index 52d0aed..991e9c1 100644
--- a/weinre.web/modules/weinre/target/ElementHighlighter.coffee
+++ b/weinre.web/modules/weinre/target/ElementHighlighter.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 canvasAvailable           = null
diff --git a/weinre.web/modules/weinre/target/ElementHighlighterDivs2.coffee b/weinre.web/modules/weinre/target/ElementHighlighterDivs2.coffee
index 8185160..a289114 100644
--- a/weinre.web/modules/weinre/target/ElementHighlighterDivs2.coffee
+++ b/weinre.web/modules/weinre/target/ElementHighlighterDivs2.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 ElementHighlighter = require('./ElementHighlighter')
diff --git a/weinre.web/modules/weinre/target/HookSites.coffee b/weinre.web/modules/weinre/target/HookSites.coffee
index 13dedb1..d3ac492 100644
--- a/weinre.web/modules/weinre/target/HookSites.coffee
+++ b/weinre.web/modules/weinre/target/HookSites.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 HookLib = require('../common/HookLib')
diff --git a/weinre.web/modules/weinre/target/InjectedScriptHostImpl.coffee b/weinre.web/modules/weinre/target/InjectedScriptHostImpl.coffee
index d1553c6..0358fd9 100644
--- a/weinre.web/modules/weinre/target/InjectedScriptHostImpl.coffee
+++ b/weinre.web/modules/weinre/target/InjectedScriptHostImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/NetworkRequest.coffee b/weinre.web/modules/weinre/target/NetworkRequest.coffee
index 64849d1..076fa5d 100644
--- a/weinre.web/modules/weinre/target/NetworkRequest.coffee
+++ b/weinre.web/modules/weinre/target/NetworkRequest.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 StackTrace  = require('../common/StackTrace')
diff --git a/weinre.web/modules/weinre/target/NodeStore.coffee b/weinre.web/modules/weinre/target/NodeStore.coffee
index edd0269..b12fe1f 100644
--- a/weinre.web/modules/weinre/target/NodeStore.coffee
+++ b/weinre.web/modules/weinre/target/NodeStore.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre      = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/SqlStepper.coffee b/weinre.web/modules/weinre/target/SqlStepper.coffee
index 82b5997..b8c65b4 100644
--- a/weinre.web/modules/weinre/target/SqlStepper.coffee
+++ b/weinre.web/modules/weinre/target/SqlStepper.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Binding = require('../common/Binding')
diff --git a/weinre.web/modules/weinre/target/Target.coffee b/weinre.web/modules/weinre/target/Target.coffee
index fcbcfd9..3d3eed3 100644
--- a/weinre.web/modules/weinre/target/Target.coffee
+++ b/weinre.web/modules/weinre/target/Target.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex                            = require('../common/Ex')
diff --git a/weinre.web/modules/weinre/target/Timeline.coffee b/weinre.web/modules/weinre/target/Timeline.coffee
index f50922c..a66dfed 100644
--- a/weinre.web/modules/weinre/target/Timeline.coffee
+++ b/weinre.web/modules/weinre/target/Timeline.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Ex          = require('../common/Ex')
diff --git a/weinre.web/modules/weinre/target/WeinreExtraClientCommandsImpl.coffee b/weinre.web/modules/weinre/target/WeinreExtraClientCommandsImpl.coffee
index e638355..490eaca 100644
--- a/weinre.web/modules/weinre/target/WeinreExtraClientCommandsImpl.coffee
+++ b/weinre.web/modules/weinre/target/WeinreExtraClientCommandsImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre         = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/WeinreTargetEventsImpl.coffee b/weinre.web/modules/weinre/target/WeinreTargetEventsImpl.coffee
index 65bb187..5f308aa 100644
--- a/weinre.web/modules/weinre/target/WeinreTargetEventsImpl.coffee
+++ b/weinre.web/modules/weinre/target/WeinreTargetEventsImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre   = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/WiCSSImpl.coffee b/weinre.web/modules/weinre/target/WiCSSImpl.coffee
index c5e0932..0ea53f0 100644
--- a/weinre.web/modules/weinre/target/WiCSSImpl.coffee
+++ b/weinre.web/modules/weinre/target/WiCSSImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/WiConsoleImpl.coffee b/weinre.web/modules/weinre/target/WiConsoleImpl.coffee
index 35ab3f7..5ce8dac 100644
--- a/weinre.web/modules/weinre/target/WiConsoleImpl.coffee
+++ b/weinre.web/modules/weinre/target/WiConsoleImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/WiDOMImpl.coffee b/weinre.web/modules/weinre/target/WiDOMImpl.coffee
index 675b5b9..7d83ac8 100644
--- a/weinre.web/modules/weinre/target/WiDOMImpl.coffee
+++ b/weinre.web/modules/weinre/target/WiDOMImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee b/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee
index b52e9c0..e6b5b19 100644
--- a/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee
+++ b/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre    = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/WiDatabaseImpl.coffee b/weinre.web/modules/weinre/target/WiDatabaseImpl.coffee
index 0c58b13..7c1cfc6 100644
--- a/weinre.web/modules/weinre/target/WiDatabaseImpl.coffee
+++ b/weinre.web/modules/weinre/target/WiDatabaseImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre      = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/WiInspectorImpl.coffee b/weinre.web/modules/weinre/target/WiInspectorImpl.coffee
index daef844..8e846ea 100644
--- a/weinre.web/modules/weinre/target/WiInspectorImpl.coffee
+++ b/weinre.web/modules/weinre/target/WiInspectorImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre   = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/target/WiRuntimeImpl.coffee b/weinre.web/modules/weinre/target/WiRuntimeImpl.coffee
index 14c2e77..7a1584c 100644
--- a/weinre.web/modules/weinre/target/WiRuntimeImpl.coffee
+++ b/weinre.web/modules/weinre/target/WiRuntimeImpl.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 Weinre = require('../common/Weinre')
diff --git a/weinre.web/modules/weinre/unused/ElementHighlighterCanvas.coffee b/weinre.web/modules/weinre/unused/ElementHighlighterCanvas.coffee
index 2549466..8532f52 100644
--- a/weinre.web/modules/weinre/unused/ElementHighlighterCanvas.coffee
+++ b/weinre.web/modules/weinre/unused/ElementHighlighterCanvas.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 ElementHighlighter = require('./ElementHighlighter')
diff --git a/weinre.web/modules/weinre/unused/ElementHighlighterDivs4.coffee b/weinre.web/modules/weinre/unused/ElementHighlighterDivs4.coffee
index dea11a1..a851a41 100644
--- a/weinre.web/modules/weinre/unused/ElementHighlighterDivs4.coffee
+++ b/weinre.web/modules/weinre/unused/ElementHighlighterDivs4.coffee
@@ -1,9 +1,21 @@
 
 #---------------------------------------------------------------------------------
-# weinre is available under *either* the terms of the modified BSD license *or* the
-# MIT License (2008). See http:#opensource.org/licenses/alphabetical for full text.
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
 #
-# Copyright (c) 2010, 2011 IBM Corporation
+#     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.
 #---------------------------------------------------------------------------------
 
 ElementHighlighter = require('./ElementHighlighter')
diff --git a/weinre.web/tests/element-highlighter.html b/weinre.web/tests/element-highlighter.html
index d59ef61..f0cd264 100644
--- a/weinre.web/tests/element-highlighter.html
+++ b/weinre.web/tests/element-highlighter.html
@@ -1,3 +1,22 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
 <html>
 
 <head>
diff --git a/weinre.web/tests/index.html b/weinre.web/tests/index.html
index 54b577a..ca9dd9c 100644
--- a/weinre.web/tests/index.html
+++ b/weinre.web/tests/index.html
@@ -1,3 +1,22 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+
 <html>
 <head>
 <title>weinre.web/tests</title>
diff --git a/weinre.web/versions.js b/weinre.web/versions.js
index af1f435..0e4c545 100644
--- a/weinre.web/versions.js
+++ b/weinre.web/versions.js
@@ -1,8 +1,20 @@
 /*
- * weinre is available under *either* the terms of the modified BSD license *or* the
- * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Copyright (c) 2010, 2011 IBM Corporation
+ *     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.
  */
 
  if (typeof Weinre == "undefined") Weinre = {};