Is there anything *enjoyable* about our development process?
Neil Williams
linux at codehelp.co.uk
Fri Oct 14 14:56:36 EDT 2005
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.
Nobody wants all this again with Gnome3. Something needs to change. I fear the
loss of a "community" feel to gnucash.
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?
> 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. 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.
So with limited numbers of possible new developers available, we aren't doing
a good job of encouraging their contribution. That needs to change.
> 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.
e.g. a simple error in the config led to me checking out files with
unintelligible paths like:
\{arch\}/++pristine-trees/unlocked/packages/packages--debian/packages\
--debian--0/pkg-qof-maintainers\@lists.alioth.debian.org--experimental/packages\
--debian--0--patch-2/\{arch\}/packages/packages--debian/packages\
--debian--0/pkg-qof-maintainers\@lists.alioth.debian.org--experimental/patch-log/base-0
(Yes, that is a single, real, subdirectory on my home system created by a bad
arch implementation on a remote system - and it resulted from the simplest of
errors in the config yet there was no clue about how to fix it.)
This debacle cost me two full days. We can ill afford to waste time like that.
--
Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20051014/1beeaeeb/attachment.bin
More information about the gnucash-devel
mailing list