Title: Coding Standards ### Code Conventions Most developers of Apache Stanbol use the Eclipse IDE for development. The code conventions for this IDE can be imported from the '/conventions/stanbol-eclipse-codeformatter.xml' file [in SVN](http://svn.apache.org/repos/asf/stanbol/trunk/conventions/). ### SVN Structure The Apache Stanbol [SVN](http://svn.apache.org/repos/asf/stanbol/) is divided into the classical trio of * trunk: where the main development takes place * branches: used for release branching and to implement prove of concepts that are not yet ready to be part of the trunk * tags: used for tagging releases, i.e. stable version of Apache Stanbol Additionally, there is the 'site' directory in the SVN. This holds the sources of the website you are currently reading. Apache Stanbol uses the [ASF CMS](https://blogs.apache.org/infra/entry/the_asf_cms) to create and maintain its website. ### Legal Issues The Apache Stanbol software is released under the Apache Software License (AL). Therefore, we have to ensure that our software is developed according to this license. Here is a short list of the most important rules every developer has to keep in mind when writing this software. * Ideally, each file in SVN should have the Apache license header. This is especially important for each source (*.java) file. This rule is checked automatically before doing a release using the Apache RAT tool. * The licenses of all dependencies that are used by Apache Stanbol must be compatible with the AL. * All dependencies used by Apache Stanbol should be available from the Maven central repository. If this is not the case, the Apache Stanbol module depending on a libraray that is not available from Maven central can not be released that easy, i.e. a separate -deps package would be required.