During the Spanish civil war in the 1930s, insurgent general Emilio Mola announced in a radio address that the four columns of his forces attacking the city of Madrid would be aided by a “fifth column” inside the city. What he referred to was not so much a literal military column, but supporters inside the city who would sabotage the efforts of the defenders. While they were not terribly effective — the city held against the siege for a few years — that doesn’t mean the idea itself is bad. In fact, in some cases, it can make a critical difference.
The concept of a fifth column, taken to a metaphorical extreme, is an often overlooked approach to increasing the effectiveness of an advocacy movement. Sometimes, the best way to convert someone to your way of doing things is to trick him into doing it on his own without even realizing it. An example that comes to mind is something a friend encountered in an economics class in college.
On the first day of class, the instructor described a hypothetical situation: you run a small business, and you have a competitor across the street. You both sell the same thing. You sell a good product; you charge reasonable prices; you treat your staff well and inspire them to give good customer service. Your competitor sells a shoddy knock-off product; he charges unreasonable prices; he treats his staff and customers alike with contempt. His business founders, and eventually goes bankrupt.
The instructor then asked each and every student in the class “Do you think you owe him a living? Should you have to pay him to start his business again?” Actually, he probably asked the question better than that. Each and every student in the class said no — of course I don’t owe him a living. That’s ridiculous. It’s his own fault he screwed up his business, and his former customers are probably better off without him anyway. When each person had answered, the instructor stood at the front of the room and proclaimed them all Objectivists.
I’m sure he didn’t actually convince them all they should be Objectivists that day, but he made a good point — and a number of his students probably really woke up to some realities of economics in that class because of the first day’s demonstration. Some of them may even have become Objectivists (though I’d hope they just became Austrian economists, or something like that). Any such successes would, of course, be at least in part attributable to a metaphorical fifth column tactic: get someone to adopt something in practice first, then get that person to recognize the principle behind the practice. At that point, it’s more a matter of getting someone to recognize he already is what you want him to be than to actually convert him directly.
This is just one example (among many) of where the Free Software Foundation is dropping the (four thousand pound lead) ball (on its own foot). The FSF faithful, with its collective focus on pure adherence to the “Free Software” philosophy, is actually turning people off about as much as it’s attracting them. I believe that at least 98% of that philosophy’s converts got there despite the best efforts of its strongest advocates. These are people who threaten legal action against open source projects who aren’t sufficiently pure, insult people who use the term “open source” instead of “Free Software”, and use a nine hundred pound pile of paperwork that favors the code’s “freedom” over the freedom of its users and developers as a license — a contagious license that many businesses are afraid to touch.
That license, and the entire copyleft licensing philosophy, actually serves to cut off the potential use of a fifth column tactic entirely in many cases. When I say successful conversions happen despite the best efforts of the most prominent advocates, I mean it. Many of them come by way of fifth column tactics that occurred essentially by accident. People start out using something like Firefox (the gateway drug of open source software), then once they’re comfortable with that they use other open source software like Thunderbird and Pidgin, and eventually they end up giving something like Ubuntu a try. Gradually, they find themselves using more and more open source software, until they find themselves actually advocating open source software for the openness of it to others. Some of them end up on the Free Software side of the Free vs. Open Source divide.
When Google finally moves things forward, we’ll get something like the Firefox fifth column attack for copyfree licensing as well, in the form of the Chromium open source browser project. The Google branded release of the Chromium browser is, of course, Google Chrome, and Google is currently working on a Linux port of the thing. While Google may not do so itself, I’m believe others will make the effort to port it to FreeBSD, thus providing — mostly by accident, I’m sure — a migration path from MS Windows and/or MacOS X (another target for a Google Chrome port), through Linux-based OSes, to FreeBSD. That, I’m pretty sure, is where FreeBSD gets most of its “converts”, in fact: people who previously moved from MS Windows to some Linux distribution. That’s how I ended up using FreeBSD. In a way, FreeBSD is to the Linux world what Linux-based OSes are to MS Windows.
The same kind of fifth column approach has been known to work for the Libertarian Party, too. The local chapter’s board chairman has taken that approach to getting converts, and has done a pretty good job of it; he maneuvers people into expressing opinions that are aligned with libertarian principles, then gets them to recognize those principles and apply them to convert themselves. This is a far more direct and intentional approach than what I’ve seen in the software world, where everybody seems to think that the best way to convert someone is to tell that person his or her opinions are all wrong. They may very well be wrong, but that’s not really guaranteed to be effective.
In Why functional programming doesn’t catch on, the point is made that a lot of functional programming advocacy fails because it is too abstruse. The author contends that what is needed is more earthy, practical examples of the benefits of functional programming. Well, sure — that’s important, especially for convincing hobbyists with nothing better to do than learn a new programming language that don’t usually get used for professional purposes. Even that isn’t going to make inroads to professional use very quickly, though. Get enough hobbyists on your side, and eventually it’ll start seeping into professional circles, but that’s a very slow, and very weak, motivational plan.
Try the fifth column approach instead. I kind of brushed up against that approach when I wrote Functional programming techniques can improve software security about six months ago. Even in that, though, I wasn’t really doing as good a job of it as I could have (if advocating for functional languages was my goal — which it wasn’t, exactly). I did all the right stuff, talking about how one can employ functional techniques within more traditionally imperative languages to good effect rather than just suggesting that people quit using Java right now and use Lisp instead. I put the emphasis in all the wrong places for effective fifth column advocacy, though. If I wanted to maximize the fifth column approach’s effectiveness, I wouldn’t have put “functional programming” in the title, and would have made the article about technique, without making a big deal about functional programming.
I would have gone more gently, in other words. I would have set out to teach something without putting the fact that what I was talking about was functional programming techniques in the center ring with all the spotlights on it. I would have mentioned these were techniques borrowed from the functional programming paradigm, of course, but only in passing. I would have also probably mentioned that, while these techniques are best suited to use with certain functional programming languages (with examples), they can also be used (though not quite as easily) to some good effect in traditional Algol-descended imperative languages (including many nominally object oriented languages) too, but only in passing.
I haven’t really thought much about the value of fifth column tactics in advocacy efforts in the past, but the more I think about the differences between copyleft and copyfree licensing policies, the more obvious and evident it becomes. Now that I’ve put more thought into it, I’ll keep my eyes open for more opportunities to make use of such tactics in the future.