Is there any documentation available that describes the WSO2 svn structure?
It seems that the folder https://svn.wso2.org/repos/wso2/branches/
is deprec
Question: Should I only be working in the svn folder https://svn.wso2.org/repos/wso2/carbon/?
WSO2 is currently doing active development in following svn directory.
https://svn.wso2.org/repos/wso2/carbon/
Question: 4.0.0 and 4.1.0 seem to be for the Carbon Platform, but what is 4.0.2AF - Is this Application Factory?
The branches in https://svn.wso2.org/repos/wso2/carbon/platform/branches/ are for the Carbon platform. The branch 4.0.2AF is for WSO2 App Factory (http://wso2.com/cloud/app-factory/)
Question: If I want to work on a specific version of Carbon say 4.0.3, it seems that I need to checkout the 4.0.0 branch. What else do I need to do so that mvn clean install will build 4.0.3 for me?
You can build Carbon 4.0.3 from following:
https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.0.0/patch-releases/4.0.3/
You will be able to build products using the branch. That's why branch SVN URL is given in the links.
Each branch has a patch release for minor platform releases. For example: https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0/patch-releases/
As mentioned in your answer, you can build from a tagged version also.
You can more details about product version and carbon version from the release matrix: http://wso2.com/products/carbon/release-matrix/
You can also subscribe to WSO2 mailing lists and get more information, if you have not subscribed already.
The answer to question 3 is build a checkout a tagged version (of course!!). Thanks to the answer here for pointing me in the right direction.
I was blindly following the wiki documentation which tells you to checkout a branch.