Alfons Hoogervorst ([info]alfons) wrote,
@ 2004-07-12 12:32:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Covering Claws Case: Blow By Blow
Back, in the last months of last year, I received some complaints about a terrible row in IRC between two developers. There was a private mail discussion between team members, and because of my real life work, I only commented briefly on this (saying "I don't understand the fuss: sort it out"). I wrote the same publicly in the blog entry here (The commenter is one of the many who contacted me about the IRC "discussion".)
I think that the relationships between members already had gotten sour: There had been incidents like a rude treatment of a team member of samba plus the inventor of POP3, both submitting patches for review; and commits that were not correctly attributed ("credited").
It got even worse...
I focused on reviewing code and fixing bugs, and describing the process in technical terms, like in this entry here, and here. This resulted in me getting in the cross hairs:

Alfons Hoogervorst <alfons@us...> wrote:
> Log Message:
> * src/folderview.c
> fix sync breakage so we don"t pass invalid pointer types

Another stupid commit.


Link here.



And another one:

On Thu, 18 Mar 2004 15:30:31 -0800
Alfons Hoogervorst <alfons@us...> wrote:

> * src/toolbar.c
> call summaryview_delete() instead of messageview_delete()
> * src/messageview.c
> disable messageview_delete()

What did you smoke before you made this change?


Link here, and for a follow up in the users ML, see here.

The rudest thing that happened were two reverts. Both of them were done without prior consultation with other team members - it's telling that the same kind of actions caused the IRC row.

Here's the first:

Modified Files:
clamav_plugin.c
Log Message:
remove gui code from clamav_plugin.c


Link here.

This change did not remove "GUI code" (it removed a warning). But more agravating: There was a patch lying in the users ML for a week, so instead of doing a revert, any (ofcourse there was none) discussion about the merits of the patch would have been more appropriate than waiting for a commit, and reverting it without notifying the author. The person reverting the code came up with a blatant white lie: He had no time to read the patch. Not in a week's time, a mere two or three lines.

Remember: reverting is a tedious process.

Here's the second one:

Modified Files:
imap.c
Log Message:
0.9.10claws30

* src/imap.c
o NULL is a valid GSList

Link here.

This one is more tricky. You have to see the original commit, which is here.

First of all, the text NULL is a valid GSList only applies to the last chunk of the reversal patch. The other two deal with the actual reversion: In my commit I zeroed a pointer in a function, where the revert moved the initialisation before the function call. In an environment with stable APIs, that anticipate buggy behaviour, my patch was the technically correct solution.

All these symptoms (the IRC row, the "name calling" incidents, the reverts without consultation), were ofcourse topic in the developer's ML. There were various proposals, one of the offenders even proposed having module ownership - which causes ofcourse the problem with the reverts.
The problem is not code ownership and deciding which commit stays or is backed out, but communication, graciously pointed out by me and other experienced team members.

The lack of communication also was behind my publishing of (my own) mails in the Claws users ML:

Lo,

> > There was no agreement on that at all.
>
> BTW, if anyone else is reading this, there was agreement,
> it just didn"t have the "alfons stamp of approval" on it.

Well, well, well.

Good, take a look at this (from the claws developer"s list):

http://hoogervorst.dyndns.org/~alfons/weblog/claws/claws-request-1.html
http://hoogervorst.dyndns.org/~alfons/weblog/claws/claws-request-2.html

Both of my requests were not answered; so if there was an agreement,
this says something about the lack of communication, which I already
hinted at was at a loss (clues: reverts without prior consultation,
commits that broke stuff badly, name calling, wars on IRC.)

It"s not about "alfons" approval stamps", because as the project
founder I"ve been very easy on the developers. You still remember how
the project got its name, right?

Bye.

PS. Yesterday, I resigned from the development team, and I wish the
developers well with their work on claws. Perhaps as an objective
bystander, intimately known with the sylpheed and claws development
process (because I remember it worked great and fine in its first
years), I can even make suggestions for the better.

--
Ecuaci?n algebraico sin soluci?n posible,
a menos de poseer profundos conocimientos
en matem?tica - Revueltas (Ocho Por Radio)


Link here.

I did get (belated) responses on my request for clarifications, from one person to be exact.. They ranged from funny personal attacks, explanation of a new decision process, vehement denials, and an admission of something I already suspected.
However, no response on WHY the user agent string was changed, and on WHAT grounds.

Miscommunication I call that.




Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…