[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Looking beyond 1.3: Kernalization and requirements proposals.



Hi all;

Looking at this, I would like to suggest that after 1.3, we just begin
work LedgerSMB 2.0.   I would like to make a set of concrete proposals
regarding this development.

The basic approach I would like to push is that of "kernalization," or
of essentially creating a smaller project with more optional addons.
There is no reason for a financial services business to have inventory
control, and multiple types of POS modules should be eventually
available for different industries (food service and retail sales have
different requirements for example).  This would also push the system
much further towards being a platform for applications distributed
with a sample application.

Under this approach, the core codebase would be much smaller with
LedgerSMB 2.0 when it is first released and the core feature set will
be much smaller.  In particular, I am thinking that the minimal
featureset used by general businesses should be included here:  GL,
Financial statements, and account management, AR/AP transactions, and
basic customer/vendor management.  This will also mean we will have
fewer CPAN modules required and a much simpler database than in 1.3.
Hopefully this would allow simpler businesses to move to LSMB 2.0
sooner, while other businesses may have to wait a bit longer while
addons are being developed.

Platform Requirements:  If we are going straight for LedgerSMB 2.0, I
would recommend requiring DBD::Pg 2.15 or later, PostgreSQL 8.4 or
later, etc.  We all know that the tradeoff in this set of requirements
is that the active development community for 2.0 will probably be
smaller for a while, but that it will require fewer rewrites later.
This is mitigated to a large extent by the fact that most of the
lacking functionality in 1.3 can be developed first on 1.3 as a set of
addons and later ported to 2.0.  Porting most addons should not be
extremely difficult provided that certain development practices are
followed (to be discussed in separate proposal).

Support for LedgerSMB 1.3 would not be phased out any time in the near
future and would be supported for a minimum of five years from the
present (more likely to be supported beyond that as long as sufficient
demand allows).

I would also suggest that we make a core requirement that the software
runs on mod_perl out of the box in all Apache MPM's, as well as on
Windows under StrawberryPerl (CGI only on Windows is fine).

This would result in the core of LSMB 2.0 being far smaller and with
fewer features than 1.x with the idea that the missing features would
be added via modules that would be developed possibly after the
initial release of LSMB 2.0.

I have some proposals for framework changes but will make them in a
separate post.

What do folks think?  This would complete the process begun in 1.3,
and help us achieve a more stable codebase faster.

Best Wishes,
Chris Travers