How Can jBilling Help You?
Who’s Using jBilling?

“jBilling handles any complex subscription we can think of.”
Russell Vowles
UK Broadband Ltd.
See all testimonials >

Latest News Items

Getting Started With jBilling Development

1. Join the developers mailing list in source forge, so you are in the loop of what's going on with jbilling development

2. Build from source by following this guide

3. Read the architecture overview document, so you have an idea of how jbilling was designed. The document is available in the documentation page, under the ‘developer’ section.

4. Go to the forums and check the ‘TO-DO’ forum to find out what needs to be done.

There are three types of tasks: those already done, those that someone is working on them now, and those that are available for developers to start working on them. You can identify the status of any task by their title.

If it starts with 'DONE', it means that the task has been completed. These tasks usually have plenty of information on how the development was done and all the code changed with a link to the repository revision.

If it starts with 'IN PROGRESS', it means that someone is already working on the task. Thus, to avoid duplication of work, do not start working on any of these tasks.

If it starts with 'AVAILABLE', then it means that you can start wokring on this task. Post a message saying that you will be taking on the task (An administrator will later then update the title to 'IN PROGRESS').

Make sure you approach development in a collaborative way: post a message before starting development, ask questions on how to do a modification. Otherwise we might have many people working on the same thing at the same time, or completely different ways to get the same thing done.

This also applies when you already have a new feature in mind. Post your thoughts before starting development. The input from the community will be helpful and this is the only way you can be sure that your new feature will be included in the next jbilling release.

Important: DO NOT post a message saying: 'I'll take care of this' before reaching this point. Only put the message once you've already managed to build from source and you are ready to start coding. Otherwise, you'll be locking other developers out when you can get stuck with some installation issue.

It could happen that there are no TO-DO items available for development. Don't worry. Stay tuned to the developers mailing list beacuse we post new items on a regular basis.

5. Now that you know how and what to do, you have to submit the contributor agreement. Sapienter Billing Software Corp, the entity behind jbilling, desires that all contributors of ideas, code, or documentation to jbilling complete, sign, and submit (via snailmail or fax) an Individual Contributor License Agreement (CLA). The purpose of this agreement is to clearly define the terms under which intellectual property has been contributed to Sapienter and thereby allow us to defend the project should there be a legal dispute regarding the software at some future time. A signed CLA is required to be on file before any code from an individual is incorporated into jbilling.

For a corporation that has assigned employees to work on jbilling, a Corporate CLA (CCLA) is available for contributing intellectual property via the corporation that may have been assigned as part of an employment agreement. Note that a Corporate CLA does not remove the need for every developer to sign their own CLA as an individual, to cover their contributions that are not owned by the corporation signing the CCLA.

Just like we adopted the Mozilla Public License for jbilling, we are also using an industry standard for the contributor’s agreements. Both the above agreements are taken from the Apache Foundation, with a simple substitution to replace Apache for Sapienter.

6. Do the modifications to the source code. Follow Sun’s coding standards. Make sure you comment the code A LOT. 1 line of comment per 10 lines of code is a decent ratio.

7. Do some decent unit testing. It is very common to get submissions that actually do not compile. Make sure yours does and test as if you were a customer using the system. Then, follow these steps to do the standard sanity test to make sure you haven't broken any existing code.

8. Submit your contribution as a subversion generated patch or simply send the files that you’ve changed to jbilling-developers@lists.sourceforge.net. If you followed all the above steps, your contribution should be committed as part of the official jbilling distribution in only a few days.