Forgotten patch: qofid.diff

Neil Williams linux at codehelp.co.uk
Wed Oct 26 19:51:54 EDT 2005


On Wednesday 26 October 2005 11:27 pm, Chris Shoemaker wrote:
> Wow!  You had me at double iteration!  :)

:-))

As clear an example as I can imagine of how sharing code BEFORE it is "final 
quality" is a wise choice for free software development! (Sorry it was your 
code that got used for the illustration, Chris!)  ;-)

I should have been able to see your early code and you should be able to see 
cashutil. Let's not let other new developers make the same mistakes next 
time? All this work for a lack of documentation, easy to update webpages and 
a little consensus on code management conventions.

We need quick and open ways to publish *early* code - pseudo code if you will. 
Designs, plans, ideas. Rough hacks, concepts, logic. Code that is certain to 
break the sacrosanct CoreBuild. Branches are part of the answer but, as Derek 
pointed out, technology isn't the answer to sociological problems. The core 
advance has to be that we leave our paranoia behind, kill the sacred cow of 
"TheCoreBuild" and accept that you can't make an omelette without breaking 
eggs. CVS is NOT guaranteed to always build, there's no rule that says so and 
we mislead ourselves and prospective new developers if we pursue such a goal 
*to the exclusion of all else*. Fine, have a HEAD branch that is the current 
release and maybe a main development branch but sometimes that build will 
break. It's a necessary step. It's a GOOD sign, it is to be managed not 
eradicated as if it was some strain of avian flu.

We all look at our own code and think it's good - the whole point of free 
software is that the code should be available for peer review BEFORE it gets 
set in stone. It's about getting more peer review at earlier stages and if 
that means committing code that is incomplete then that is a good thing. It 
means it's easier to change, it's easier to solve fundamental problems that 
do not appear to the sole developer because they are too close to the code.

If we stay fixated on "never break the build, no matter what" and "break the 
build and you'll be flamed until you fix it", then we are not free.

Fear of making a commit undermines the very freedom to modify code that we so 
eagerly protect in our collective fight against software patents.

Patent lawsuits and monopolists trade on fear. Proprietary software develops 
in secret, hidden from view. 

How is it that this part of the free software community have being doing the 
same by hiding our most volatile code out-of-tree!!!

Can we *please* drop the pretence that breaking the build is a crime on a par 
with treason? OK, it's not the best thing to do and we try to avoid it 
whenever we can but that's as far as it should go. It's development code, 
sometimes it will simply break. Live with it and be free.

> I'll convert to use qof_collection_foreach.

Glad I could help, Chris!
:-)

I'll happily put the rest of your diff into QOF and update gnucash in due 
course. There's nothing there that desperately needs changing imminently.

I hope it's not too awkward to convert your code and I look forward to seeing 
it in G2.

Let me know if I can help with the conversion.

-- 

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-patches/attachments/20051027/e6625780/attachment.bin


More information about the gnucash-patches mailing list