diff --git a/ipojo/annotations/DEPENDENCIES b/ipojo/annotations/DEPENDENCIES
index e1ea054..f759d7a 100644
--- a/ipojo/annotations/DEPENDENCIES
+++ b/ipojo/annotations/DEPENDENCIES
@@ -9,5 +9,5 @@
 
 II. Used Third-Party Software
 
-III. License Summary
+III. Overall License Summary
 - Apache License 2.0
diff --git a/ipojo/ant/DEPENDENCIES b/ipojo/ant/DEPENDENCIES
index ab25a49..94aff6b 100644
--- a/ipojo/ant/DEPENDENCIES
+++ b/ipojo/ant/DEPENDENCIES
@@ -1,22 +1,22 @@
 Apache Felix iPOJO Ant Task
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
 This product includes software developed at
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
 
-II. Used Software
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+III. Overall License Summary
 - Apache License 2.0
 - BSD License
diff --git a/ipojo/api/DEPENDENCIES b/ipojo/api/DEPENDENCIES
index a961494..1eb3cb5 100644
--- a/ipojo/api/DEPENDENCIES
+++ b/ipojo/api/DEPENDENCIES
@@ -1,27 +1,27 @@
 Apache Felix iPOJO API
 Copyright 2010 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
 This product includes software developed at
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
 
-II. Used Software
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-This product includes software developed at
+This product uses software developed at
 The OSGi Alliance (http://www.osgi.org/).
 Copyright (c) OSGi Alliance (2000, 2009).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+III. Overall License Summary
 - Apache License 2.0
 - BSD License
diff --git a/ipojo/arch-gogo/DEPENDENCIES b/ipojo/arch-gogo/DEPENDENCIES
index 876ec37..e276a74 100644
--- a/ipojo/arch-gogo/DEPENDENCIES
+++ b/ipojo/arch-gogo/DEPENDENCIES
@@ -10,9 +10,13 @@
 II. Used Third-Party Software
 
 This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
 The OSGi Alliance (http://www.osgi.org/).
 Copyright (c) OSGi Alliance (2000, 2009).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+III. Overall License Summary
 - Apache License 2.0
diff --git a/ipojo/arch/DEPENDENCIES b/ipojo/arch/DEPENDENCIES
index 3d6a810..0188208 100644
--- a/ipojo/arch/DEPENDENCIES
+++ b/ipojo/arch/DEPENDENCIES
@@ -1,22 +1,22 @@
 Apache Felix iPOJO Arch Command
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
-II. Used Software
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-This product includes software developed at
+This product uses software developed at
 The OSGi Alliance (http://www.osgi.org/).
 Copyright (c) OSGi Alliance (2000, 2009).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+III. Overall License Summary
 - Apache License 2.0
diff --git a/ipojo/composite/DEPENDENCIES b/ipojo/composite/DEPENDENCIES
index b16ed8f..260b2f0 100644
--- a/ipojo/composite/DEPENDENCIES
+++ b/ipojo/composite/DEPENDENCIES
@@ -1,27 +1,27 @@
 Apache Felix iPOJO Composite
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
 This product includes software developed at
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
 
-II. Used Software
-
-This product includes software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2009).
-Licensed under the Apache License 2.0.
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+This product uses software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+III. Overall License Summary
 - Apache License 2.0
 - BSD License
diff --git a/ipojo/core/DEPENDENCIES b/ipojo/core/DEPENDENCIES
index 9341de7..6cfe273 100644
--- a/ipojo/core/DEPENDENCIES
+++ b/ipojo/core/DEPENDENCIES
@@ -8,21 +8,21 @@
 I. Included Third-Party Software
 
 This product includes software developed at
+Copyright (c) 2000-2005 INRIA, France Telecom
+Licensed under BSD License.
+
+This product includes software developed at
 The OSGi Alliance (http://www.osgi.org/).
 Copyright (c) OSGi Alliance (2000, 2007).
 Licensed under the Apache License 2.0.
 
-This product includes software developed at
-Copyright (c) 2000-2005 INRIA, France Telecom
-Licensed under BSD License.
-
 II. Used Third-Party Software
 
 This product uses software developed at
 The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2007).
+Copyright (c) OSGi Alliance (2000, 2009).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+III. Overall License Summary
 - Apache License 2.0
 - BSD License
diff --git a/ipojo/handler/eventadmin/DEPENDENCIES b/ipojo/handler/eventadmin/DEPENDENCIES
index 962cac6..ef78957 100644
--- a/ipojo/handler/eventadmin/DEPENDENCIES
+++ b/ipojo/handler/eventadmin/DEPENDENCIES
@@ -1,22 +1,22 @@
 Apache Felix iPOJO Event Admin Handler
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
-II. Used Software
-
-This product includes software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2009).
-Licensed under the Apache License 2.0.
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-III. License Summary
-- Apache License 2.0
+This product uses software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+III. Overall License Summary
+- Apache License 2.0
\ No newline at end of file
diff --git a/ipojo/handler/extender/DEPENDENCIES b/ipojo/handler/extender/DEPENDENCIES
index a289053..f1b6b31 100644
--- a/ipojo/handler/extender/DEPENDENCIES
+++ b/ipojo/handler/extender/DEPENDENCIES
@@ -1,22 +1,22 @@
 Apache Felix iPOJO Extender Pattern Handler
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
-II. Used Software
-
-This product includes software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2009).
-Licensed under the Apache License 2.0.
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+This product uses software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+III. Overall License Summary
 - Apache License 2.0
diff --git a/ipojo/handler/jmx/DEPENDENCIES b/ipojo/handler/jmx/DEPENDENCIES
index 62e77d5..aac7b3f 100644
--- a/ipojo/handler/jmx/DEPENDENCIES
+++ b/ipojo/handler/jmx/DEPENDENCIES
@@ -1,22 +1,22 @@
 Apache Felix iPOJO JMX Handler
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
-II. Used Software
-
-This product includes software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2009).
-Licensed under the Apache License 2.0.
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+This product uses software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+III. Overall License Summary
 - Apache License 2.0
diff --git a/ipojo/handler/temporal/DEPENDENCIES b/ipojo/handler/temporal/DEPENDENCIES
index 47e17c9..08770d9 100644
--- a/ipojo/handler/temporal/DEPENDENCIES
+++ b/ipojo/handler/temporal/DEPENDENCIES
@@ -1,28 +1,28 @@
 Apache Felix iPOJO Temporal Dependency Handler
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
 This product includes software developed at
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
 
-II. Used Software
-
-This product includes software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2009).
-Licensed under the Apache License 2.0.
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+This product uses software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+III. Overall License Summary
 - Apache License 2.0
 - BSD License
 
diff --git a/ipojo/handler/whiteboard/DEPENDENCIES b/ipojo/handler/whiteboard/DEPENDENCIES
index 15f983b..3ccb257 100644
--- a/ipojo/handler/whiteboard/DEPENDENCIES
+++ b/ipojo/handler/whiteboard/DEPENDENCIES
@@ -1,22 +1,22 @@
 Apache Felix iPOJO Whiteboard Pattern Handler
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
-II. Used Software
-
-This product includes software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2009).
-Licensed under the Apache License 2.0.
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+This product uses software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+III. Overall License Summary
 - Apache License 2.0
diff --git a/ipojo/manipulator/DEPENDENCIES b/ipojo/manipulator/DEPENDENCIES
index 5f8f449..440f00d 100644
--- a/ipojo/manipulator/DEPENDENCIES
+++ b/ipojo/manipulator/DEPENDENCIES
@@ -5,6 +5,10 @@
 (http://www.apache.org) and may have dependencies on other
 Apache software licensed under Apache License 2.0.
 
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
 I. Included Third-Party Software
 
 This product includes software developed at
@@ -13,6 +17,10 @@
 
 II. Used Third-Party Software
 
-III. License Summary
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+III. Overall License Summary
 - Apache License 2.0
 - BSD License
diff --git a/ipojo/metadata/DEPENDENCIES b/ipojo/metadata/DEPENDENCIES
index 95c4779..adf56b5 100644
--- a/ipojo/metadata/DEPENDENCIES
+++ b/ipojo/metadata/DEPENDENCIES
@@ -1,13 +1,13 @@
 Apache Felix iPOJO Metadata
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
-II. Used Software
+II. Used Third-Party Software
 
-III. License Summary
+III. Overall License Summary
 - Apache License 2.0
diff --git a/ipojo/online-manipulator/DEPENDENCIES b/ipojo/online-manipulator/DEPENDENCIES
index c39ae15..19c6def 100644
--- a/ipojo/online-manipulator/DEPENDENCIES
+++ b/ipojo/online-manipulator/DEPENDENCIES
@@ -1,28 +1,28 @@
 Apache Felix iPOJO Online Manipulator
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
 This product includes software developed at
 Copyright (c) 2000-2005 INRIA, France Telecom
 Licensed under BSD License.
 
-II. Used Software
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-This product includes software developed at
+This product uses software developed at
 The OSGi Alliance (http://www.osgi.org/).
 Copyright (c) OSGi Alliance (2000, 2009).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+III. Overall License Summary
 - Apache License 2.0
 - BSD License
 
diff --git a/ipojo/webconsole-plugin/DEPENDENCIES b/ipojo/webconsole-plugin/DEPENDENCIES
index 95fbe5c..251805f 100644
--- a/ipojo/webconsole-plugin/DEPENDENCIES
+++ b/ipojo/webconsole-plugin/DEPENDENCIES
@@ -1,28 +1,28 @@
 Apache Felix iPOJO Webconsole Plugins
 Copyright 2008-2011 The Apache Software Foundation
 
-I. Included Software
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
 
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
+I. Included Third-Party Software
 
 This product includes software from http://www.json.org.
 Copyright (c) 2002 JSON.org
 Licensed under the JSON License
 
-II. Used Software
-
-This product includes software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2009).
-Licensed under the Apache License 2.0.
+II. Used Third-Party Software
 
 This product uses software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
 
-III. License Summary
+This product uses software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright (c) OSGi Alliance (2000, 2009).
+Licensed under the Apache License 2.0.
+
+III. Overall License Summary
 - Apache License 2.0
 - JSON License
 
