diff --git a/distribution/src/main/release/src/BUILDING b/BUILDING
similarity index 100%
rename from distribution/src/main/release/src/BUILDING
rename to BUILDING
diff --git a/distribution/src/main/release/src/LICENSE b/LICENSE
similarity index 100%
rename from distribution/src/main/release/src/LICENSE
rename to LICENSE
diff --git a/distribution/src/main/release/src/NOTICE b/NOTICE
similarity index 99%
rename from distribution/src/main/release/src/NOTICE
rename to NOTICE
index 365ebf1..1df9707 100644
--- a/distribution/src/main/release/src/NOTICE
+++ b/NOTICE
@@ -1,11 +1,11 @@
-Apache Tuscany
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-This product also includes software developed by the Open Service Oriented Architecture organisation
-(http://osoa.org).
-
-Please see the LICENSE file present in the root directory of this
-distribution.
+Apache Tuscany
+Copyright (c) 2005 - 2008 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+This product also includes software developed by the Open Service Oriented Architecture organisation
+(http://osoa.org).
+
+Please see the LICENSE file present in the root directory of this
+distribution.
diff --git a/distribution/src/main/release/src/README b/README
similarity index 99%
rename from distribution/src/main/release/src/README
rename to README
index a34bf2b..d8178f7 100644
--- a/distribution/src/main/release/src/README
+++ b/README
@@ -1,16 +1,16 @@
-Tuscany SDO for ${sdo.version} Source Distribution Readme File
-
-See the LICENSE, DISCLAIMER and NOTICE files for legal information concerning this distribution. 
-
-See the RELEASE_NOTES file for a summary of what's new with this release.
-
-See the BUILDING file for instructions on how to build Tuscany SDO Java from this source distribution.
-
-Documentation
-
-For general documentation about the Tuscany project and the SDO for Java, see the Tuscany website
-http://incubator.apache.org/tuscany
-
-
-
-
+Tuscany SDO for ${sdo.version} Source Distribution Readme File
+
+See the LICENSE, DISCLAIMER and NOTICE files for legal information concerning this distribution. 
+
+See the RELEASE_NOTES file for a summary of what's new with this release.
+
+See the BUILDING file for instructions on how to build Tuscany SDO Java from this source distribution.
+
+Documentation
+
+For general documentation about the Tuscany project and the SDO for Java, see the Tuscany website
+http://incubator.apache.org/tuscany
+
+
+
+
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
new file mode 100644
index 0000000..4d40911
--- /dev/null
+++ b/RELEASE_NOTES
@@ -0,0 +1,34 @@
+Trunk version -- edit this as appropriate in the branch / tag of a release
+
+What's New in SDO Java XXXX
+
+Apache Tuscany's SDO Java Release *********** is 
+
+For previous revision history, take a look at
+http://svn.apache.org/viewvc/tuscany/tags/java/sdo/*******/RELEASE_NOTES
+
+SDO Java ************** is a superset of previous SDO xxxxxxxxxxxx release.
+Anything in xxxxxxxxxxxxxxxxx is also in *********, but ********** contains
+features and bugfixes not present in xxxxxxxxxxxx release.
+
+Downloading
+===========
+
+Please visit  http://tuscany.apache.org/sdo-java-releases.html
+
+
+
+New Features and Fixes
+======================
+
+For more detail on these fixes and features please see ...
+https://issues.apache.org/jira
+
+New Feature
+.....
+Improvement
+.....
+Bug
+.....
+Wish
+.....
diff --git a/distribution/src/main/assembly/bin.xml b/distribution/src/main/assembly/bin.xml
index 2e6b1f9..08c1d66 100644
--- a/distribution/src/main/assembly/bin.xml
+++ b/distribution/src/main/assembly/bin.xml
@@ -30,13 +30,6 @@
 
             <!-- Add the text files to the top-level directory -->
 		<fileSet>
-			<directory>src/main/release</directory>
-			<outputDirectory>tuscany-sdo-${sdo.version}</outputDirectory>
-			<includes>
-                <include>DISCLAIMER</include>
-			</includes>
-		</fileSet>
-		<fileSet>
 			<directory>src/main/release/bin</directory>
 			<outputDirectory>tuscany-sdo-${sdo.version}</outputDirectory>
 			<includes>
@@ -86,12 +79,7 @@
 
     <files>
         <file>
-            <source>src/main/release/RELEASE_NOTES</source>
-            <outputDirectory>tuscany-sdo-${sdo.version}</outputDirectory>
-            <filtered>true</filtered>
-        </file>
-        <file>
-            <source>src/main/release/bin/README</source>
+            <source>../RELEASE_NOTES</source>
             <outputDirectory>tuscany-sdo-${sdo.version}</outputDirectory>
             <filtered>true</filtered>
         </file>
diff --git a/distribution/src/main/assembly/src.xml b/distribution/src/main/assembly/src.xml
index 21a9211..4043e74 100644
--- a/distribution/src/main/assembly/src.xml
+++ b/distribution/src/main/assembly/src.xml
@@ -28,22 +28,6 @@
 
     <fileSets>
         <fileSet>
-            <directory>src/main/release</directory>
-            <!-- TODO get the right version reference -->
-            <outputDirectory>tuscany-sdo-${tuscany.version}-src</outputDirectory>
-            <includes>
-                <include>CHANGES</include>
-                <include>DISCLAIMER</include>
-            </includes>
-        </fileSet>
-        <fileSet>
-            <directory>src/main/release/src</directory>
-            <outputDirectory>tuscany-sdo-${tuscany.version}-src</outputDirectory>
-            <includes>
-                <include>BUILDING</include>
-            </includes>
-        </fileSet>
-        <fileSet>
             <directory>..</directory>
             <outputDirectory>tuscany-sdo-${tuscany.version}-src</outputDirectory>
             <includes>
@@ -65,27 +49,28 @@
                 <exclude>bin/*</exclude>
                 <exclude>**/var/journal</exclude>
                 <exclude>**/build.out*</exclude>
+                <exclude>impl/.felix</exclude>
             </excludes>
         </fileSet>
     </fileSets>
     <files>
         <file>
-            <source>src/main/release/src/README</source>
+            <source>../README</source>
             <outputDirectory>tuscany-sdo-${sdo.version}-src</outputDirectory>
             <filtered>true</filtered>
         </file>
         <file>
-            <source>src/main/release/src/LICENSE</source>
+            <source>../LICENSE</source>
             <outputDirectory>tuscany-sdo-${sdo.version}-src</outputDirectory>
             <filtered>true</filtered>
         </file>
         <file>
-            <source>src/main/release/src/NOTICE</source>
+            <source>../NOTICE</source>
             <outputDirectory>tuscany-sdo-${sdo.version}-src</outputDirectory>
             <filtered>true</filtered>
         </file>
         <file>
-            <source>src/main/release/RELEASE_NOTES</source>
+            <source>../RELEASE_NOTES</source>
             <outputDirectory>tuscany-sdo-${sdo.version}-src</outputDirectory>
             <filtered>true</filtered>
         </file>
diff --git a/distribution/src/main/release/DISCLAIMER b/distribution/src/main/release/DISCLAIMER
deleted file mode 100644
index a65af91..0000000
--- a/distribution/src/main/release/DISCLAIMER
+++ /dev/null
@@ -1,7 +0,0 @@
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. 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.
\ No newline at end of file
diff --git a/distribution/src/main/release/README b/distribution/src/main/release/README
deleted file mode 100644
index fedf7bb..0000000
--- a/distribution/src/main/release/README
+++ /dev/null
@@ -1,23 +0,0 @@
-Tuscany SDO for {$sdo.version} Binary Distribution Readme File
-
-Legal Notices
-
-See the LICENSE and NOTICE files for legal information concerning this distribution. 
-
-Release Information
-
-See the RELEASE_NOTES file for a summary of what's new with this release since the M2 release.
-
-Documentation
-
-For general documentation about the Tuscany project and the SDO for Java, see the Tuscany website
-http://incubator.apache.org/tuscany
-
-This distribution contains javadoc for the SDO 2.1 API, the Tuscany SDO API,  and the Tuscany SDO samples.
-
-Samples
-
-Sample source code is included with this binary distribution. 
-
-
-
diff --git a/distribution/src/main/release/RELEASE_NOTES b/distribution/src/main/release/RELEASE_NOTES
deleted file mode 100644
index aaeb03f..0000000
--- a/distribution/src/main/release/RELEASE_NOTES
+++ /dev/null
@@ -1,95 +0,0 @@
-What's New in SDO Java ${sdo.version}
-
-Apache Tuscany's SDO Java Release ${sdo.version} is the first such release
-with full coverage of the SDO 2.1 specification.
-
-In addition to adding the few remaining SDO 2.1 features not included in the
-${sdo.previousversion} release and fixing a number of bugs (see below for detail)
-there are a number of new features relating to XML serialization, and new
-support for handling dynamic derivation from static classes.
-
-For previous revision history, take a look at
-http://svn.apache.org/viewvc/incubator/tuscany/tags/java/sdo/${sdo.previousversion}/sdo/distribution/RELEASE_NOTES.txt
-
-SDO Java ${sdo.version} is a superset of previous SDO ${sdo.previousversion} release.
-Anything in ${sdo.previousversion} is also in ${sdo.version}, but ${sdo.version} contains
-features and bugfixes not present in ${sdo.previousversion} release.
-
-Downloading
-===========
-
-Please visit  http://incubator.apache.org/tuscany/sdo-java-releases.html
-
-Binary Artifact Changes
-=======================
-
-PLEASE NOTE that
-Since the 1.0-incubating-beta release the following binary artifacts have been renamed
-
-The maven groupId of the SDO API binary artifact has changed from "commonj" to "org.apache.tuscany.sdo"
-
-The maven artifactId for the SDO API binary artifact has changed from "sdo-api-r2.1" to "tuscany-sdo-api-r2.1"
-
-The jar file containing the SDO API has a new "tuscany-" prefix,  so what was ..
-sdo-api-r2.1-1.0-incubating-beta1.jar in the beta1 release becomes
-tuscany-sdo-api-r2.1-1.0-incubating.jar in this release.
-
-In addition a new maven artifact and jar has appeared.
-
-maven groupId=org.apache.tuscany.sdo
-maven artifactId=tuscany-sdo-lib
-jar archive=tuscany-sdo-lib-${sdo.version}
-
-This artifact provides a cleear distinction between Tuscany SDO implementation,  and the Tuscany
-API which extends the SDO API.  See the javadoc contained in the binary release for details of
-the function provded by this artifact.
-
-
-New Features and Fixes
-======================
-
-For more detail on these fixes and features please see ...
-https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&&pid=12310210&fixfor=12312521&resolution=1&sorter/field=issuekey&sorter/order=DESC&sorter/field=issuetype&sorter/order=DESC
-
-New Feature
-	TUSCANY-1197	Sequence composition
-	TUSCANY-1212	SDO 2.1 feature: Property.isNullable() and Property.isOpenContent()
-	TUSCANY-1213	SDO 2.1 feature: DataHelper.convert()
-	TUSCANY-1214	SDO 2.1 feature: XMLHelper.load(Source) and XMLHelper.save(Result)
-	TUSCANY-1317	Provide a way to set default XML load options to be used during Java deserialization
-Improvement
-	TUSCANY-513	Implement support for dynamic subclasses of statically generated types
-	TUSCANY-1110	Improve the performance of TypeHelperImpl.getType(Class)
-	TUSCANY-1233	Enhance SDO static codegen (XSD2Java) to support multiple namespaces in a single pass.
-	TUSCANY-1284	Manifest version number in Java SDO Impl and Tools jars
-	TUSCANY-1350	Reorganise SDO build / distribution layout
-	TUSCANY-1391	Provide capability to load and save XML with unknown features
-	TUSCANY-1459	Remove package registry delegation to EPackage.Registry.INSTANCE
-Bug
-	TUSCANY-578	Exceptions thrown by SDO runtime not the same as defined in the spec
-	TUSCANY-993	Problems with sdoModelExtended.xsd
-	TUSCANY-1122	TypeConversionTestCase fails for JDK 1.4.2
-	TUSCANY-1127	ObtainingDataGraphFromXml, and maybe other samples, incorrectly accessing xsd:any content
-	TUSCANY-1143	Generated code should separate metadata creation from registration to permit proper scoping
-	TUSCANY-1207	TCCL-specific EcoreBuilders must be used by default XSDHelper
-	TUSCANY-1223	XSD base64Binary type mapping to wrong SDO type
-	TUSCANY-1250	Static SDO generator generates an erroneous factory class, when inheritance and different Java packages are used
-	TUSCANY-1251	Code generated from xsd:base64Binary types fail to compile
-	TUSCANY-1254	Codegen on a type inheriting from a type in different namespace will result in mis-mapping the feature IDs
-	TUSCANY-1305	Changesummary of datagraph using static interfaces.
-	TUSCANY-1324	DeserializationNoSchemaTestCase took a long time to run
-	TUSCANY-1325	Property value with xsd:QName type is not deserialized and serialized correctly
-	TUSCANY-1333	[Java SDO] ClassCastException when defining schema file without .xsd extension
-	TUSCANY-1352	NPE in SDOXSDEcoreBuilder.XSDSchemaAdapterFactoryImpl.SchemaLocator.locateSchema
-	TUSCANY-1369	EMF 2.2.2 Dependencies from ISU are Stale
-	TUSCANY-1385	Duplicate namespace was serialized when SDO QName property value containing existing namespace
-	TUSCANY-1393	ClassCastException saving codegen-based DataGraph with ChangeSummary containing an xsd:int
-	TUSCANY-1408	Cannot programmatically define a SDO property matching to XSD element
-	TUSCANY-1410	DataHelperImpl.toCalendar() with null locale should use default locale
-	TUSCANY-1421	XMLHelper.save on root object of DataGraph gives serialization of href="root.xml#/"
-	TUSCANY-1428	XSD2JavaGenerator.GeneratePackage information is invalid
-	TUSCANY-1429	Using default helper context got ClassCastException due to T-1317
-	TUSCANY-1430	SDO codegen is needs to use internal property numbers for inverseAdd, inverseRemove, and notify calls
-	TUSCANY-1436	TypeHelper.getType(java.util.List.class) throws ClassCastException
-	TUSCANY-1446	Java SDO samples don't compile with JDK 1.4.2
-	TUSCANY-1457	Unable to code gen SDOModel.xsd
