diff --git a/distribution/src/main/release/bin/NOTICE b/distribution/src/main/release/bin/NOTICE
index 79e51c9..5d35ec9 100644
--- a/distribution/src/main/release/bin/NOTICE
+++ b/distribution/src/main/release/bin/NOTICE
@@ -1,5 +1,5 @@
 Apache PhotArk
-Copyright (c) 2008 - 2009 The Apache Software Foundation
+Copyright (c) 2008 - 2010 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
@@ -8,79 +8,21 @@
 The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema)
  Portions Copyright 2006 International Business Machines Corp.
 
-"This product includes software developed by the Spring Framework
- Project (http://www.springframework.org)."
-
-This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org),
-developed by Mort Bay Consulting  (http://www.mortbay.com)
-
-This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/),
-Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved.
-
-This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/)
- Copyright (c) 2002-2003 Axion Development Team. All rights reserved.
-
 This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net)
 License: Public Domain 
 
 This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/)
 
-This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) 
- Copyright (c) 2003-2004 Jan-Klaas Kollhof
- Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd
-
 This product includes software from the GlassFish project (https://glassfish.dev.java.net/)
     Copyright (c) 2006, Sun Microsystems, Inc.
-    
-This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/)
-
-This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/)
-
-This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/)
-  
+      
 This product includes/uses dojotoolkit (http://dojotoolkit.org/)
  Copyright (c) 2005, The Dojo Foundation. All rights reserved.
 
-This product includes/uses axion (http://axion.tigris.org/)
- Copyright (c) 2002-2003 Axion Development Team.
-
-This product includes/uses javacc (https://javacc.dev.java.net/)
- Copyright (c) 2003 Sun Microsystems, Inc. All  Rights Reserved.
-
-The Program includes all or portions of the following software: "The 
-Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under
-an MPL v1.0 license. Please refer to the homepage URL at 
-http://www.saxonica.com/.
-
-This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license:
- Copyright (c) 2002, A. Abram White. All rights reserved.
-
-This product includes/uses tm-extractors (http://www.textmining.org) under AL2 license:
- Copyright (c) Ryan Ackley. 
-
 This product also includes software under the BSD license
 with the following copyright:
  Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved.
 
-This product includes software under the Service Component Architecture JavaDoc, 
-Interface Definition files and XSD files license.
-  (c) Copyright SCA Collaboration 2006, 2007
-
-This product includes software under the Service Data Objects JavaDoc and 
-Interface Definition file license
-
-(c) Copyright BEA Systems, Inc., International Business Machines Corporation, 
-Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., 
-Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, 
-2005, 2006. All rights reserved.
-
-This product includes/uses ASM (http://asm.objectweb.org)
-   Copyright (c) 2000-2005 INRIA, France Telecom
-   All rights reserved.
-
-This product includes/uses Jaxen (http://jaxen.codehaus.org/)
-   Copyright 2003-2006 The Werken Company. All Rights Reserved.
-
 This product also includes software under the Service Component Architecture specification license
 (see the LICENSE file contained in this distribution) with the following copyright
 
