There are many different levels where people can get involved. The development of FOP and the related plans and tasks are discussed on the dev mailing list. Users can help or get issues resolved by contributing information and examples to the developers.
At the moment Fop is mainly a tool to render XSL:FO files to pdf. Therefore if you want to contribute to Fop you should become familiar with these standards. You can find links under Resources.
The design for FOP is specified under the Design section.
This is where the information on how FOP is developed and designed internally will be kept.
You can subscribe to fop-dev@xml.apache.org by sending an email to fop-dev-subscribe@xml.apache.org
Sending bug reports and feature requests to the list is a welcome and important contribution to developing Fop.
Read also the archive of the discussion list fop-dev to get an idea of the issues being discussed.
Between releases the newest code can be accessed via cvs. To do this you need to install a cvs client on your computer, if it is not already there. An explanation how to connect to the Fop source repository can be found at http://xml.apache.org/cvs.html. An introduction into cvs and the cvs manual can be found in the reference library.
All changes to the code repository are sent to a special mailing list. After a cvs commit the diffs are automatically sent to this list. You can subscribe to fop-cvs@xml.apache.org by sending an email to fop-cvs-subscribe@xml.apache.org. If you want to contribute to the development of Fop you should subscribe, because it is important that you follow changes being made.
If you want to contribute code (p.e. a bugfix), a test or documentation (p.e. an additional example), please do the following:
1) Make sure your code doesn't break the existing one and that Fop still compiles.
2) Create a file which shows the differences to the existing code.
3) Send this file as an Attachment to fop-dev@xml.apache.org.
One of the committers will test your code and commit it to the code repository.
If you have a test or useful bug test you should read this page.
BTW: The Apache project knows different roles for contributors, namely 'users', 'developers', 'committers' and the 'Project Management Committee' (An explanation of these roles can be found here).
As mentioned in Apache XML Project Guidelines, all Java Language source code in the repository must be written in conformance to the Code Conventions for the Java Programming Language as published by Sun. Additionally we agreed on 4 spaces (no tabs) for indenting.
If you don't like those conventions, just use your own standards while developing and reformat the source before committing with a tool like astyle (Artistic Style).