How (Not) To Collaborate

Collaboration is one of the most essential human skills, not just in work but in life generally, and yet it’s poorly taught (if at all) and a lot of people are bad at it. Programmers are especially bad at it, for a whole variety of reasons, and this last week has been like a crash course in just how bad. Collaboration means exchanging ideas. Here’s how I have seen people fail to participate in such exchanges recently.

  • Passive ignoring. No response at all.
  • Active ignoring. Nod, smile, put it on a list to die. This is what a lot of people do when they’ve been told they need to work on their collaboration skills, and want to create an appearance of collaboration without actually working at it.
  • Rejection. All variants of “no” and “what a terrible idea” and “my idea’s better” fall into this category.
  • “It’s my idea now.” The obvious version is just presenting the idea unchanged, as one’s own. The sneakier alternative is to tweak it a little, or re-implement it, so it’s not obvious it’s the same, but still present derivative work without credit to the original.
  • “It’s your problem now.” This is probably the most insidious of all. It presents an appearance of accession, but in fact no exchange of ideas has occurred. Just as importantly, the person doing this has presumed unilateral authority to decide whose problem it is, creating an unequal relationship.

The key to real collaboration is not only to accept a single idea itself, but to facilitate further exchange. Here are some ways to make that work.

  • Accept the context. Respect the priority that the other person gives to the idea along with the idea itself. , Assume some responsibility for facilitating it. Don’t force people to remind, re-submit or nag before you’ll really consider what they’re suggesting. Both active and passive ignoring are wrong because they violate this principle.
  • Don’t attach strings. Don’t make people jump through unnecessary hoops, or demand that they assume responsibility for more than the subject of their idea, just to have their idea considered. Obviously, “your problem now” and its cousin “you touch it you own it” violate this rule. I’ve left more jobs because of this tendency, which leaves people shackled to responsibilities they never asked for, than for any other reason. I don’t think I’m the only one.
  • Be a teacher, not a judge. Every opportunity for rejection is also an opportunity for teaching. If there’s something truly wrong with an idea, you should be able to explain the problem in such a way that everyone benefits. You owe it to your team or your community or even your friends and family to develop this skill.
  • Give credit. It will come back to you. People rarely give freely to notorious thieves and hoarders.

Note that I’m not making any appeals to morality here. I’m not saying it’s right to make collaboration easier. I’m saying it’s practical. When you make collaboration with you easy and pleasant, people want to do it more. That frees you to work on the problems that most interest you, and share credit for a successful project instead of getting no credit at all for a failed or stagnant one. When people try to do you a favor, try to accept graciously.

Be a Better Raindrop

no single raindrop believes it is to blame for the flood

The computing industry is already awash in condescension and negativity, and it’s getting worse. Yes, I know it’s not a new phenomenon, but I’ve been around long enough to be sure of the trend. I’ve been blogging for over a decade, I was on Usenet even longer than that before, and I was on other forums even before that. I know all about operating-system wars, language wars, editor wars, license wars, and their ilk. I’ve fought many of those wars myself. Still, things seem to be getting worse. Practically no technical news nowadays comes unaccompanied by a chorus of hatred from those who prefer alternatives. Half the time I find out about something that’s really pretty cool only because I see the bitching about it. How sad is that?

The thing is, it really doesn’t matter why people act this way. Yes, some people are just basically spiteful or insecure. Others might think they’re acting from more noble motives, such as bursting a hype bubble or squashing an idea they believe is truly dangerous. Half of the articles on this site are based in such motivations, so I’m by no means claiming innocence. The problem is that even the best-motivated snark still contributes to the generally unpleasant atmosphere. Contrary to popular belief, we techies are social animals. We have our own equivalent of the Overton Window. Every Linus eruption or similar event from a perceived leader shifts that window toward a higher spleen-to-brain ratio. Others emulate that example, and the phenomenon reinforces itself. Those of us who are older, who are leaders, who find ourselves quoted often, owe it to the community not to keep shifting that window in the wrong direction. That’s not being “honest” or “blunt” or “clear” either, if your honesty/bluntness/clarity is only apparent when your comments are negative. Real life is not one-sided. If your commentary is, then you’re not being any of those things. You’re just being part of the problem.

Linus not helping

No one of us caused this and no one of us can fix it. However, we can each try to do better. That’s my New Year’s resolution: to start taking the high road and giving people the benefit of the doubt just a bit more often. Sure, some people might get besotted with a particular idea or technology that I think is inferior, but that doesn’t make them stupid or bad. Some people might get carried away with their praise for a company or its products/people, but that doesn’t make them fanbois or shills. Some people are all of those things, and I’m sure I’ll still let slip the dogs of war from time to time when the occasion warrants it, but I’ll at least try to adopt a doctrine of no first strikes and proportional response instead of the ever escalating verbal violence that is now commonplace. Would anyone else like to give it a try?

Use Big Data For Good

There seems to be a growing awareness that there’s something odd about the recent election. “How did Obama win the presidential race but Republicans get control of the House?” seems to be a common question. People who have never said “gerrymandering” are saying it now. What even I hadn’t realized was this (emphasis mine).

Although the Republicans won 55 percent of the House seats, they received less than half of the votes for members of the House of Representatives.
 – Geoffrey R. Stone

What does this have to do with Big Data? This is not a technical problem. Mostly I think it’s a problem that needs to be addressed at the state level, for example by passing ballot measures requiring that district boundaries be set by an independent directly-elected commission. Maybe those members could even be elected via Approval Voting or Single Transferable Vote – systems which IMO should actually be used to elect the congresscritters themselves, but that’s not feasible without establishing voter familiarity in a different context.

Here’s the technical part. Most of the Big Data “success stories” seem to involve the rich (who can afford to buy/run big clusters) getting richer by exploiting consumers and invading their privacy. Very rarely do I hear about good uses, such as tracking drug interactions or disease spread. Where are the “data scientists” doing real science? Here’s an opportunity, while the election and its consequences are fresh in everybody’s minds, for those tools to do some good. How about if we use Big Data tools and Machine Learning techniques to crunch through demographic data and at least come up with congressional-district proposals that meet some rationally debatable definition of fairness? Obviously the results themselves can’t just be used as is, nor can the algorithms or data sets be enshrined into law, but maybe at least the operative definitions and the results they produce can provide decent starting points for a commission or the people themselves to consider. It seems like a lot better goal than targeting ads, anyway.

Second Debate Opening Remarks

“I would like to congratulate Mitt Romney on an excellent performance in the first debate. I would also like to offer him thanks and an apology. The thanks are for validating my belief that my policy positions are the ones that appeal to most Americans. If they didn’t, why would he have spent the entire debate adopting them? In one hour, he changed almost every sincerely held belief that helped to get him the Republican nomination, apparently hoping I’d reciprocate by adopting his positions. The apology is because I must decline. I’m a bit stubborn about standing by my beliefs. I’m sure he’d consider that a weakness, and I hope he can find it in his heart to forgive me.”

GPL Doesn’t Kill People

It’s kind of sad that anyone even needs to say such a thing, but apparently Matt Gemmell needs a reminder. In the middle of many good points about the Sparrow acquisition (good even though I found Rian van der Merwe‘s take even more insightful), Matt drops this huge turd.

It’d be a shitty, reduced, pale imitation of what Sparrow actually was, because the developers would have had to take so much time off to attend the funerals of their families who had died from starvation.

WTF, Matt? That’s incredibly offensive to those who’ve actually had to attend the funerals of their families, or have seen real starvation up close. Even when one strips away the hyperbole, though, it’s still quite wrong. I work on GPL software, and my family hasn’t starved. We’ve done quite well, in fact, and we’re only one among thousands of Red Hat families who could say the same. That’s because there’s a real open-source business model that Matt doesn’t seem to understand. Sure, you give up the immediate revenue from the software purchase cost, but it turns out that recurring-revenue models outperform one-time-revenue models and those are still possible with open source. People will still pay for the earliest and easiest updates. They’ll still pay for guaranteed support by dedicated support professionals instead of “whenever the developer feels like it” support. They’ll still pay for training and certification. They’ll pay more for all of those things as a package than separately, which may be a quirk of human psychology but the effect is still real. The subscription model works, and I’m part of the empirical evidence for that.

That’s all what makes open source equal to closed source, but it turns out that there are other things make it better. For one thing, even though “you have the source so you can fix it yourself” is utterly useless to 99.9% of users who lack the skills to make meaningful change, you’d be surprised how much of a difference that 0.1% can make. Even if only 0.1% of your users ever contribute anything, with thousands of users that can significantly augment your in-house development team. People who just want/need one specific feature to support their separate business, and don’t mind sharing that feature with the rest of the world, might add it themselves. Alternatively, those who lack the skills/resources do so it themselves can sponsor such development either by the original developers or by various consultancies. Take a look at gcc, for example, which has benefited from this phenomenon many times allowing hundreds of developers to make a good living despite the existence of many closed-source competitors over the years. The net result is that open source can often enable software to evolve more quickly than the same development team could do with closed source.

There’s also an ecosystem element to this. Besides accelerating development of a particular package, open source can accelerate development of all alternatives in a technical area. Open source gives newcomers a way to develop valuable domain-specific skills. Similar open source projects can share libraries and frameworks, reducing duplication of effort. Also, the mere existence of an open source competitor can increase knowledge about what’s possible, what users really want, what problems still need to be solved, etc. That’s valuable knowledge, which might otherwise take a lot of resources – or trial and error risking customer defection – to gain. Increasing the total number of users within a category, even if they’re not your users, helps the whole category – including even the closed source parts of it – make technical progress. For example, look at NoSQL or Hadoop. Much of what they do is not dissimilar to products that existed in more closed form before, but once there were a significant number of open source offerings the number of users (and developers BTW) absolutely exploded. The result has been a phenomenal increase in the pace of development across the board, for all participants.

Open source both creates a bigger pie and supports monetization of that pie. Nobody starves. The only people who don’t benefit are those who remain blind to how the open source business model actually works, who think they can use FUD to compete against it. Well, too bad for them.

Why Buy RHEL?

Yet again, I’m going to post about something related to my employer. Yet again, I’m going to reiterate that this is not an official Red Hat position. In fact, I more than half expect I’ll get in trouble for saying it, but it just had to be said. You see, there’s a discussion on Slashdot about How Can I Justify Using Red Hat When CentOS Exists? The poster wants the functionality of Red Hat Enterprise Linux, but the CIO doesn’t want to pay for it and demands that they use CentOS instead. A lot of people have tried to explain the various aspects of what a RHEL subscription gets you. I’m not going to expand or correct those comments, because that will definitely get me in trouble and partly because I just don’t care. Here’s the reason that apparently carries no weight at all with CIOs and never even occurs to Slashdotters.

Because it’s the fucking right thing to do, you assholes.

Yeah, I used profanity on what has almost always been a family-friendly blog. I did that because it’s so utterly infuriating that such an obvious and important principle has totally escaped notice elsewhere. If you value something, you pay for it. Even the worst free-market zealots claim to believe that. They often use the same rationale to justify eliminating regulations (especially environmental ones) or replacing public aid with private charity. Red Hat folks do more work than anyone to improve the Linux kernel, GNOME, and dozens of other projects. They write the code, do the testing, fix the bugs, write the documentation, and provide all kinds of logistical support. The beneficiaries include not just obvious derivatives like CentOS and Scientific but even commercial competitors from Oracle and Amazon’s obvious clones to completely separate distributions like Ubuntu which also package that code and fixes. This work isn’t done by volunteers. It costs a lot of money. The fact that we allow the code to be distributed for free should have nothing to do with the principle that you pay for what you value. When you violate that principle you ensure that there will be less of what you value. The result will be a net loss for everyone, as less innovation occurs and more energy is wasted making sure everyone’s “intellectual property” remains under lock and key. Even the thieves lose.

I’d really like to hear from someone who can offer a better moral justification than “we can so we should” for using CentOS on thousands of machines without paying for even one RHEL subscription, because nothing I’ve heard so far is even close. “Duty to maximize profits” arguments will be deleted, because I’ve already turned that one into swiss cheese enough times in my life. Does anybody seriously believe that freeloading should be on the “good” side of our collective moral map?

Libertarian Watch

Alex Tabarrok has written what might very well be the stupidest thing I’ll read this year, about the Mexican Mafia. In it, he portrays their extortion as “taxes” because folks like him love to do the opposite and portray taxes as extortion. He takes it a little further than most, though, by claiming that the MM “became a kind of government” because some of their actions could be construed as protecting property rights or adjudicating disputes. Is that enough to make a government? Is it really equivalent to the torts and courts on which even the most free societies and markets depend? Does the MM provide anything equivalent to national defense – the one institution even the most radical government-haters seem to favor? No, they rely on prison guards, and beyond them the real military, for that. In fact, their whole enterprise depends on Real Government doing all the hard work of delivering victims by incarceration. Tabarrok concludes that the Mexican Mafia has “much to teach us about crime and governance” despite all this. I disagree. An unelected and unaccountable authority defined by ethnic homogeneity and engaging in “taxation” without representation would have no legitimacy as a government, and bears no resemblance to the one with which Alex is not so subtly comparing it. Even a meth habit doesn’t explain that kind of writing.

In other, slightly better, news, Radley Balko has finally figured out that the limited-liability corporation is really an exercise in political economy, and might not be truly compatible with libertarian ideals. Yeah, the “limited liability” part, unaccompanied by anything in return for that governmental favor, kind of gave that away. The corporate structure is to liability what an address in the Caymans is to taxation. Many people have recognized that for years. They’ve suggested that, if we’re going to break the relationship between profit and risk (which real free-market theory tells us is essential), we should at least try to limit or recover the losses that result. Do you suppose that whole careers spent attacking such people as socialist might explain why normal people see “libertarian” as nothing to do with free markets? Of course, the comments to Radley’s article make it quite clear that even asking an innocent question is viewed as heresy. Ours is not to question. Ours is only to accept our position below the New Aristocracy in Washington and Wall Street.

Are Unions Leftist?

Yesterday, it being Labor Day and everything, I made a comment expressing appreciation for the gains organized labor has brought. (It turns out that Labor Day might not really be about labor unions so much as the labor – i.e. work – itself, but that’s immaterial here.) My views were immediately branded “leftist” but that seems to be a particularly useless way to consider views toward organized labor. To be sure, unions and strikes have often been used by communists/socialists as weapons against capitalism, and many early union leaders here in the US were very red indeed. On the other hand, some leftist regimes such as China or the old Soviet Union have been markedly intolerant of unions. Go on strike there and you could get yourself shot. Show me a room full of trade-union members here in the US and I’ll show you a room where the dominant political beliefs are those of right-wing Limbaugh, O’Reilly and Beck rather than any “leftist” you could name. These contradictions spring from the fact that, in some essential ways, pro-labor vs. anti-labor sentiment isn’t really a left vs. right thing at all.

Left vs. right has traditionally been about the influence of government in people’s lives, and particularly in their economic lives. The union debate is about tension between two non-governmental centers of power – the providers of capital vs. the providers about labor. Unions are, at the most basic level, just voluntary associations pursuing common goals. The right of free association that’s involved is the same one exercised by the pilgrims at Plymouth Rock or the patriots at Lexington Green. Government has continued to honor this right not only by directly protecting its exercise but also by granting many kinds of associations favorable treatment – especially with respect to taxation. In the particular case of capital holders forming the associations that we call corporations, the benefits extend even further to limited liability, political influence, taxpayer-funded trade diplomacy, etc. If capital providers can voluntarily associate and receive all these benefits for doing so, why not labor providers (i.e. workers)? Why not allow the two groups to work things out directly between themselves, in the market, without government interference in the form of requiring government sanction for unions, enforcing exclusivity (labor monopolies are just as evil as capital monopolies), and so on? How is it “leftist” to recognize that voluntary association in the form of unions is an alternative to direct government interference in the market, and to support that alternative? Support for or opposition to unions is really more of a populist vs. authoritarian issue that doesn’t fit neatly into any simplistic “left vs. right” model. Those who would outlaw unions and replace them with government are leftist authoritarians. Those who would outlaw unions and replace them with nothing at all are neo-feudal authoritarians. I reject both. It’s absurd to think of “power to the people” as a leftist idea . . . but I guess if the right wingers want to make it clear that they’re against that idea then I shouldn’t complain.

[NB: if you go back far enough, to seating arrangements during the French revolution, the identification of "left" with populism and "right" with hereditary aristocracy does seem pretty strong. The axes have shifted since then, though, and by modern definitions the idea of opposing the left by favoring government interference with the right of free assembly seems rather absurd.]

By the way, my support of unions as a concept does not imply support of specific unions as they exist and operate today. Because of government interference such as I’ve mentioned, they have become another form of oppression for individual workers. That’s true whether they’re acting in league with company owners or in opposition to them. Having formerly lived in Detroit I reserve special hatred for the UAW, which in my view has harmed its members more than anyone by steadfastly resisting necessary adaptation to changing technology and globalization. They’ve done as much as the auto companies themselves to destroy that industry and that city. The kind of union I believe in, driven by voluntary participation and popular will of its members instead of being either neutered or captured by the politico-economic elite, hardly exists today. For the sake of real free markets the return of real unions would be a good thing.

Don’t Be a Jerk

Charles Hooper wrote an interesting article about Letting Tech People be Socially Inept, in response to a recent incident at ThisWebHost where a technical director got mad at a customer and deleted data. There’s so much wrong here that it’s hard to know where to begin. “Jules” at This* was totally in the wrong. Charles is also wrong when he says that every position is customer-facing. Some people can do really great work only interacting with one person – usually their boss – and referring to that one person as a “customer” seems rather facile to me. Most of all, though, the puntwits on Hacker News are wrong too.

Probably the most common theme in the HN responses is that high technical skill and eschewing social niceties are closely and necessarily related because they both involve pruning away extraneous detail to get to the heart of something complex. For example, the very first comment there refers to “seemingly-meaningless boilerplate and social grease that we call people skills” and sets the tone for many that follow. The problem I have with this is two-fold. First, a lot of the bad behavior I see from my colleagues has nothing to do with social niceties. Go look at How To Ruin a Project and you’ll see that many of the items listed there don’t have anything to do with social skills. You don’t need a fine understanding of social cues to realize it’s wrong to miss the point, focus on the trivial, or wage “guerilla warfare” against a decision you don’t like. Those things might well have social effects, but they’re wrong even for purely practical reasons as well.

My other objection to the “boilerplate and grease” meme is that social cues actually do serve a practical purpose. They help to identify how strongly someone holds a belief, and how much importance they attach to the subject. Without that information, it’s easy to waste enormous amounts of time fighting wars that didn’t really need to be fought, and sometimes that leaves little time or energy – or poisons the atmosphere – for the debates that really do need to occur. One of the real problems I see with my fellow techies is a general lack of perspective, proportion, or priority. People who fail to give or read cues regarding these three important factors are demonstrating a deficiency that can affect even the most purely technical decision making. Being socially inept is not just cosmetic; it has a real and tangible effect on overall competence.

That brings me to the second most common theme in the HN responses: Asperger’s Syndrome. I’ve known quite a few real Aspies. I’ve known even more people who self-diagnose or self-identify that way as an excuse for being lazy about social interaction, so I won’t claim that I’m that way myself, but I will say I’m close enough (as is visibly the case for most of the other males in my family) to understand the challenges they face. I understand the “gravity” that always pulls one’s thoughts inward, and I know the pain of having to pull one’s attention away to deal with the “noise” that other people can generate. I will gladly do everything I can to accommodate people for whom these burdens truly are greater. I’ll teach them coping strategies I’ve learned from others, act as interpreter, run interference for them, whatever. However, there’s a difference here. It’s one thing to have a hard time understanding social cues. It’s another thing to understand those cues perfectly well and use that knowledge to troll more effectively. It’s really not that hard to tell the difference between an Aspie and an asshole; those who throw spitballs from behind a shield meant for others are not only jerks but cowards as well.

My conclusion is that Charles was wrong about everyone being customer facing, but right about the more fundamental reality that we techies in general need to stop being such jerks. We need to stop enabling the jerks by applauding when they act in deliberately offensive ways on HN, on Twitter, in conference presentations, etc. We need to stop pretending that the combative style prevalent on HN or LKML is the best way to facilitate progress; there’s no empirical evidence that “culling the herd” or “honing one’s weapons” or other such bloody metaphors really apply. We need to stop encouraging young techies to expend their energy emulating those styles instead of developing real people skills. Social skills really do serve a useful purpose, and anyone can improve them. That doesn’t make you less technical; it makes you more adult.

“Anonymous” is Bad For Anonymity

I’ll probably get in trouble for writing this, but somebody has to. Feeling full of themselves after the Wikileaks affair, Anonymous has started going after other worthy targets. The problem is, they’re doing it in a way that almost guarantees a bad outcome. For example, look at their letter to Westboro Baptist Church.

We, the collective super-consciousness known as ANONYMOUS

Might as well stop there. This introduction, plus the hyperbole and contorted sentence structure throughout, makes me think of nothing so much as James T. Kirk’s painfully melodramatic speeches in old Star Trek episodes. This is not the image you want to project when you’re fighting for a cause. For an even worse example, consider the antics at last week’s RSA conference.

owned by anonymous. niiiice.

Again, stop there. Already we have text/internet shorthand, no caps, general swagger, etc. It looks like a child drunk on power, not an adult making a serious policy point. “In it 4 the lulz” indeed . . . and that’s the problem. I don’t object to Anonymous’s choice of targets here. Westboro Baptist definitely deserves some karmic payback, and evidence suggest the same of HBGary Federal. I don’t even object to their tactics, though some might. The problem is the kind of attention this will get them, and how that attention might turn into policy changes that adversely affect all of us. Anonymous clearly wields great power. Power can be used by heroes, and it can be used by bullies. The difference often lies in two things.

  • Identifying yourself. There is no way to tell who’s really Anonymous and who’s just some totally unrelated internet cretin using the name and cause as an excuse for random acts of vandalism. This is kind of ironic, since the real members of Anonymous are clearly experts in technologies such as secure anonymous publishing that would allow them to take or deny credit for any particular act without having to reveal their identities. Anonymous is really pseudonymous, not anonymous, and should take care to preserve the distinction.
  • Defining yourself. Real freedom fighters have identifiable goals and methods. We might not approve of either, but without any explanations (beyond generic “freedom of information” blather that could mean anything) or apparent limits nobody will see the nobility of the cause. Why is Anonymous more prominently taking on Westboro and HBGary, or even Visa and Mastercard, instead of Qaddafi? To extend that thought a little, how are their methods really distinct from Qaddafi’s? Without Anonymous taking a clear stand, “in it 4 the lulz” effectively becomes their credo.

I’m not suggesting that Anonymous should behave differently to satisfy my or anyone else’s comfort level. I’m suggesting they should do so for the sake of the very goals they (vaguely) claim to value. When people see a group with far more power than self-control, which fails to distinguish itself from any other band of bullies, then the Powers That Be will start to see bands of bullies on the internet as a Real Problem. Those who are already looking for any excuse to require ID before connecting to the internet, or to give security agencies more power to invade our privacy in the name of tracking down the Bad People, will be all over that. Policy makers aren’t listening to us, the people. They’re listening to the people with money – like HBGary Federal or worse – who stand to make even more money in such a world. They’re also listening to people like the RIAA/MPAA who would also dearly love a more controlled internet. A very likely outcome of all this is much less privacy and potential for anonymity on the internet. Thanks a lot, Anonymous.