On Dec 28, 2006, at 2:06 AM, Torsten Schlabach wrote:

Have you thought about not having releases of the whole package at a time, but releasing components. You could version the framework, the "execution environment" so to say and then version the indidual modules (Marketing, Partners, ...). That would allow for a user to upgrade what he needs to upgrade. You should still use some Linux package maintainance system as a guide how to manage compatibility, basically how to do SCM in the original sense of the word.

So I could find out, that in my installation I am running:

OFBiz Base:       1.0.12
OFBiz CRM:        1.1.3
OFBiz Accounting: 1.0.0

Now the team which is maintaining the accounting module feels like releasing version 1.1.0 which still requires OFBiz Base 1.0.5 or higher. I have 1.0.12, so I should be ok.

Next month, you might have a release of CRM which is 2.0.1 because is has made a major leap forward in functionality. For that to happen, you had to update the Base framework as well. So CRM 2.0.1 requires at least OFBiz Base 1.1.0. Get the idea?

This has been discussed a number of times and I am 100% against it at this point. If we had 100 developers and we were trying to figure out how to keep everything moving smoothly this might be okay, assuming about 10 of those 100 developers contributing on a regular basis were doing package management, then maybe.

Personally, the library management in Linux is one thing I HATE HATE HATE about it. It makes the system a nightmare and sometimes because there are system level libraries you have to do super-funky stuff to get 2 different programs that require different versions of non- backward compatible libraries to run together...

We may very well start versioning the framework separately at some point in the future, and you can already run the framework without the applications (just delete the applications and specialpurpose directories). Totally separating them would mean moving the applications to somewhere else in SVN and including the built framework but not the code of the framework with the applications (in SVN anyway).

Splitting out each component to have a different version number: I'll fight that pretty hard because I think it would just waste a bunch of effort and eventually fail. I don't think it would bring down the project, but it would kill progress on various things for a while...


IMO the key to success of OFBiz will be to make sure you have enough sub-communities which are going to focus on vertical functionality as well as on locales. But keep them on apache.org and by all means avoid a situation where a "basic OFBiz" is real OSS but to really use it in a business, you need the X, Y and Z components which are 300 USD, 2500 USD and 400 USD per seat and only work with an outdated version of the package itself. Or even worse: You are not going to find any compatible versions of X, Y and Z at all to even get them installed.

This kind of threading and pseudo-commercialization was and is a massive road-block to the success of something like Compiere and IMO OFBiz biggest opportunity is to just do better here.


Unfortunately we can't do ANYTHING about what other people decide to build based on OFBiz and how they decide to distribute it. We aren't in the business of doing things in a GPL way, and we want to encourage commercial as well as open source derivative works. That is very explicit in the Apache 2.0 license and in how OFBiz has been run since the beginning.

Fortunately there aren't any forks of the base OFBiz code base, and I think that is partially because of this openness. There are a few derivatives where people have chosen to do them as open source (or semi-open source with a GPL/commercial dual license), and these to some extent do compete with functionality in OFBiz. That's their choice unfortunately and can make things more confusing for prospective users, but in general it's a healthy thing to build up more around OFBiz.

-David


Reply via email to