From: Jonathan Guyer (jguyer@HIS.COM)
Date: 11 Oct 98, 04:08 EST
From: Jonathan Guyer <jguyer@HIS.COM> Subject: "Rude" behavior by developers Much to my consternation, I've been having an abominably lengthy correspondance with Roland (now over; don't bother writing directly to me, Roland, because I won't answer). Most of this has consisted of us talking past each other. It should come as no surprise that Roland finds us rude and unresponsive (it may come as a surprise that he has seen fit to say so on oztex-info and perhaps elsewhere). To the extent that this problem is limited to Roland: oh well. He claims, however, to represent the views of other Alpha users who, for whatever reasons, do not voice their opinions themselves [Whomever you are, I urge you to speak for yourselves; Roland has not convinced me that I am rude, but rather that he is. Perhaps you can succeed where he has failed]. One particular behavior which Roland finds so "rude" is that he doesn't get a post from the person "responsible" for fixing a reported bug, saying that they "intend" to work on it. I have tried to explain to him that this does not happen out of rudeness, but for good reasons, but he either flatly disagrees with my assertions or does not give any indication that he understands what I'm saying. Although Roland agrees that nobody here owes him anything, he still thinks it's rude when he doesn't get what he wants. The reasons I've given him are as follows: * There usually isn't anybody "responsible". Vince could arguably be "responsible" for the bulk of the Tcl core code, but Tom Fetherston, Johan Linde, and I have made major contributions and numerous others have made less significant or less recent ones. Frequently, people other than Vince fix bugs in "Vince's" code before he does. If the reverse is less often true, that is only because Vince has written so much more code than the rest of us. * Having anybody (whether they originally wrote a particular package or not) post "I intend to look at this problem..." _reduces_ the chance of a bug fix. If I see a bug that I think I can fix and say so on the list, I guarantee that nobody else will try to solve the problem. Why would they? If Vince or Johan say's he's going to look at a particular problem, I certainly don't put any time into solving it. I have enough other things to do on Alpha and in my life. So long as nobody claims "ownership" of a particular problem, it remains open, and various people attempt to deal with it as they can [No, Roland, you have no way of knowing this except that I'm telling you that that's the way it _does_ work]. * I can only speak for myself, but I'm pretty sure that other Tcl programmers work this way, too: If I "intend" to fix a problem, I sit down, fix it, and post the solution. If I _cannot_ fix it (not to be confused with "I don't intend to fix it"), I post that too and explain why. I don't post anything until I know something (or unless I want to know something). "I intend to fix this" is just noise. * If I read a problem that I do not "intend" to fix right then, that doesn't mean that I throw away the message or that I never plan to revisit the issue. Sometimes I'm reading my mail via pine on a eunuchs account. Obviously I can't do any work on Alpha then. Sometimes I'm reading my mail when on the way out the door. Again, no chance of solving the problem then. Sometimes I'm in the middle of something else and have no time to mess with Alpha (possibly because I'm using it and need it to be productive right then). Sometimes, on initial read, I just don't know what to do with a problem. In all of these cases, minutes/hours/days later, I may sit down and figure out a solution. When am I supposed to post that I "intend" to fix a problem? At the initial point, when I do _not_ intend to fix it? As I said above, if I do this, then nobody else will work on the problem; it could take me a week or more to revisit the issue; you might well have received a solution in a day if I'd kept my mouth shut. Should I post my _intention_ at the point that I _do_ fix it? This is silliness. If you get a solution, then the problem is solved. If you do not, then it is not. Regardless, your post to Alpha-D means that the problem is reported, by definition. * Frequently, the person with the knowledge to solve a problem is not reading the list right then (I've been in and out of town all summer. So has Vince). It's pretty hard to say "I intend to fix that problem" when you don't even know there _is_ a problem. When I return to town and read the list, I post solutions where I can; my _intentions_ are irrelevant. Vince and others clearly do the same. Roland is of that belief that, when he posts a bug and doesn't receive an immediate response, he's being ignored. Often, in the interim, others report that they too observe the bug or clarify its symptoms. When someone eventually does address the bug, Roland is of the belief that he's being snubbed and it was the other posts which provoked a solution. He has flatly denied the logical (and accurate) assertion that the respondant only responded when they could; he's apparently much more comfortable with the paranoid view that he's being ignored. Since he _does_ get responses from a lot of different people, that's obvious hogwash.[**] * I believe Roland has created a false dichotomy between "users" and "developers". We are all users. Some of us happen to write Tcl. I fiercly reject the notion of being saddled with the responsibility for being "in charge" of Alpha's Tcl code.[***] (Vince or others may feel differently; I don't know) I simply help when I can, whether by writing new code, or fixing old code. It's no accident that every one of my Tcl files has the GNU disclaimer: # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This does _not_ mean that I don't keep a sharp eye out for problems in my code. I consider it a matter of pride that my code not cause problems for others. I don't make any promises, though. Perhaps this last problem could be resolved by a change to the Alpha-D charter or name itself. The list has been explicitly open to all of Alpha's users for quite some time, whether or not they wrote Tcl. Regardless, we've never been "developers" in the sense of developers of closed, proprietary applications. Pete used to fill that role and he was never an active participant on Alpha-D. Pete once indicated that he was exploring the establishment of a general Alpha list through Kagi, but that never happened. What do others think of explicitly changing Alpha-D's name or charter to indicate that it is a forum for users to talk to other users, not a place for "normal users" (Roland's words) to come as supplicants to some Tcl Olympus (my words)? If I'm going to be forced to be a god, then I demand the right to smite Roland with lightning bolts at my whim. Alternatively, can Tom Scavo set up another, more general, list? I would offer to do it, but my ISP charges quite a bit for list hosting and my Mac is not on the net full time. In contrast with the preceding proposal to make Alpha-D's name and charter reflect what the list, in fact, _is_, I am rather offended by the notion of one person joining a group that has existed for more than two years (and, informally, much longer than that) and demanding that its behavior be changed to suit his peculiar desires. Roland is of the surreal view that Alpha-D is not like other lists and, so, should not work like them. He's never been on such a list, but he's absolutely convinced that he knows how it should work. I advocate Occam's Razor: Alpha-D works just like other lists because it _is_ just like other lists. Nonetheless, if Alpha's Tcl authors can establish better communication with the users of our code (whether they write Tcl or not) that's a good thing. If Roland's not an isolated case on this issue, then perhaps there's something to look at; I bring it to everyone's attention for that reason. If it appears that I am posting for the sole purpose of bashing Roland, I am not (you should see what I _cut_). I am hesitant to raise this prospect until more has been decided, but in the context of working on the core Alpha application, those of us doing that work are developing a master bug list, consisting of everything listed in "Bug Reports and Debugging" and all the unresolved issues from Alpha-D. It is possible (and I stress _possible_) that this list will be made available, maybe via the web, to any interested parties. This is still in the discussion stages and it's not yet decided what form it will take or whether this will be limited to core code problems or if it will include Tcl problems. If and when this happens, this is as close as I ever intend to come to any sort of public acknowledgement of bug reports. The initial bug report to Alpha-D is more than adequate in my opinion. In conclusion, I have no intention of making "I intend to fix this" posts because, as I have outlined above, I am firmly convinced that this will actually reduce the chances that bugs are fixed by _somebody_ and will delude bug reporters into believing that progress is being made when it is not. I never "intend" to fix Tcl bugs. I either fix them or I don't. Just because I don't fix them today doesn't mean I won't fix them tomorrow. If other Tcl authors see some merit in making such posts, however, I'd like to hear why. If non-Tcl authors feel they'd benefit from such posts, despite my explanation of their likely effects, I'd like to hear that, too. There is no reason for Roland to explain to _me_ what he thinks, because he's done that ad nauseum. I understand him; I just disagree with him. If he feels I've misrepresented him, he's of course welcome to clarify the record. [*]As distinct from problems with Alpha itself. There are obviously a number of reasons why Alpha is very difficult to approach as a neophyte. Johan's reworking of the documentation should hopefully help that. Some of the changes to the core application planned by the Alpha 8 team (AppleGuide has been discussed), will hopefully address this as well. To all Tcl authors, I encourage you to spend some time on your packages (or on anybody else's, for that matter), making them more approachable by people who have no clue how they're supposed to work. [**]Roland has had recent problems with Alpha crashes and he as received a total of at least thirteen responses from Me, Vince, Moritz Borgmann, Philip Aker, and especially Mark Nagata. He's been getting extensive troubleshooting advice, which is the _most_ important part of fixing the problem. Until it's clear exactly what the nature of the problem is, it can't possibly be solved. None of this, however, is what he wants. I did not tell him that I was looking at memory management issues in the core code because I did not _have_ the core code. Even now that I do, I can say nothing other than "it's on the list". The fact that Roland posted it to Alpha-D already meant that. [***]The core Alpha application is a different matter. Only five of us (in addition to Pete) have access to the code and we certainly therefore _are_ responsible for it, because nobody else can be. Anybody can tinker with the Tcl if they have the knowledge and inclination. __________________________________________________________________ Jonathan E. Guyer <http://www.his.com/jguyer/>