Participating in JFreeChart Development

This page provides information for individuals that wish to participate as developers on the JFreeChart project. Our aim is to make it as easy as possible to contribute to the development of JFreeChart, while providing just enough structure to keep everything (relatively) coordinated. Developers interested in participating should:

  1. subscribe to the jfreechart-developer mailing list -- please introduce yourself and tell us what you'd like to work on (if you know already, that is);
  2. help out with support in the JFreeChart forum. Please resist the temptation to flame people that ask "dumb" questions---we like to keep it friendly. If a question is answered in the FAQ, provide a link to the entry. If a similar question has already been asked in the forum, provide a link to the post. Most people will eventually get the idea;
  3. review the bug, feature request and patches databases to get ideas for things to work on. All of these need work;
  4. start submitting patches to the jfreechart-patches mailing list, and provide feedback on patches posted by others.

Mailing Lists

The JFreeChart project operates two mailing lists:

Subversion

JFreeChart operates a Subversion repository at SourceForge. Developers will be granted Subversion commit rights once they have established their familiarity with and understanding of the project and how it operates. Typically this is achieved by contributing bug fixes and feature enhancements over a period of time. The JFreeChart 1.0.x source code resides on a branch 'jfreechart-1.0.x-branch'. The trunk contains code that will eventually become JFreeChart 2.0.

Patches

Patches should be created using 'svn diff > diff.txt' from JFreeChart's root directory, have a corresponding ChangeLog entry, and be posted to the jfreechart-patches mailing list for review. The following guidelines should be followed for all patches:

Special Note

A lot of code in JFreeChart relies on classes implementing equals(), Cloneable and Serializable correctly. When making changes, bear this in mind. If in doubt, run the test suite.

ChangeLog

The ChangeLog is a text file in the project root directory that summarises all changes that have been committed to Subversion. Maintaining this file is a very effective technique for communicating between developers the changes that are going on in SVN. It allows developers to quickly catch up on what has changed in JFreeChart when they haven't been following all the discussions on the mailing lists. Maintaining the ChangeLog and posting patches to the mailing list is an overhead, but it quickly becomes a familiar process and really does help development (at least that has been my experience on larger projects such as GNU Classpath). Here is some information about the ChangeLog entry format.

Feedback

Please post any feedback to the developer mailing list, we'll be happy to take suggestions into consideration. Thanks!

PieChart3DDemo1-170.png

Links

Latest News

21 November 2011

We're aiming to improve the community participation in the JFreeChart project. If you have any good ideas about this, please post your feedback on the jfreechart-developers mailing list.