Is there anything *enjoyable* about our development process?
Chris Shoemaker
c.shoemaker at cox.net
Fri Oct 14 15:29:36 EDT 2005
On Fri, Oct 14, 2005 at 07:56:36PM +0100, Neil Williams wrote:
> On Friday 14 October 2005 6:53 pm, Chris Shoemaker wrote:
> > I recently came across (via /.) a brief 1-page article titled "-Ofun":
> > http://www.oreillynet.com/pub/wlg/7996. I agree with the author's
> > thesis, which is that optimizing a project's development process for
> > the pleasure of developers leads to all sorts of good things.
>
> Very interesting article - each objection is countered and he makes a good
> case. Personally, I've found the "fun" being drained out of my gnucash
> development because of the pressure to get G2 out. There are too few
> developers and gnucash development itself, IMHO, is currently not much fun at
> all.
I feel the same way, but I don't think it's because of any pressure
related to G2. I think it's more just the whole painfulness of the
whole process. I'm trying to pin down exactly what that includes.
>
> Nobody wants all this again with Gnome3. Something needs to change. I fear the
> loss of a "community" feel to gnucash.
User community or developer community? Because I'm not sure I'd call
this a "developer community". More like a small group of over-worked,
over-tired, long-suffering, obstinately-determined coders desperate to
have a decade's-worth of code not rot into oblivion. I don't
know... an image of a pack of drowning rats just popped into my head.
:)
>
> During my short time in gnucash, I've had contact with two possible new
> developers who have decided not to pursue their interest. Various reasons are
> given but the sense is that they have simply found something better to do
> with their time. Something that is more fun, more involving and provides more
> positive feedback may help to retain at least some of these people.
>
> How many of us have similar experience?
Well, it's not for the easily depressed, but if you read -devel
archives, you could probably come across ~50 of those over the past 5
years. :(
>
> > As applied to GnuCash, I would make a stronger assertion, though. I
> > believe that GnuCash's continued progress and relavence, absolutely
> > *depends* on a drastic revamping of the development process.
>
> I agree.
>
> What about this bit:
> "Continuously push the team to sketch out ideas in code, committing quick and
> dirty protypes that can be refactored as they grow."
>
> Quick and dirty prototypes may well break the overall build - I saw little in
> the article about whether this was a problem or whether such a principle is
> outdated by the move to a different version control method.
Not outdated. In fact I think maybe this technique almost *requires*
a version control with quick and easy branching.
> The only
> reference is v.brief:
>
> "Having this safety net allows the project to run full-bore without
> time-wasting process getting in the way, and without undue worry that code
> quality will suffer."
>
> The basis of the article is experience with the Perl6 compiler - a large and
> complex project like that should mean that the benefits can be transferred to
> our complex gnucash build.
>
> However, the devil may well be in the detail. By definition, people interested
> in a Perl6 compiler will tend to be other developers. Although gnucash-users
> generates lots of wishlists and ideas, there aren't that many developers
> coming our way. Our userbase is fundamentally different from the example in
> the article.
True, but the claim is that the project's success was due to the
pleasant development process, not the project's content. I think it's
a reasonable claim.
>
> So with limited numbers of possible new developers available, we aren't doing
> a good job of encouraging their contribution. That needs to change.
I agree, but I would say it differently. Let the pleasure of
development be its own encouragement. We just need to remove the
sources of *dis*couragement, i.e. the pain currently associated with
development.
>
> > Fortunately, I don't think this will require much innovation. We can
> > simply emulate the many projects that are thriving, attracting new
> > developers, etc. However, I do think it will require a lot of
> > initiative on our part.
> >
> > Does anyone agree?
>
> Yes.
>
> > If so, I'd like to start discussing what concrete things we can do to
> > improve the whole developement experience, considering ideas from the
> > article and elsewhere.
> >
> > E.g. Would a modern version-control system improve the development
> > experience? (It seems like several of the other recommedations in the
> > article depend on it.)
>
> By modern do you mean SVN or something more like GnuARCH? I've had a nasty
> experience with gnuarch but I'm willing to give it another try. The problem
> was that until the arch setup is well understood, it's a steep curve and the
> confusion is immense. Simple failings in the "checkout" and "login" type
> procedures are not handled gracefully by the current front ends - the errors
> are misleading and unhelpful. The very fact that there are two front-ends
> with different command sets is hard enough.
I don't know what a good choice of version control would be. But I do
know that if the version control is painful to use/learn, it pretty
much doesn't support the goal of reducing pain. That said, I'm pretty
close to desperate enough to try anything that looks promising.
-chris
More information about the gnucash-devel
mailing list