Volunteer with jBilling

jBilling volunteers enjoy unprecedented levels of platform knowledge and experience, as well as the opportunity to make extra money.

Knowledge

If you’re a developer, then you already know that the best way to learn a technology is to use it in a production environment. We won’t teach you the basics—there are books for that—but our community offers a wealth of knowledge on technologies such as Java EE, Spring, JSP, web services, and Struts.

Experience

For many developers, like those still in school or in companies using older technology, it can be tricky to get hands-on experience with the latest tools. The sad truth is that in order to get a job using a technology like J2EE, you need to have experience using J2EE. So where do you start? Since jBilling is an open source project that focuses on developing enterprise applications—instead of frameworks, APIs, or tools—the jBilling developer community is the perfect resource to learn and gain experience. As an added incentive, we issue recommendation letters for significant contributors.

Income

As a volunteer, you do not get paid, but you do learn the internals of jBilling. However, jBilling is also a commercial project, which means we offer our clients consulting, courses, and custom development, among other services. When we distribute paid projects, we always give priority to our volunteers. This is done based on meritocracy: The more you have contributed to the project, the more work will be offered to you. We promote a distributed structure which means you can work from any location. No office politics, no commuting, no dress code; it is the true spirit of open source.

Community

Developers like us enjoy a challenge, and creating good code that makes a difference is just that. It is a great source of satisfaction to know that your work is being used by thousands of companies all over the world. The jBilling developer community is full of talented, driven developers all working towards a common goal. Join us!

Getting Started

Read the architecture overview document, so you have an idea of how jBilling was designed, available here.

Go to the forums and familiarize yourself with the “To-do” section.

Once you decide you’d like to participate, submit your Individual Contributor License Agreement (CLA). This agreement defines the terms under which intellectual property (IP) has been contributed to jBilling, and how that IP is handled. You must submit a signed CLA before any of your code can be incorporated into jBilling.

Begin coding!— Follow Sun’s coding standards to start your source code modifications. Be sure to comment generously (we recommend one line of comment per ten lines of code).
— Do good unit testing. We frequently receive submissions that don’t actually compile, so be sure to test thoroughly as though you were a user. Finally, follow the standard sanity test steps to ensure you haven’t broken any existing code.

Tips

There are three types of tasks: done, in progress, and available. You can identify the status of each task by its title.

“Done” tasks are completed, and usually contain information on the development and code change details, as well as a link to the repository revision.

“In Progress” tasks are being actively worked on by another developer.

“Available” tasks are up for grabs. Please post a message stating your intent to work on the task (an administrator will update the title to reflect its “In Progress” status).

Be collaborative! Communicate when you start working on a task, and ask for help when needed.

Important: Do not post a message with your intent to work on something before you’ve actually started. Only post once you’ve already managed to build from source, and are ready to start coding. Otherwise, you’ll be locking other developers out while you may be stuck on an installation issue.

Get feedback. If you’re considering a new feature, post your thoughts before starting development. This helps us avoid duplicate efforts, and ensures your feature will be included in the next release.