diff --git a/bundlerepository/src/main/resources/META-INF/NOTICE b/bundlerepository/src/main/resources/META-INF/NOTICE
index ee543e8..a95f7d0 100644
--- a/bundlerepository/src/main/resources/META-INF/NOTICE
+++ b/bundlerepository/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix OSGi Bundle Repository
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/eventadmin.bridge.configuration/src/main/resources/NOTICE b/eventadmin.bridge.configuration/src/main/resources/NOTICE
index a851728..68f6aaf 100644
--- a/eventadmin.bridge.configuration/src/main/resources/NOTICE
+++ b/eventadmin.bridge.configuration/src/main/resources/NOTICE
@@ -1,15 +1,5 @@
 Apache Felix EventAdmin Bridge Configuration
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/eventadmin.bridge.upnp/src/main/resources/NOTICE b/eventadmin.bridge.upnp/src/main/resources/NOTICE
index 97915dd..0a9e37c 100644
--- a/eventadmin.bridge.upnp/src/main/resources/NOTICE
+++ b/eventadmin.bridge.upnp/src/main/resources/NOTICE
@@ -1,15 +1,5 @@
 Apache Felix EventAdmin Bridge UPnP
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/eventadmin.bridge.useradmin/src/main/resources/NOTICE b/eventadmin.bridge.useradmin/src/main/resources/NOTICE
index 4d3a585..e768817 100644
--- a/eventadmin.bridge.useradmin/src/main/resources/NOTICE
+++ b/eventadmin.bridge.useradmin/src/main/resources/NOTICE
@@ -1,15 +1,5 @@
 Apache Felix EventAdmin Bridge UserAdmin
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/eventadmin.bridge.wireadmin/src/main/resources/NOTICE b/eventadmin.bridge.wireadmin/src/main/resources/NOTICE
index a8b915c..6ea3c11 100644
--- a/eventadmin.bridge.wireadmin/src/main/resources/NOTICE
+++ b/eventadmin.bridge.wireadmin/src/main/resources/NOTICE
@@ -1,15 +1,5 @@
 Apache Felix EventAdmin Bridge WireAdmin
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/eventadmin/src/main/resources/NOTICE b/eventadmin/src/main/resources/NOTICE
index 428dd33..e49c0a8 100644
--- a/eventadmin/src/main/resources/NOTICE
+++ b/eventadmin/src/main/resources/NOTICE
@@ -1,15 +1,5 @@
 Apache Felix EventAdmin
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/examples/simple/NOTICE b/examples/simple/NOTICE
index a35987b..c80cf6c 100644
--- a/examples/simple/NOTICE
+++ b/examples/simple/NOTICE
@@ -1,15 +1,5 @@
 Apache Felix Simple Bundle
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/framework/src/main/resources/META-INF/NOTICE b/framework/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/framework/src/main/resources/META-INF/NOTICE
+++ b/framework/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/log/src/main/resources/NOTICE b/log/src/main/resources/NOTICE
index 3e14a70..553560a 100644
--- a/log/src/main/resources/NOTICE
+++ b/log/src/main/resources/NOTICE
@@ -1,15 +1,5 @@
 Apache Felix Log Service
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/main/src/main/resources/META-INF/NOTICE b/main/src/main/resources/META-INF/NOTICE
index 7c3e416..90652d4 100644
--- a/main/src/main/resources/META-INF/NOTICE
+++ b/main/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Main
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.console.component/src/main/resources/META-INF/NOTICE b/mosgi.console.component/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.console.component/src/main/resources/META-INF/NOTICE
+++ b/mosgi.console.component/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.console.gui/src/main/resources/META-INF/NOTICE b/mosgi.console.gui/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.console.gui/src/main/resources/META-INF/NOTICE
+++ b/mosgi.console.gui/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.console.ifc/src/main/resources/META-INF/NOTICE b/mosgi.console.ifc/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.console.ifc/src/main/resources/META-INF/NOTICE
+++ b/mosgi.console.ifc/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.jmx.agent/src/main/resources/META-INF/NOTICE b/mosgi.jmx.agent/src/main/resources/META-INF/NOTICE
index 014c549..809d522 100644
--- a/mosgi.jmx.agent/src/main/resources/META-INF/NOTICE
+++ b/mosgi.jmx.agent/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.jmx.httpconnector/src/main/resources/META-INF/NOTICE b/mosgi.jmx.httpconnector/src/main/resources/META-INF/NOTICE
index 014c549..809d522 100644
--- a/mosgi.jmx.httpconnector/src/main/resources/META-INF/NOTICE
+++ b/mosgi.jmx.httpconnector/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.jmx.registry/src/main/resources/META-INF/NOTICE b/mosgi.jmx.registry/src/main/resources/META-INF/NOTICE
index e9e2844..809d522 100644
--- a/mosgi.jmx.registry/src/main/resources/META-INF/NOTICE
+++ b/mosgi.jmx.registry/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
@@ -21,4 +11,3 @@
 
 This product includes software developed by the
 MX4J project (http://mx4j.sourceforge.net).
-
diff --git a/mosgi.jmx.remotelogger/src/main/resources/META-INF/NOTICE b/mosgi.jmx.remotelogger/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.jmx.remotelogger/src/main/resources/META-INF/NOTICE
+++ b/mosgi.jmx.remotelogger/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.jmx.rmiconnector/src/main/resources/META-INF/NOTICE b/mosgi.jmx.rmiconnector/src/main/resources/META-INF/NOTICE
index e9e2844..809d522 100644
--- a/mosgi.jmx.rmiconnector/src/main/resources/META-INF/NOTICE
+++ b/mosgi.jmx.rmiconnector/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
@@ -21,4 +11,3 @@
 
 This product includes software developed by the
 MX4J project (http://mx4j.sourceforge.net).
-
diff --git a/mosgi.managedelements.bundlesprobes.tab/src/main/resources/META-INF/NOTICE b/mosgi.managedelements.bundlesprobes.tab/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.managedelements.bundlesprobes.tab/src/main/resources/META-INF/NOTICE
+++ b/mosgi.managedelements.bundlesprobes.tab/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.managedelements.bundlesprobes/src/main/resources/META-INF/NOTICE b/mosgi.managedelements.bundlesprobes/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.managedelements.bundlesprobes/src/main/resources/META-INF/NOTICE
+++ b/mosgi.managedelements.bundlesprobes/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.managedelements.memoryprobe/src/main/resources/META-INF/NOTICE b/mosgi.managedelements.memoryprobe/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.managedelements.memoryprobe/src/main/resources/META-INF/NOTICE
+++ b/mosgi.managedelements.memoryprobe/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.managedelements.obrprobe.tab/src/main/resources/META-INF/NOTICE b/mosgi.managedelements.obrprobe.tab/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.managedelements.obrprobe.tab/src/main/resources/META-INF/NOTICE
+++ b/mosgi.managedelements.obrprobe.tab/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.managedelements.obrprobe/src/main/resources/META-INF/NOTICE b/mosgi.managedelements.obrprobe/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.managedelements.obrprobe/src/main/resources/META-INF/NOTICE
+++ b/mosgi.managedelements.obrprobe/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.managedelements.osgiprobes.tab/src/main/resources/META-INF/NOTICE b/mosgi.managedelements.osgiprobes.tab/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.managedelements.osgiprobes.tab/src/main/resources/META-INF/NOTICE
+++ b/mosgi.managedelements.osgiprobes.tab/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/mosgi.managedelements.osgiprobes/src/main/resources/META-INF/NOTICE b/mosgi.managedelements.osgiprobes/src/main/resources/META-INF/NOTICE
index 241d5d7..fb681e0 100644
--- a/mosgi.managedelements.osgiprobes/src/main/resources/META-INF/NOTICE
+++ b/mosgi.managedelements.osgiprobes/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
diff --git a/shell.tui/src/main/resources/META-INF/NOTICE b/shell.tui/src/main/resources/META-INF/NOTICE
index ef2c9d9..e2a5fe8 100644
--- a/shell.tui/src/main/resources/META-INF/NOTICE
+++ b/shell.tui/src/main/resources/META-INF/NOTICE
@@ -1,15 +1,5 @@
 Apache Felix Shell Textual Interface
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/shell/src/main/resources/META-INF/NOTICE b/shell/src/main/resources/META-INF/NOTICE
index 5bbb0e7..459d669 100644
--- a/shell/src/main/resources/META-INF/NOTICE
+++ b/shell/src/main/resources/META-INF/NOTICE
@@ -1,15 +1,5 @@
 Apache Felix Shell Service
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/tools/maven2/maven-bundle-plugin/src/main/resources/META-INF/NOTICE b/tools/maven2/maven-bundle-plugin/src/main/resources/META-INF/NOTICE
index 8387bf5..b867dab 100644
--- a/tools/maven2/maven-bundle-plugin/src/main/resources/META-INF/NOTICE
+++ b/tools/maven2/maven-bundle-plugin/src/main/resources/META-INF/NOTICE
@@ -1,16 +1,6 @@
 Apache Felix Framework
 Copyright 2006 The Apache Software Foundation
 
-Apache Felix is an effort undergoing incubation at 
-The Apache Software Foundation (ASF). Incubation is 
-required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, 
-and decision making process have stabilized in a manner 
-consistent with other successful ASF projects. While 
-incubation status is not necessarily a reflection of the 
-completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
