Apache OFBiz™ Getting Started

The What, Why and How of Apache OFBiz

The basic structure and driving force behind OFBiz has a lot to do with the goals and actualization of the release process.

OFBiz is and always has been a community-driven open source project. There is no central commercial organization that drives the development of OFBiz or derives a project from the intellectual property of the software or other project assets. This is formalized now that OFBiz is a project in the Apache Software Foundation.

Because of this OFBiz always has been and always will be just what users who contribute to the project want it to be. There are many different individuals and groups involved with many different needs and our goal is to define and follow development and release policies that serve the needs of these parties.

So, let's start with that...

How Do I Decide What to Use?

From a project user perspective there is one main question that can help determine which way they will want to get OFBiz: Do I want to contribute to the open source project?

For this question there are 3 main answers:

  1. Yes, definitely: I want to contribute to design, coding, and testing efforts and thereby collaborate with others to more effectively and efficiently satisfy the long-term requirements from me, my clients, or my employer
  2. Kind of: I want to stay on the cutting edge and participate with testing and feedback, but I'm not in a position to participate in development and/or in the near future I will need something more reliable and supported and that won't change very much
  3. Not really: I'm happy to offer feedback, but I really need something that will work well now and well into the future so we can get things going in our organization

For each answer there is a recommended way to get OFBiz:

  1. Get the code straight from the code repository (SVN) trunk and update frequently through development, stopping before your integration or final pre-deployment testing, and periodically even after production deployment according to your ongoing develop/deploy plan; note that when you are not updating from SVN you should continue to watch the commits for bug fixes to patch into your code base
  2. Get the code from the code repository (SVN) release branch and keep updated or patched regularly as fixes are committed and the branch stabilizes over time; when getting started choose the most recent branch, even if it is very new; when new release branches are created update to them soon after the branch is done
  3. Get a built release package or the code from a release branch tag, and update as new pre-built release packages and tags are created; these will only represent fixes and unless a major issue arises they will be backward compatible and generally safe to update or patch to; when getting started choose a release branch that has been around for at least 2-3 months and that has no major outstanding issues in the issue tracker to assure that it has stabilized; when new release branches are created wait until you are ready to do a major upgrade and possibly need to modify your code and configuration, and wait at least until the prospective branch has stabilized before moving to it