My last four days, at the Agile CultureCon split between Philadelphia and Boston, have thrown more new ideas and techniques at me than I’m used to encountering in a normal four months. Or more. It was very challenging and exciting, the more so because I was immersed in a culture at some distance from those where I usually hang out.
The organizers (Dan Mezick & Andre Dhondt) and various friends (now including me) are launching from agile software development into new ways of organizing work and communication that dynamite a lot of common assumptions about the necessity of power relationships and hierarchies. What makes this really interesting is not the theory but the working examples. They’re not dealing in vague platitudes, but in methods that can be taught and replicated. (And yes, I will describe some of them later in this post.)
Nobody in this crowd thinks politically (or at least if they do, it doesn’t show); it’s all framed as ways to fix corporate cultures to make them more productive and happier. But what this was, underneath occasional freshets of vaguely new-agey language, was a three-day workshop in practical anarchy.
One of my commenters reports that he showed my essay on evaluating the harm from closed-source software to Richard Stallman, who became upset by it. It shouldn’t be news to RMS or anyone else that I think he’s a fanatic and this is a problem, but it seems that every few years I have to explain the problem again. I make the effort not because of personal animus but because fanaticism does not serve us well – we’ve made huge progress since 1998 by not repeating RMS’s mistakes, and I think it’s important that we continue not to replicate them.
Some people are obsessive about never using closed-source software under any circumstances. Some other people think that because I’m the person who wrote the foundational theory of open source I ought to be one of those obsessives myself, and become puzzled and hostile when I demur that I’m not a fanatic. Sometimes such people will continue by trying to trap me in nutty false dichotomies (like this guy) and become confused when I refuse to play.
A common failure mode in human reasoning is to become too attached to theory, to the point where we begin ignoring the reality it was intended to describe. The way this manifests in ethical and moral reasoning is that we tend to forget why we make rules – to avoid harmful consequences. Instead, we tend to become fixated on the rules and the language of the rules, and end up fulfilling Santayana’s definition of a fanatic: one who redoubles his efforts after he has forgotten his aim.
When asking the question “When is it wrong (or right) to use closed-source software?”, we should treat it the same way we treat every other ethical question. First, by being very clear about what harmful consequences we wish to avoid; second, by reasoning from the avoidance of harm to a rule that is minimal and restricts peoples’ choices as little as possible.
In the remainder of this essay I will develop a theory of the harm from closed source, then consider what ethical rules that theory implies.
Regular TomA continues a hot streak by asking, in response to my post on Holding Up The Sky, “Is the hacker support system robust?”
That is: having noticed that open-source volunteers now have a large and increasing role in maintaining critical shared infrastructure like the Internet, is there a sustainability issue here? Once the old guard who were involved in the early days (people like Jim Gettys and Dave Taht and myself) dies off, are we going to be able to replace them?
I shall set forth my reasons for optimism.
During the last few years I’ve noticed a change in the meaning of my life – well, my life as a hacker, anyway. I had an exchange on a mailing list last night that made me think it’s not just me, that the same change has been sneaking up on a lot of us.
It’s part of the hacker ethos to (as Alan Kay put it) predict the future by inventing it – to playfully seek solutions to problems people outside our culture are not yet even thinking about. We still do that, and I think we always will.
But increasingly, as the world of pervasive networks and ubiquitous computing hackers imagined decades ago has become reality, we’re not just the innovators who thought of it first. Now we’re responsible; having created the future, we have to maintain it. And, as the sinews of civilization become ever more dependent on the Internet and software-intensive communications devices, that responsibility gets more serious every year.
This makes for a subtle change in our duties and our relationship to our work – a gradual shift from merry prankster to infrastructure gnome.
Penguicon (venue of the upcoming Friends of Armed & Dangerous party) is a combination science-fiction convention and Linux/open-source conference, two geek tastes that taste great together.
One of Penguicon’s customs is that people wander around handing out affinity-group badge ribbons to those they deem worthy (or simply to be funny). In many past years I handed out a silver-on-blue ribbon that simply says “hacker”. But the last couple years I’ve been busy and distracted and my stash of ribbons had run out.
A thoughtful commenter objected in a procedural way to my open letter to Chris Dodd. He praised the letter and affirmed that I spoke for him in it, but said:
Dave Taht is in my basement trying to use GPSD to set up NTP-independent time service on an WNDR3700 router, and having some problems. I’m upstairs teaching GPSD to emit a clock-drift message – both projects are because we’re trying to build a monitoring framework for accuracy-checking NTP. The following IRC exchange ensues:
[11:31] dtaht2 looks like I have an underconfigured gpsd, miscompiled gpsd or ntp
[11:32] dtaht2 OR does gpsd not provide time until it gets a full fix?
[11:32] esr That's correct.
[11:33] dtaht2 yes, in terms of 'or' statements, the above evaluates to 'true'. However... which?
[11:33] esr Some devices report time from one satellite but you can't count on that. Most won't report time without 3 sats in view and good enough SNR.
[11:34] dtaht2 cgps does report the time, so this particular device is
[11:35] esr OK, you have a problem somewhere else in the chain. And a learning experience just ahead of you.
[11:35] dtaht2 and a dark tunnel ahead. There may be grues.
[11:36] esr Take your flashlight.
[11:36] dtaht2 w;w;w;
[11:36] esr You see a rusty wand with a star on one end.
[11:37] dtaht2 get wand; wave aimlessly
[11:38] esr Nothing happens.
Actually, I went downstairs and said the last line to Dave rather than typing it. He then laughed immoderately.
If you failed to understand the above, you are probably a normal human being and not an unregenerate geek who spends too much time in basements. This is sad for you.
Got a query from a journalist today working on a major story about a certain large corporation that’s been much in the news lately. Seems the corporation’s founder has been talking up his organization’s allegiance to “the hacker way”, and she not unreasonably wanted my opinion as to whether or not this was complete horse-puckey.
So as not to steal the lady’s thunder, I won’t reveal the identity of Corporation X. I will, however, repeat a version of my answer with its identity lightly obscured – because I think these are questions we should ask any corporation that talks like that.
Tim O’Reilly proposes that we designate the 30th of October as “Dennis Ritchie day”. That works for me. Pass it on.
Since my readers are probably wondering: Yes, I knew Dennis slightly. He contributed to The Art Of Unix Programming and was very supportive of the project. He was indeed as pleasant and gracious as others report…a true gentleman and, of course, a hacker of such stratospheric accomplishment as to have few or no peers. But he treated me like one anyway — and that was an honor.
One of the side-effects of using Google+ is that I’m getting exposed to a kind of writing I usually avoid – ponderous divagations on how the Internet should be and the meaning of it all written by people who’ve never gotten their hands dirty actually making it work. No, I’m not talking about users – I don’t mind listening to those. I’m talking about punditry about the Internet, especially the kind full of grand prescriptive visions. The more I see of this, the more it irritates the crap out of me. But I’m not in the habit of writing in public about merely personal complaints; there’s a broader cultural problem here that needs to be aired.
The following rant will not name names. But if you are offended by it, you are probably meant to be.
Once, in a bygone century, in the half-forgotten place called USENET, there were masters of satire and parody who could be an example to us all in these latter days. Among the greatest of their arts was the AFJ – the April Fool’s Joke, yes, but in the hands of these masters the AFJ could become minor epics of elaboration, subtlety, and Zen-like enlightenment.
Today, Grasshopper, we shall speak of the four levels of AFJ mastery, and how the aspiring student may attain them.
Geeks, hackers, nerds, and crackers. It’s an interesting indication of how popular culture has evolved in the last quarter-century that the scope and boundaries of these terms are now of increasing interest to people who don’t think they belong in any of those categories — from language columnists for major newspapers to ordinary folks who have relatives they suspect might fall somewhere in the Venn diagram those terms define.
I’ve been watching these terms shift and move in and out of prominence since the early 1970s. Over time, distinctions among them that were once blurred have tended to sharpen. This is not happening at random; it accompanies the changes in “mainstream” culture that I noted in The Revenge of the Nerds is Living Well. As groups who were one marginalized erupt into mainstream visibility, everybody’s functional need for language that puts a handle on their social identities becomes more pressing.
Here’s a report on the state of play in early 2011, with some history intended to illuminate it.
I’ve written before on the hacker culture as a invisible college defined partly by a network of trust, gatekeepers, and certification authorities. Jay Maynard ask the next question: What are the non-technical things every hacker should know?
One of my regulars has expressed mildly disgruntlement about the degree to which a feeling of mutual tribal solidarity has taken hold among hackers, and become an increasingly defining characteristic of them. He finds it creepy – he didn’t use the phrase “disquieting groupthink”, but I’m pretty sure he was thinking something like it.
“You are, I regret to say, partly a victim of my social engineering…” I said to him, and promised to explain that. Yes, what he’s reacting against is in significant part my doing, and I did it for specific reasons, and it had the results I intended. This does not mean all the consequences were unmitigatedly good – sociocultural engineering, like other kinds, is a matter of tradeoffs under constraint. Explanation in more detail follows.
I had an IRC chat with one of my semi-regular commenters a few nights ago in which she reported giving a talk on hacker culture that went extremely well.
[00:12] <HedgeMage> It was one of those situations, though, where I felt *very* odd being treated like a subject-matter expert. I certainly don’t consider myself one in this case, though I guess it’s all relative, and as far as I could tell I knew more [abut hacker culture] than the audience.
[00:13] <HedgeMage> Sure, I knew more than those I was teaching, but it bothered me a bit that they seemed to think I was an expert when I clearly wasn’t.
[00:15] <esr> Been there, done that. The *really* weird stuff starts when you give descriptive reports of hacker culture that others begin to consider normative.
[00:15] <esr> If you’re not careful, you can unintentionally become a geek cred certification authority.
[00:15] <HedgeMage> I have an easy way to avoid that.
[00:15] <HedgeMage> I refer them to you :P
[00:16] <HedgeMage> So, no dying or I might end up there!
This actually isn’t the first time I’ve been in a conversation like this one. And that brings on some thoughts about social authority among hackers and geeks and in other subcultures that seem worth developing.
My friend Jay Maynard has successfully incited me to blog by asking me the following question: “Would you call the perpetrators of the Stuxnet worm `hackers’, rather than crackers”? He’s actually raised an interesting question of definition, culture, and ethics, and I’m going to tackle it.
Over the years I’ve written at least three expositions of the hacker mindset that use the form of mystical poetry or teaching riddles. Probably the best known of these nowadays is The Unix Koans of Master Foo (2003), but there has also been The Loginataka (1992, 2010) and the short Zen poem I included in How To Become A Hacker.
One of the regulars at my Friday gaming group is a Greek Orthodox priest, but an educated and broadminded one with whom I get along surprisingly well considering my general opinion of Christianity. A chance remark he made one night caused me to recite at him the line from the 2010 portion of the Loginataka that goes “The way of the hacker is a posture of mind”, and then when he looked interested the whole four stanzas.
He laughed, and he got it, and then he articulated the reason that I write about being a hacker in this form so well that he made me think about things I hadn’t considered before and probably should have. Like, what if other people don’t get it? All they’d see when they looked at the Loginataka or the Unix Koans is pretentiousness or satire.
But no. The mystical language of these works is functional in a very direct way, which the priest grokked instantly and I will now explain. It has applications beyond the way I’ve used it.
On a mailing list I frequent, a regular expressed doubt about the possibility that very small subgroups of a society (less than 5% of its population) can cause large changes in the overall direction of its evolution without long historical timespans to work in. But I know from experience that this can happen, because I’ve lived it. My explanation (lightly edited and expanded) follows.
Of particular note is my explanation of how engineering design can shape history.
I’ve been doing a lot of work recently on an ancient project of mine, C-INTERCAL, that’s an implementation of the longest-running joke in the history of computer languages. It’s an implementation, begun in 1990, of a language conceived in 1972 as a parody of programming languages of the 1960s. Now it’s nearly 40 years later, and yet some skilled hackers are still investing their time into fixing bugs, shipping releases, and even (gasp!) documenting the thing.
That’s a lot of effort to plow into a joke, and some people don’t get why. But there are parallels elsewhere: consider, for example, the venerable custom of issuing spoof Internet standards, published through the same channels as the real RFCs, on every April 1st. Behaviors like INTERCAL or the spoof RFCs don’t usually persist as long as these have without some powerful reason behind them.