These pages contain information that should be helpful for those developing FOP. This certainly includes programmers, but may also include those contributing to the project in other ways.
For basic and user information on FOP, please visit the FOP homepage.
There are currently three lines of development on the FOP product:
Please note that patches for enhancements to the maintenance branch will generally not be considered. Bug fixes are welcome there, but new developers are strongly encouraged to apply their efforts to the trunk development line.
Because there is a fair amount of common information between the maintenance and trunk development lines, we attempt to document them together, highlighting differences only where needed.
Review the Apache Project Roles and Responsibilities document for an understanding of the various roles of contributors within the community.
There are many different ways that you can help with FOP development. The following is a non-exhaustive list of ways that non-programmers can help. Remember that an hour spent on the tasks below is an hour that a programmer can devote to fixing bugs or adding features instead:
Of course, we're glad to have programmers help as well. Here are some additional tasks that would require programming ability:
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 at Specifications.
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.
Use this forum to discuss topics related to FOP development, including patch submissions, bug reports, and design issues. Please do not use it for XML support, XSLT support, XSL-FO support, or even FOP support. Appropriate mailing lists for these topics can be found on the FOP Mailing List page.
When changes are committed to the code repository, a record of the diffs is emailed to the fop-cvs mailing list. FOP developers are encouraged to subscribe to this list because it helps in following the progress of the project.
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.
If you have useful changes to source code (bugfixes or enhancements), test files, or documentation that you would like to contribute to the project, please do the following:
One of the committers will test your patch and consider its implications for the project. They will then either commit it to the repository or explain on the issue why they did not. Depending on the work load and skill-sets of the various committers, it may take some time before a a submitted patch is addressed.