Roadmap to GnuCash 1.10/2.0

Linas Vepstas linas at
Thu Sep 25 11:56:14 CDT 2003

Roadmap to GnuCash 1.10/2.0

Below is a list of alternatives for the next version of GnuCash.
The reason I'm sending this note is because I'm impatient and
I want to write more code during the next month, and I have to
pick what I will be working on.  

Here's what I want to work on:
-- Add support for Business Objects in Book Closing
-- Add support for Business Objects in SQL Backend

I think that adding support for bus object for book closing is technially
straightforward, a meta-cut-n-paste job, and should go quickly. If anyone
wants to tackle learning the guts of gnucash, this would be a good
project.  You'd have to touch a lot of files in a lot of places, but
there are already existing examples of what needs to be done.  It
could be challenging, but you'd be a gnucash engine internals pro by 
the time you are done.  Speak up now, before I end up doing it.

I'm currently somewhat more interested in the adding SQL support for
the business objects.  I have some new ideas I'd previously prototyped
on a different sql project that I want to pull back into gnucash.  
They're fairly dramatic.  This is more work than the first task, 
and considerably harder,  but I am more eager to do it.  Among other 
nifty things, it should be able to run on other sql db's, including 
sqllite, although this won't be my first focus.   I can't promise any
timeline for completion, since I expect to bump into several difficult

I want to apologize to stepping on Matthew's toes in advance. But
I'm at the gate, rarin to go, I don't want to wait. 

Other related things that need doing, that I'm not planning on working
-- automated test cases for testing cap gains and lots
-- automated test cases for testing book closing
-- modifying gnucash cap-gains report to use the new cap-gains code.
   (should be easy)
-- modifying gnucash reports to generate multi-book reports.
   (could be hard, requires some additional engine work).
-- polish.  There are things that need polishing. Like adding a 
   commodity display to the stock register.

Plan A: Version 1.10 is ready now.
The code in the cvs tree has support for book closing and cap gains.
It might have some bugs in it, but no one is testing.  If we ship
a 1.10-pre0 maybe someone will actually try it.

Plan B: Add support for business objects to book closing, then ship 1.10
If the gnome2 port is ready in about the month/two that it'll take
to add bus obj to book closing, then go to plan C:

Plan C: Wait for gnome2 port, ship 2.0 
Like the title says.  Maybe by then, someone will write the auto test 

Since putting out a new release requires a coordinated effort by many 
people, I am *not* going to force the issue.  This has to be a
collective decision.  As a group, we can choose A,B or C.  


I would also like to take this time to apologize for a lack of
leadership.   Several people are angry at me and I'm sorry about that. 
There are some important, non-technical things that need to happen with
the GnuCash Project. Benoit is correct that we need to recruit new blood
into the project.  We need non-technical people, for example, a project
manager who can keep track of the various to-do list items and help
prioritize them.  We also need a marketing/pr person who can help
broaden the exposure of gnucash in the public eye, both in Linux 
trade rags, and in general accounting circles.  We need to identify 
many of the other non-technical tasks that need doing and recruit 
the people for doing them.

I know deep in my heart that its far more important that I spend 
more time engaged in these non-technical tasks.  I also understand
rationally that this is what needs to be done.   Its just that 
I don't quite feel like it.  I'm afraid I'll dissipate my energies. 
I'm afraid that I'll fail at this task.   The psychological rewards
of writing new code are far more immediate (if less satisfying in the
long run) than those of organizing and recruiting, at least for me. 
So again, my apologies for succumbing to my itch to write code
instead of leading.  Maybe someday that'll change.  


pub  1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <linas at>
PGP Key fingerprint = 8305 2521 6000 0B5E 8984  3F54 64A9 9A82 0104 5933

More information about the gnucash-devel mailing list