KMyMoney vs Gnucash

Mike or Penny Novack stepbystepfarm at mtdata.com
Sat Aug 16 08:56:54 EDT 2014


OK, maybe I need to be clearer and try to help people understand the 
underlying issues?

It is essentially the debate between designing systems as "monolithic" 
vs building systems out of independent components with clearly defined 
interfaces between them. And of course in the latter case, deciding 
where the boundaries belong. Please note that this is not just about 
having pieces actually separate. For example, when designing a solution 
to a difficult programming problem it an be of great use seeing that the 
problem can be divided into pieces with a formal definition of the 
connection between them.

Those of you who have worked on large systems know some of the benefits, 
especially in testing, to have the parts separated by an interface that 
has been formally defined. That I take such a strong stand on the 
"separate part" side might be because of the size of systems in my 
working experience. Up to half a million lines and to me a "component" 
of ten thousand lines or so a modest program.

In other words, I am NOT necessarily suggesting that a "business system" 
be distributed with separate parts meaning only some parts included 
depending on what sort of business instead of one complete distribution 
with all the components included whether a particular sort of business 
needs them or not. Since we aren't talking about a commercial product 
where there might be an advantage for the former (sell more than one 
version) no argument against being inclusive.

BUT -- that says nothing about how the system should be designed and if 
divided, what should be the responsibilities of each team. So I'll say 
it again, gnucash at least started as an accounting system and  could 
work as the "accounting component" of a complete business system. People 
who want gnucash (itself) to grow to include "inventory", "point of 
sales", "commissions", etc. are taking a stand on the "monolithic" side 
of the argument while in my advocating starting an overall project (no 
name yet) for having an open source "business solutions" system 
(gnucash) I am taking a stand on the "separate component" side.

Michael D Novack, FLMI

PS: Mind, that I take such a strong position is perhaps influenced that 
my bread and butter was being called in to solve bugs that had the 
programmers stumped when a change in a large system had mysterious 
effects elsewhere precisely because there were not well defined 
boundaries between parts.




More information about the gnucash-user mailing list