Contributing

DataNucleus is an Open Source development. It is written by many people yet has a broad scope and so is in need of help. Since the software is free, you are benefiting from this work. You have a duty to contribute to the project, particularly if/when you have problems. It should be noted that many people use open source software without the minor intention of contributing anything back to it; that's ok but then should everyone adopt that attitude then things will not get improved, and additionally those people are not in a position to request/expect any improvements that they would like to see (without putting something back in).

You can help the project in many ways. Here are some examples

  • Answer questions on the Forum. New users DataNucleus need to learn somewhere just like you did when you first used DataNucleus. You could monitor the forum when you have free time and attempt to answer people's questions. People will appreciate it even if you don't know all of the answers.
  • Debug problems in the code before reporting them on the Forum. You can isolate the issue to a particular area of code even if you don't know the solution, and post your findings on the Forum for one of the developers to pick up and progress further. Better still contribute patches so it saves our time in working out where the problem lies. These will be much more valuable to us. Contribute any patches in patch format ("diff -u"). Please see the DataNucleus code format convention
  • Volunteer to be a developer of DataNucleus. To do this you need to start off by contributing patches for issues, and demonstrate your commitment to the project. Once you've done this for a period then we'll invite you to join the project. You then go to the "Volunteers" section of our Forum and post the developer agreement (stored in one of the threads in that Forum). Thereafter you can push DataNucleus further yourself when you have time. Be aware though that once you have been given commit rights, inactivity for a period of time (e.g 3 months) will mean that you will lose these rights. Being a committer implies responsibility. You could volunteer to work on a particular part of DataNucleus (e.g RDBMS) or all of it, up to you.
  • Donate to the project. This will help to fund the time of one of the main developers and will mean that DataNucleus functionality will be expanded faster due to your help.
  • Contribute documentation or worked examples that can be included in the online documentation. If you think there is something missing from our documents then you can write it and contribute it and others will benefit from your work just like you have benefited from our DataNucleus product. You can contribute these via either the Forum or by raising an issue in JIRA

Obviously, if you contribute to the system in some way then we are more likely to answer your forum questions, or listen to your ideas, so it's in your interests to participate. We hope that the above has given you some idea how your time can be used to benefit the common goal of having a quality Java persistence solution free for all to use.