[c.shoemaker@cox.net: Re: QOF is external,
please tell me if you plan changes within]
Chris Shoemaker
c.shoemaker at cox.net
Wed Jan 11 14:18:00 EST 2006
[oops, reply meant for list, too]
On Wed, Jan 11, 2006 at 05:56:19PM +0000, Neil Williams wrote:
> On Wednesday 11 January 2006 5:25 pm, you wrote:
> >
> > I don't think there's a lack of consideration. I think it's just a
> > disagreement about your role. I view your role as a general gnucash
> > developer who happens to also be involved in packaging/maintaining an
> > external libqof. I think _you_ view your role as developing Gnucash
> > to allow it to use an external libqof. The real issue is technical,
> > not social, isn't it?
>
> I am a QOF developer first and foremost. In order to achieve what I want from
> QOF, I needed to complete the spin out. One (but only one) part of my QOF
> work is to use QOF to automate the generation of gnucash invoices from Palm
> data. This continues to require work within gnucash. Another QOF role is
> cashutil. Recently, most of my effort has been on another QOF project,
> pilot-qof which has now been backported to pilot-link 0.11.8 because 0.12 is
> so delayed.
>
> > > Short of adding each of you to the QOF project at
> > > SF and making more work for everyone, I don't see a way. The use of svn
> > > and cvs makes it difficult (impossible?) to combine the two trees
> > > automatically.
> >
> > This is a self-imposed trial. It's _much_ easier to make one tree do
> > two different things, than it is to sync two trees each doing
> > something different with the same code.
>
> ? There is no way gnucash can do even 1% of what I want from QOF!!!!
I was only talking about the libqof directory which is presumably 99%
the same.
> Where QOF is going, gnucash cannot follow.
> (apologies to Tom Clancy.)
>
> > > It might not be worth making others part of the QOF external project,
> > > unless anyone would like this to be done. What we need is cooperation so
> > > that external QOF is always supported by gnucash. I would much rather
> > > have future gnucash releases as all dependent on external QOF. It makes
> > > far more sense to reduce the code duplication.
> >
> > Using the code internally and also building external libraries from
> > the same code is not duplication. Ironically, _you've_ greatly
> > increased code duplication by maintaining a new copy of QOF outside of
> > Gnucash svn, where it still lives.
>
> No. Only a COPY of QOF survives in svn. It's the same as goffice.
I don't think it's quite the same.
> All QOF development happens at SF.
You're implying that the gnucash developers have agreed to stop
development of the in-tree QOF and develop QOF only in your fork at
SF. Have any gnucash developers (other than yourself) done so?
Simply moving files from src/engine to lib/libqof doesn't make it so.
I certainly didn't view that move as a restriction on further in-tree
development of QOF. I thought it was basically a convenience for you
in order to build stand-alone libqof.
> > >To do this, I just need a little help from all
> > > of you to let me know when changes are needed in libqof.
> >
> > When I commit a change to /lib/libqof/ it's because I think a change
> > is needed.
>
> Without any consideration of me, presumably. :-(
To be honest, there is consideration. It goes:
"Oh. Here's another nitfol that needs to be fixed. There. That's
better. Oh darn! It's in libqof. That means more work for Neil who
presumably wants to pull the fixed-up nitfol into his external CVS
repo. Why does he make it so hard for himself? and for me? Now I
have to check that the fix isn't undone next time he commits mongo
'Sync with QOF 0.x.x' change. And now I have to worry about some
misguided user who Neil's told to build gnucash with external libqof,
who won't have this change because the last libqof release was X
months ago. Gnucash probably won't build for him until he drops the
stupid --with-qof. Or I could just leave the stupid bug and go have a
beer. Hmm..." My next action depends on my mood at the moment. But
I know the _right_ response for GnuCash: screw --with-qof!
> > > I don't have commit logs sent to a mailing list for QOF (yet),
> > > principally because it is only me. I think SF can do that if anyone is
> > > interested. I would welcome any gnucash developers to join me in QOF
> > > development but I don't expect many to have the time. So I'd rather keep
> > > discussion here - just\ have a little more in relation to changes in
> > > libqof.
> >
> > This is just weird. You want us to join some obscure ML where you
> > have some QOF discussions but you also want to keep QOF discussions
> > here because of the relation to the code. Just keep discussion and
> > development in the same place: here.
>
> You really don't want me discussing pilot-qof, qof-generator and gnotime here,
> let alone my embedded QOF work. QOF-devel is the place for all that stuff.
>
> QOF cannot develop within gnucash.
>
> Mainstream QOF development and qof-related tools on QOF-devel. GnuCash related
> QOF discussions here.
Umm... 53 messages over 8 months, 3 subscribers, and 28 CVS commits.
I really don't think I'd mind the traffic here.
> > Me too. I've been avoiding the argument handling stuff for Gnucash
> > because I was waiting for you to respond to my question on Jan 3 if
> > you were going to do it.
>
> See the cashutil branch. I have had other priorities in the meantime. There is
> a gnucash2 binary build in cashutil svn that supports popt options. I just
> need a little more work to get the gnucash main window to open.
You see, infrequent huge commits for *cashutil* doesn't really help
*Gnucash* very much, but if that's what you've got, I guess that's
what I'll use.
> > I'd still love to see commits that migrate
> > argument handling to C.
>
> Then work with me on the cashutil branch where the code is relatively
> advanced, albeit incomplete.
No, Neil. *Incremental Improvement* I'm really serious about this.
Really. Cashutil and some QOF at SF can be developed however you
please, but small projects can withstand radical unitary changes can
_kill_ complex projects like gnucash.
>
> > It would greatly help coordination and
> > cooperation if you would develop in small changes in some public
> > place.
>
> branches/cashutil
a) I also mean QOF development.
b) Since you aren't intending branches/cashutil for a merge into trunk
it's a bit difficult to incorporate meaningful changes.
> > As for coordination and cooperation on QOF, I'd recommend working
> > in-tree.
>
> Nope. QOF is developed at SourceForge. gnucash svn just gets a copy prior to
> release and after testing the release in gnucash. It is completely
> inappropriate for QOF to be developed at gnucash svn.
>
> > You can't substitute for proximity. I'm personally
> > volunteering to help improve libqof. If you handle the build
> > infrastructure for making an external library from Gnucash svn's
> > /lib/libqof/, then we can work together on incrementally improving the
> > actual code.
> >
> > What do you think?
>
> Future direction of QOF has very little to do with gnucash. It's simply wrong
> to put the two together.
>
Well, we obviously disagree here, but let me make a pragmatic argument:
Are you so confident that the best thing _for_QOF_ is to develop in
practical isolation, where the only eyeballs on developing QOF code
will be yours, instead of in gnucash's lib/libqof where several other
developers will see it everyday?
You say that gnucash developers don't have to become QOF developers --
you'll take care of it. So is QOF so mature or your skill so great
that it's better to have one developer in an autonomous repo than
several developers building _the_SAME_external_library_ from a shared
repo?
-chris
----- End forwarded message -----
More information about the gnucash-devel
mailing list