Design Decisions

Linas Vepstas linas at linas.org
Thu Aug 28 12:15:28 CDT 2003


On Thu, Aug 28, 2003 at 04:18:42PM +0100, Charles Goodwin was heard to remark:
> has taken.  It was an uncompromising vision that Havoc and other leading 

Havoc is paid work on Gnome full-time.  I am not.  I have a house, 2
kids, and need to maintain a web site, do the backups, handle the
network issues, as well as write  code. I manage 5-10 hours a week.

Gnucash has zero full-time, paid developers. Gnome has many dozens.

> The GnuCash developers need to put together a vision for future versions 
> of the GnuCash codebase.  I don't see that vision anywhere.  You just 

I guess you don't like http://gnucash/en/roadmap.phtml
(which hasn't changed in 2-3 years, and no one seems to comment on?)

> seem to be incrementally adding features and addressing issues from 
> release to release.  "We want this and that in the next release." 
> Forgive me if that is not a correct assertion of the GnuCash development 
> pattern.  But if it is, then that is not a maintainable roadmap for a 
> codebase the size of GnuCash.

There is a difference between 'vision', 'strategy' and 'plan'.

"We want this and that in the next release" is a plan.
Roadmaps are things that the marketing team trots out to keep customers
appeased while the engineers work on the next version. Engineers
don't pay attention to roadmaps.  They follow the plan.

> The next major release appears to be a shift from Gnome1 to Gnome2 
> (GnuCash 2.0?).  Ideally, this should have been a simple glade creation. 
>  How come it is so non-trivial?  

Gnome2 is very very different than Gnome1.  Old widgets are gone. New
widgets have features that don't map 1-1 with old widgets.  There are
major functional changes in gnome 2 that cause windows not to be
redrawn, come up blank, or generate errors.  Gnome1 code won't even
compile under gnome2 without major changes. 

> Is the GUI that tightly integrated 
> into the application logic?

No.  I'm irked that the first part of your message is about how
different gnome2 is, and then you ask why its so hard to get to
something that is so different?

> Personally I think you should look at making GnuCash more client<>server 
> based, 

I did. We have *three* client server implementations (RPC, HTTP, SQL). 
No one cared.

> so you don't have the GUI migration issues you currently suffer 

This has absolutely *zero* do do with client-server. 
First of all, there already is a separation between the gui and the
engine and if you'd studied http://gnucash/en/architecture.phtml
you would know this.

Secondly, the separation between engine and GUI is orthogonal to 
client-server.  Client-server is a statement about network technology,
and not about application design.  Client-server is a set of design
priniples that allows multiple users to access a single database.
Alsmot all gnucash users use it in single-user mode, which is why
they don't care about client-server.

Excuse me, I'm getting irritated. You are making harsh criticisms,
while also making it clear that you don't know the meaning of some
of the fancy words that you are using.

> from.  But how would that fit into your roadmap?  It doesn't, because 
> you don't really have a roadmap - not in the sense that Gnome2, Mozilla 
> or even AbiWord has one.

Where's the gnome2 and the abiword roadmaps?

And haven't you noticed that mozilla is what, 5 years late? That most
of the mozilla developers were fired?  And that for 5 years, mozilla
*did* have a paid development staff of 30-50 developers? 

> Nobody wants to get into a car with broken headlights.  Fix 'em. ;)

What's broken headlights got to do with roadmaps?  Fixing headlights
is a maintenance activity that mechanics and handy-men do.  Working
with product roadmaps is something that detroit engineers do.  The 
skills and temperment to fix headlights and to design a new car are 
very very different. 

If you, the owner, can't be bothered to maintain your headlights, don't
complain to me. Yeah, we'll try to make a better headlight in the
future, but that's just one small item on a long list.

--linas


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


More information about the gnucash-devel mailing list