January 3, 2012

Help Wanted

If you are here because you think this post might be advertising a job, please accept my apologies. If, on the other hand, you are looking for work, this might be the very place for you. If you don’t see the difference between “a job” and “work” then there might be something to learn here.

“Hold hard,” I hear you say (I have a very vivid and somewhat eighteenth-century imagination). “Surely that is a contradiction in terms?” (My New Year’s resolution to be less pedantic stops me from pointing out that you have ended a non-interrogative sentence with a question mark)(and my pedantry neatly negates the resolution). I take instead the consultant's approach of arguing that it depends what you mean by ‘job’ and ‘work’.

If you take your definitions from the market economy then a job and work are often pretty strictly equated. This point of view would not cut much ice with many of the people I know, though. I am delightedly sharing the company of many of them at PyCon this week* who work in open source, though. In their case the work they do on behalf of the Python community, and other open source communities too in many cases, is often done outside of their working lives. Admittedly many of the have the smarts to make a halfway decent living by exercising the same or related skills professionally, but that isn't necessarily a bad thing..

If you don't really understand how the open source ‘ecosystem’ works you might be fascinated to learn that huge swathes of the technology that is used every nanosecond to process unthinkable volumes of information across the Internet was created by people with the necessary skills who also happened to believe that it was more important to create the new technologies than it was to organize profitable industries around proprietary solutions that were the sole responsibility of single organizations. Those people, the kind of people who put their effort where their mouth is, are people I will support. And have, most recently as chairman of the Python Software Foundation.

Open source devotees generally seem to me to try and avoid organizational issues or involvement. This is perhaps understandable: why would people who value logic and reason highly want to involve themselves in environments where decisions are frequently made on irrational grounds? “To make the decisions more rational” is one answer. But if that was the only advantage of involvement it would asymmetrically benefit the irrational, and why should the rational waste their time? (Idiocracy, anyone?) Most open source programmers would rather code than consider strategy and tactics for a non-profit, even if the non-profit is supporting their principal programming language. That's human nature, and we should be grateful for it: coders gotta code, and the rest of us benefit from that. But it can leave a gap if we don't want open source to simply become the plaything of market forces.

The point is, some of the things business does, and some of the ways business organizes, are sensible for any enterprise of moderate size. Allegedly, corporations are legally people (and the band played “Believe it if you like”). Most businesses currently pay far too little attention to their social responsibilities. If people went around behaving like corporations do then they would soon get what in London used to be referred to as “a swift punch up the bracket”. One of the strengths of a market economy is supposed to be that the market can be changed by mass behaviors. There doesn't seem to be much sign of that in the banking industry at present, despite public confidence in them being at an all-time low. And who can be surprised about the lack of confidence from a populace whose equity has just been looted by rapacious bastards who see bonuses in the billions as their right?

At the moment there is an uneasy tension between commercial organizations and open source, although that has not stopped both sides from profiting by its adoption. I would like to think that while the non-profit side can learn from commerce it can also teach commerce a few things about how to manage technical resources. We can, at least, try leading the horse to water. If it won't drink then I say let the damned thing die of dehydration. The signs are very clear that the present order can only be maintained by increasing levels of brutality (“the floggings will continue until morale improves”). Adapting to change was never the forté of the dinosaurs.

On the principle of “if you can't beat them, join them,” I think it's time for the open source movement to admit a few things. Such as: not everything can be done with software; foundations need skills that aren't readily available from the geek population (whether through lack of ability or inclination is hardly material). The Foundation I chair is likely, from existing evidence, to be receiving a fair amount of support as the economy recovers—and no, I do not claim to know when that will be. This will mean that more things need to be done, which in turn means more administration and accounting—two things I am as bad at as many of my acquaintance are. The inevitable impact of scaling up the organization is to require more of the kind of services that geeks (for want of a better or more descriptive term) are ill suited to providing. So either things will get clogged up or we will have to somehow involve more people who can provide the necessary “non-geek” skills.

Some time ago the Foundation hired an Administrator, who is now employed full-time, in acknowledgment of the need for such a skills base. I am happy to say that our Adminstrator and Secretary Pat Campbell has become an indispensable part of the Foundation. She continues to prove her merit by making things happen with no geek input! We cannot necessarily add staff at will, however, because we don't want to be one of those non-profits that exists to pay exorbitant salaries to its management for very little reason. Contributions should primarily go towards  funding the mission.

There are many other areas in which we are stretched, and perhaps surprisingly many of those roles do not require much in the way of geek skills. Our Treasurer, dealing valiantly with increasing volumes of financial data as our operations grow, could certainly use assistance. We need help with marketing, to encourage people to join and pay subscriptions for the privilege of being associate members of the Foundation. When the updated web site technology is deployed (still some way off, but definitely more than a gleam in the chairman's eye thanks to the efforts of Jesse Noller) we will also need people who can manage the large and growing volume of content.

All this is exceptionally good news for anyone in the "open source industry," and people with Python skills in particular. Python is so hot now it's difficult to believe. Major companies have stood inline to join up as PyCon sponsors, and the money this has brought in helps us to keep the cost down. People are looking for Python training at many different levels, and need help establishing programming best practices and the like if training is not your métier.

The Python community as a whole is such an incredible resource that it's difficult to imagine a skill we might need that someone doesn't possess in at least some measure. But maybe it's time to admit that in reality in job X we could probably only deliver 79% of the performance we would like to, and that has to address specific functions. If we can find a volunteer for Job X we release a developer to program; if the volunteer only happens to do an 80% job that's still a win.

* No, none at all, sorry. PyCon has been turning people away for weeks now.

This post has been in draft for some time, hence the screwy dateline. Don't ask me why Blogger does this.