On Sun, Dec 14, 2008 at 09:24:05PM +0000, Andy Wardley wrote: > I welcome testing, feedback and comments, both good and bad. But it is > worth bearing in mind that this is voluntary work and any complaints that > are > *too* vociferous may fall on deaf ears. Or be met with directions to the > subversion repository :-) > > My customers are, of course, encouraged to complain as loudly as they like, > and demand any kind of colour scheme, layout, or any other feature that they > care for. But then, that's what they're paying for. Business vs pleasure.
In September, I went to the memorial service for the head of music from my school, who died from cancer earlier in the year. One of the things that stuck in my mind was another teacher saying that "one of the most important things Colin taught me was that you can never say 'thank-you' enough". In this context it was thank-you to the other teachers, for volunteering their spare time to help organise and participate in extra-curricular activities. Things that they didn't need to do; things that they got no payment for. But a choice that they made that benefited everyone greatly, and something you didn't want them to stop doing. The issue is that if the first contact you get from a complete stranger seems to be implying that "your software sucks", *and* that they want help for free, it doesn't really endear them to you. It doesn't help that e-mail is plain text, and doesn't have the emotions or nuances of tone of voice, let alone facial expressions or body language, so it's very hard to know how tongue-in- cheek someone's comments are. Smileys, love 'em or loathe 'em, are actually important. But so is phrasing things carefully, so that people can't misinterpret your intent. For example, here's a spectacularly bad way of doing it: http://rt.perl.org/rt3/Public/Bug/Display.html?id=38744 Perl 5.8.8 contains an incompatible and undetectable change to the public, documented POPpx macro--the macro no longer assigns the length of the popped value to n_a. This ChangeLog entry appears to be the relevant one: [ 25525] By: nicholas on 2005/09/21 09:32:33 Log: Integrate: [ 24748] Convert POPpx POPpconstx and POPpbytex to use nolen macros. Elminate a lot of C<n_a>s Our code was calling POPpx then using the value assigned to n_a to allocate a buffer into which the returned value was copied. After upgrading to Perl 5.8.8, the code still compiled, but due to the POPpx change then passed the now-uninitialized value of n_a to the allocation routine. Fortunately, the value that happened to be in that memory location caused the allocator to throw an exception, but it could just as well have allocated a short buffer. It was highly irresponsible for someone to make an incompatible change to a documented, public API without ensuring that code depending on the old API caused the compile to fail. The macros should have been renamed or they should have been changed to take a different number of arguments. There is no telling what third party code might now have buffer overflow security bugs due to this incompatible change. Then read my reply. It starts "Thanks for reporting this bug." This was not the first phrase that sprang to mind on reading it. But it's important to remember that we're in this for the long term, and that you may have misinterpreted the sentiment of the tone of the message. Now, most people are not that inconsiderate (including the individual responsible for that report in all his other bug reports), but the cumulative effect of a lot of people turning up with reports that are 100% bug and 0% thanks wears you down. It's one thing if they come from someone you recognise as giving something back to the community, be it software, organisation [eg Kake brings us pubs, MDK brought us the LPW], or just donations [Venda and AntibodyMX brought us beer*]. But most seem to just be "take", and you start to wonder why you're doing it, and why instead you shouldn't go any do something else that might be more fun, but less altruistic. Hence partly why 5.8.9 [now wending its way to CPAN - you read it here second] brings you a brand new utility - perlthanks. It lets you send bug report antidotes as easily as bug reports, if you are so inclined. If people want to use it send thank-you message to perl-tha...@perl.org that's great. If people want to say thank-you to me for 5.8.9 by buying me beer, that's great too** (although I can't drink that much, and actually I'd prefer sashimi - mackerel sashimi - I'm a cheap date). But if you like Perl, and want to say "thanks", probably the most useful way to say it is to do something no-one else can do. Write about your own Perl Success Story. Counter the "Perl is specialist biologist word for stable" zombie-meme that wants to eat everyone's BRANES***. It doesn't matter if it's an informal chat to some colleagues, a lightning talk at a local group, a blog entry, or a full blown article on a prominent site. Take a break from using Perl to get your job done, and tell other people about why it's good for precisely that. Because without it, our supply of fresh young tasty BRANES will dry up up and we'll all starve. Or something not entirely unlike that.**** Nicholas Clark * Non acholic beverages also available. But no-one seems as obsessed with them. ** I tried to suggest to someone that his employer could say thanks by sponsoring a social, and whilst he personally thought that that was a great idea, it doesn't seem to have happened yet. *** I suspect that this is something to do with how successful Perl is in bioinformatics, and how great Perl is at just working. **** And if I know that you contribute back it's far more likely that I'll investigate your bug reports straight away, rather than putting them off. For example, that's why Andy got a very full initial answer very quickly.