More KMyMoney peeking: is our file format clearly documented?

Derek Atkins warlord at MIT.EDU
Thu Jun 24 11:13:03 EDT 2004

linas at (Linas Vepstas) writes:

> Hi,
>> It would've been nice if they just decided to write a Qt frontend
>> to GnuCash, but I can certainly understand why they don't.
> Let me say it again ... the major reason for 'modularizing' gnucash
> was to allow other projects and programmers to use the modules in
> thier projects.  Schemeifying the modules just f**it up.  They
> were supposed to be separately installable shared libs, nothing more,
> nothing less.  We really have to de-schemeify the modules.

While I agree that's an issue, the reason I said that I understand why
they don't is that about 60-70% of the code in gnucash is UI code, and
much of that has reliance on gnome/gtk.  The lines between UI and
non-UI have been blurred significantly (certainly outside the engine).

I also believe that there are TOO MANY shared libs in gnucash.  Why
are gnc-modules, the engine, and app-utils all in separate libraries?
Nobody else is using gnc-modules (and why should they!?)..  And
app-utils doesn't work without the engine..  I see no point in that

>> > The developer working on the gnucash importer had some interesting
>> > things to note:
>> >
>> > quote:
>> >
>> > "3. Since I couldn't find any definition of the GC file structure,
>> > I've based the code purely from what I've been able to deduce from my
>> > own file, and a few small test files created for the purpose. "
> In particular, the goal of the gnucash "engine" has (always) been to 
> provide a GUI-neutral, indeed, OS-neutral way of accessing financial 
> data through a well documented, supported API.   This GUI neutrality
> is what allowed the Motif and GTK versions of GnuCash to co-exist,
> and even helped start a KDE port, back when, until it withered.

Sure, but the engine is a fairly small portion of the code..  The only
potential reason I can think of for someone NOT to use it is that it's
HARD to just get the engine code.  Playing devil's advocate here...
It depends on glib (which is a gnome library)..  It depends on
gnc-module, which isn't separable..  And it has all this guile/g-wrap
crap in it.  Eww..

Back to reality, and having dealt with the code myself, I can
certainly understand the frustration with trying to re-build the qt
frontend.  Gnucash just has too much crap in it.  :)

> --linas


       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL:    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available

More information about the gnucash-devel mailing list