So, what does that mean? Gerv wanted to make this software as accessible as possible, while keeping it free (libre). Using the MPL/GPL dual license means that most people will use the software under the MPL, and so, as well as being used in free software, it can be incorporated into proprietary products without the need to open-source the entire codebase. Given that the initial development was funded by a company with just such a product, this seemed only fair However, an MPL-only license would exclude GPL projects, as the GPL is incompatible with the MPL. The dual license solves this problem nicely.
However, note that if you exercise the option to modify the dual license to be GPL-only, then you are not allowed to redistribute Xerces and the Netscape LDAP SDK with your version of the code. If you wish the app to continue to function, you have to find GPL-compatible alternatives for these components.
Polite Request The option to convert to GPL-only is required for the license to be GPL-compatible. However, to do so (and to continue distribution) means a code fork. I therefore ask anyone who is considering taking this step, and forking the code, to remember that I dual-licensed this software, and included the GPL part, to make it accessible to you. Please don't run off with the ball.
Preprocessing The current version of this code is a preprocessed version (using a proprietary preprocessor owned by Data Connection Limited) of the actual source which I wrote. The main effects of this preprocessor are to remove tracing, and convert their comment forms into proper Javadoc comments.
Because this code is Open Source, and preprocessing it probably counts as a Modification under the MPL, you can also download the un-preprocessed version from here. However, please don't, since the code is missing the tracing classes and therefore won't compile. Downloading it will just waste my bandwidth (unless you plan to reimplement the preprocessor, which would be cool!).