Sunday, October 15, 2006

Progress Requires a Thick Skin

I just received word last night that the maintainers of the "official" Planet Python at http://planet.python.org have decided to switch from using my combined Planet PJE feed to the PJE on Programming one, due to a complaint about my "going on and on" about self-help topics.

Well, that makes it sound like I was officially notified.  Instead, it was changed a few days back, and it's taken this long to get something resembling an official response to my inquiry about what happened.  But I won't get any further into that, as I've received apologies for the lack of notice.  I also think that whoever made the complaint could've said something to me before asking that my feed be removed, but oh well.  Likewise, I'll resist the temptation to compare off-topic post counts; it would be a fallacious argument in any case, despite being personally emotionally satisfying to do so  ;-).

The truth of the matter, though, is that progress in any field requires a thick skin.  It's a simple fact that if what you're doing isn't making somebody mad enough to complain or snipe at you, then you're probably not doing anything that makes a difference to anybody.  WSGI had relatively few complaints until fairly recently, as it took a lot longer to get off the ground as a community force than say, setuptools did.  Setuptools is by far the thing I get the most complaints about, which is a sure sign of its success!

And if you are the type of person who thinks that's a bad thing, then you're probably not going to accomplish much.  Think about how much crap Guido has to put up with: if you can't take that kind of heat, you likely won't even bother going near the kitchen.

On a not entirely unrelated note, Userland software has this nifty post about something called "Stop Energy":

 In theory, the Internet is a collegial environment, with lots of people who want to do new stuff, where one should expect to get this kind of help.

In this scenario, A is a proponent of Forward Motion. In all likelihood, instead of getting help, A will encounter Stop Energy, reasons why he can't or shouldn't be allowed to do what he proposes.

I've always known about this phenomenon, although this is the first time I've seen anyone give it a name.  There are lots of interesting ramifications of the concept, for open-source projects and elsewhere, but I'll save those for future posts on my self-improvement blog.  For here and now, I'll just mention that the best thing to do when you receive stop energy on a project, is to ask yourself if anything would satisfy the person putting off the stop energy.  More often than not, the only thing that will satisfy them is for you to stop moving forward.

This isn't always the case, of course.  For example, I would distinguish complaints like Joe Gregorio's (about the use of setuptools in Cheeseshop projects), from those of the people who argue that setuptools shouldn't exist.  The former complaint was satisfiable, and was well within the scope of setuptools to do.  But other complaints about setuptools focus on requesting changes that would essentially make setuptools into something else, and would require giving up the very things that setuptools is for.  In essence, the complainer argues, people shouldn't want that.

And at that point, you have a bona fide case of "stop energy".  Feel free to ignore it, and move on.

But I digress, because I'm not accusing anybody in the Planet Python situation of suffering from a need to put forth "stop energy".  I had actually been planning to write a post about the "stop energy" phenomenon in the Python community anyway, so now just seemed like a good time.  ;-)  But aside from the lack of notice, I was treated quite politely, and nobody expressed any implication that I should stop writing my blog.

However, if anything, that simply means that I'm not doing a good enough job yet.  When some people are denouncing my blog and saying it should be taken off the net, then I'll know that I'm doing at least as good a job as I'm doing with setuptools!

In the meantime, if you were one of the dozens of people on the "offiicial" Planet Python who were regularly clicking through to read my self-improvement articles, you'll want to either switch to the "unofficial" Planet Python (which still carries my full feed, and is once again working properly), or add either Planet PJE or my self-improvement blog to your feed reader, if you have one.  You can also subscribe by email if you go to this link and scroll down to the "stay in touch" section of the sidebar on the right.

Meanwhile, the truth about me and criticism is that I haven't actually had that thick of a skin, or else I wouldn't respond to as much criticism as I have done.  In fact, I used to have trouble sleeping or paying attention to anything else when a setuptools-related flamefest was taking place.  Luckily, I've known since August about a technique that can eliminate such emotional reactions, and this situation gave me an opportunity to apply it to some of the feelings that came up.  So the good news is, I won't have to handle that particular set of feelings again.  Everything can be a blessing in disguise, if you let it be.

Which brings me to one final, interesting point.  The information on how to do that technique is quite publically linked from the page I referenced above, and quite freely downloadable from the net.  And yet, dozens of people have collectively paid me a tidy sum of money to teach it to them.  And if you think -- as I once would have, not too long ago -- that it's because "people are dumb", then you probably won't have much luck running a profitable business based on open source.  You are effectively arguing that "people shouldn't want that", and it blocks you off from being able to perceive -- let alone understand -- what is happening.

So who knows, maybe in a year or so I should run a clinic on "How to Sell People Things That Are Free".  Maybe it could even be a PyCon tutorial.  The PSF could certainly use the funds.  ;-)