A Philosophy of FunctionEdit
Version 0.0 - Leon Brooks, QBX
Starting from the <1>principle that we were intended to be useful, and so have an instinct to seek usefulness, the author seeks to <2>explain the phenomenal growth of the Open Source and related movements. An attempt is then made to <3>assemble a vision (seen as if dimly through a small window) of where this is taking the computer industry and perhaps society as a whole.
Foundations of the Principle of UsefulnessEdit
Usefulness as a principle can be seen in many of the world's major philosophies, in action if not expounded in principle. Usefulness (necessarily without direction, in the case of atheists) is the heart and soul of the naturalist evolutionary movement - if you're useless, you're dead. Christians can see that Adam was given useful work right from the start; and the parable of the father and his two sons clearly illustrates that useful action is what proves belief, rather than promises, statements or argument; clearly, God believes in usefulness. In an indirect way, usefulness is also the means for advancement in many religions based around the concept of "karma", a cosmic goodness accounting system.
In the "red in tooth and claw" world of naturalism, the usefulness lies in being able to beat your neighbour to resources when times are tough (or just plain beat your neighbour in a physical contest). For the majority of other philosophies (by head count), the usefulness is found, in theory, at least, in being able to help others.
Supporting this idea from a negative angle, the insult "useless" is universally understood.
I choose to say "usefulness" rather than "purposefulness" firstly because purpose doesn't necessarily convey the idea of progress towards that purpose, merely orientation on that purpose. This is the difference between a monk in his cell and Mother Teresa. Secondly, "purposefulness" is quite a mouthful.
Measures of UsefulnessEdit
People have various ways of defining their usefulness. It is important in understanding the second main section of this document that you keep this idea in mind. Some people more or less define usefulness for themselves to mean some combination of things like "nett worth", "medal tally", "satisfied customers", "units produced", "most friends", "closest in appearance to the ideal princess", "most backsides on pews", "happiest husband" or "most active Rotarian". Nevertheless, these all hark back to the core idea of being useful for something or to somebody.
A very poignant example of this is couples (not necessarily married, in fact most often not married) who remain together solely because one partner sees themselves as useful to the other, usually based on the slender evidence that the other person hasn't bothered to get rid of them yet. Sometimes this works both ways and is called "co-dependence". As with all things, the value of an item or process is not intrinsic (part of it), but depends on how you use it. A hammer can build a house or break a skull; propane can ward off frostbite or blow up a school; politics can make peace or trigger genocide.
Usefulness and Reward SystemsEdit
One measure of usefulness is how much you are rewarded for what you are or do. For example, an executive might value bonuses and raises more for their signification of usefulness than for their monetary aspect; a school-child's sense of worth might be more bound up in their parents' reaction to their school marks than in the marks themselves; an athlete with his "eyes on the prize" may not be so concerned about his time around the track as with being on that highest platform.
Usefulness and ProductivityEdit
One measure of usefulness is productivity counts of various kinds. This type of athlete thinks that the high platform is nice, but is most pleased because his time around the track was excellent; a farmer might feel useful because a high proportion of his new lambs survived to market age; a production line worker might feel useful because he personally inspected
Usefulness and AcclaimEdit
One measure of usefulness is public acclaim. People attuned to this kind of usefulness become rock stars, radio announcers and politicians. Sometimes, this mode of usefulness operates well in a limited arena: participating in a home-town or school baseball match with only thirty parents and a couple of coaches barracking might really push your button.
Usefulness and FeelingsEdit
Another class of useful people adjudge their usefulness by how they feel about their occupation. A house-proud wife might feel useful when you could safely eat from her floors and every item of cutlery was lined up in the drawers like little soldiers; an athlete motivated this way might feel useful even if they ran last in a race, because they felt that they had run a good time for themselves; a programmer might feel useful because she knows that every part of the module she wrote is clear, logical, efficient and thoroughly debugged - even if her boss never acknowledges it and the end users never lay eyes on it.
Usefulness and the BenchmarkEdit
One aspect of usefulness is the "I've done enough" attitude. For example, an Australian shearer may not feel useful until he shears 200 sheep in a day (which figure would send some English shearers into shock), but wouldn't feel very much more useful if he managed to do 260 sheep, or a clerk might process 30 forms by 2:30PM but not feel at all inclined to fill in the last hour by doing four more - whereas if he'd only got 28 forms processed by knock-off time at 3:30, he'd feel a little disappointed in himself.
Sometimes usefulness is derived from a group, often called a team - but sometimes not. For example, the members of a home education community might feel useful because the group finally managed to show the local authorities that their way is not only acceptable but almost universally better than "production line" schooling at its best; members of a church might feel good about seeing a new member join, even if they personally had no hand in showing the new member why their church was the right one; a man who made a satellite part might feel useful when he sees pictures taken by "our" satellite.
A related form of usefulness is felt as pride when "your" sports team wins a match, even if your only contribution to the team was a personal decision that they were "your" team; likewise, when "your" country puts a man on the moon, you did nothing to contribute except be (often unwillingly) taxed to pay for the mission, but you feel good anyway. This is often one of the weakest connections with usefulness, so human nature compensates by making it the most vigorously defended, as if from a kind of personal desperation. I believe that this is one key to understanding aberrant behaviours like British football violence, extreme nationalism or globalism, or destructive religion (purges, crusades and jihads).
Usefulness and CreativityEdit
People doing what they feel best about are often people at the peak of their creativity. Does a clerk put his best efforts into filing things in the right order, or into the radio-controlled model aeroplanes he flies on weekends and holidays? Is each hamburger emitted from the kitchen of a short-order cook her best work, or does she save her best efforts for her painting hobby?
A precious few people are fortunate and are able to do as their work pretty much what they'd do as their hobby; for example, I once met a city bus driver who almost grew up as a passenger on his father's bus, collected bus models when he was a child, and had always wanted to drive buses. His safety record was the envy of the station, his service and manner were excellent, and the cleaners didn't have to do much at all to do for his bus in the evening, because he'd pick up litter and pick off gum at the end of every run, maybe six to ten times a day. He'd learned early to associate being useful with doing a good job of bus driving.
The Corruption of UsefulnessEdit
The worker who does well, and is rewarded with a significant increase in position or salary can sometimes stop doing well at that point. The famous Peter Principle says that workers rise to one step beyond their level of competence, or in other words, you keep being promoted until you're incompetent, and if you ever achieve competence in a position, you're promoted again. I believe that one of the core reasons for this is that being useful at one task or group of tasks does not imply usefulness at another task or tasks.
For example, a good draftsman doesn't necessarily make a good manager of draftsmen; in fact, they frequently make terrible managers of draftsmen, and in promoting one out of his area of usefulness you might lose both a draftsman and a manager. Depending upon the motivation and skills of the individual, a better result might be obtained by simply increasing his pay, and/or by finding other areas in which he is talented (in this example, he might also be good at job-costing, or also a good artist, or in addition to laying out buildings and machine parts he might be good at laying out gardens).
As well as shifting people out of their areas of usefulness, you might be promoting them to a point at which they "have arrived", are at their life's aim, and so at some subconscious level feel that they have stopped being useful and can rest on their laurels.
A final common destroyer of usefulness (and creativity) is stress. Brooks' Law (a different Brooks, unrelated as far as I know) says that adding manpower to a late project makes it later, and I see several usefulness-related processes at work here. For the people already at work on the project, there is the implication of failure, of uselessness. There is also a diffusion of usefulness from the project's aims as the original personnel become useful as trainers for their new co-workers. Thirdly, the newcomers will make themselves "useful" by going over old ground again as they pick the context of their tasks. Both original and new workers are exposed to new levels of stress.
Stress operates by dilution of usefulness, and by overloading. When a person is under stress (which can be quite a different thing from simply being very busy), some of their available usefulness is soaked up in dealing with stress. Since very few people are well-adapted to deflecting or absorbing stress, this is generally an inefficient process, so soaks up an inordinately large amount of usefulness.
Overloading is like a traffic jam: if the traffic would only start moving, less cars would be added to it and so the traffic could move better, so there would be less traffic... another way of putting this is "sorry, we're too busy mopping the floor to turn off the tap." You can see this in computers as they use up their store of main memory and start borrowing pieces of disk (often called "swapping" but technically "paging"); the disk starts thrashing about and because the machine now has to devote some resources to managing the new disk activity it runs even slower, which uses up more resources, and eventually can result in running out of everything, at which point the machine freezes up.
You can see the same process in people as a person becomes more harried, can't remember everything at once, resorts to writing things down instead of keeping them in mind, starts losing the written notes, spends time that they don't have finding and organising the notes while work piles up, which requires more note-making, and... Aaaaaarghhh! Eventually, the strong men in the green coats come in their soft van to take them somewhere "nice".
The strategies for dealing with stress generally amount to one of two things: "re-frame" it as something exciting rather than dreadful (which can work by reducing the amount of personal usefulness syphoned off into dealing with fear, frustration and hopelessness), or develop the skills used a lot in stressful situations, such as diarising, delegation and management.
Parallel examples from the computer world of developing crisis skills ahead of time is that of Linux (and many other recent operating systems) usually using a separate partition or partitions for "swapping" in, akin to having a separate and obvious clipboard for keeping "overflow" notes on during a crisis, and a filesystem designed not to fragment, akin to keeping everything in order as you go. In contrast, Windows uses a file for "swapping", akin to keeping your crisis notes amidst the stack of work with everything else, and (on a VFAT filesystem) a fragmentation-prone filesystem, like an unsorted work area; this means that not only are the notes slower to locate when they're needed, and susceptible to filing mistakes, but everything must stop from time to time while the desk is straightened out.
Linux can also "swap" through a file if necessary, so it can fall back on an "ordinary" skill beyond the overflow skill. Setting up a "swap" partition takes a little extra thought and work, but as with the worker, this setting up can be done in a relatively slack time, but the fact remains that any system, whether it is a person or a machine, loses usefulness under stress. The quality of their output deteriorates, the speed of their responses drops, and they are more prone to stopping altogether or breaking some important component (hard disk crash or divorce, as the case may be).
Usefulness and the Open Source RevolutionEdit
The Open Source revolution revolves, I believe, around threefold usefulness: the practical usefulness common (but not universal!) in the published product, the inherited usefulness from the background of the contributors, and also the personal usefulness of contributing to a product.
Because an Open Source product is often designed, implemented, tested and tuned by people who are also end-users of the product, to some degree, the product often has a higher degree of relevance to what you're doing than one in which the design has been heavily influenced by policy-makers who are a long way from "the front lines", managers and accountants who count features rather than understanding the basic usefulness of each, and lastly analysts and coders who have often been taught only one way of doing things and are working from 9 to 5 rather than from the heart.
The outcome of this is that the product is often based on a core of most-useful features and grows outwards from that core. At each stage, it's very useful. For the individual user, this usefulness translates pretty directly into your own usefulness. This makes Open Source software very popular.
Because Open Source software is often available at no cost, the pundits would say "free as in lunch" or "free as in beer", and many Open Source companies make honest money with support and materials, there is no cost or guilt barrier to trying it out, and no cost barrier to using it. The entry fees for honest end users have never been so low. Nobody will be at all surprised that this is a great boost to Open Source's popularity - but bear in mind the reputation that "freeware" had (and to some degree still has) in the Bad Old Days of computing (the year before last?). For a lot of people, until the source was opened, and the quality and utility went up, free wasn't cheap enough.
As noted above, people measure their usefulness in a variety of ways, and surprisingly few of those ways have to do with money, so this powerful provision of usefulness is a strong force attracting people to and powering the Open Source movement.
Because Open Source software is indeed Open, or as the pundits would have it, "free as in speech", anybody with the most marginal programming skills, or anybody armed only with a reasonable dose of common sense, can tinker with, or at least make intelligent comment on, what the product does.
Often, comments in source code contain insights that will never grace a help file due to Company Policy or a deadline (on the other hand, the help systems of Open Source products are often written or at least significantly contributed to by the people who coded them, rather than entirely professional writers working from notes that they don't understand well, so along with poor grammar they sometimes do contain information that a commercial help system wouldn't).
Even where the end user has no inclination toward coding or documenting, it is generally much easier for them to contribute to an Open Source project, either because the people who make it all happen are more likely to see the end user's unedited opinions, or because the end user can contribute his professional talents directly, such as a graphic artist contributing graphic patterns, sample images, fonts and such like to a graphic editor project like The GIMP.
The GIMP is a good example in another way, and typical of Open Source projects in this regards, because programmers are basically lazy, and laziness is the real mother of invention (greed is perhaps the aunt or stepmother of invention). What this means in practice is that there are often "hooks" available in Open Source programs to allow you to quickly change what the program does, in this case the hooks are scripting languages, plural.
An end user can write (or change) a small, relatively simple script in LISP (Scheme), PERL or Python rather than diving in to the large and complex source files of the main program, and change what The GIMP does. And guess what? This will from time to time move an end user gradually into the next category. Is there any big conceptual gap between writing little Python scripts for The GIMP and writing stand-alone Python scripts, or little Python scripts for controlling Zope, a Python-based active web server? No, and so another barrier to knowledge crumbles.
At last we get to the most obvious usefulness factor in Open Source software: the programmers. Who are they? Where do they come from? And the answer, terrifying as it is to the major software players, is "everybody" and "everywhere." Literally.
Where are they from?Edit
Many Open Source programs have contributors from downtown New York, from Antarctica to Zimbabwe, from the world's most isolated city (Perth, Australia - hi there, wave, wave), from crowded India, giant China, post-imperial Japan, the frosty cow's-bladders of frozen and fiercely independent Iceland, mighty Russia, the lonely but friendly islands of Tonga, everywhere!
Who are they?Edit
Contributors speak of their scraped-together 486es, others casually mention that "I wanted to try it out on SMP, so I went and bought one." Some speak in chicken scratchings and some write their letters backwards. They come in both genders, and I've seen participants 9 years old and others past 90. Patches are sent in from war zones and wastelands, tropical paradises and ancient palaces. Rocket scientists and housewives contribute to the same projects. Why?
Why are they?Edit
Because almost anybody can pitch in and be useful. Never in history has the opportunity for collaboration been so great; never in history have a group's creative tools been so cheap, and so widely available. Open Source picks itself up by it's boot-straps: better, smaller, faster programs make better, smaller, faster development platforms. Any improvement of output becomes an improvement of input. Positive feedback: and it's stable! Many, many barriers to usefulness have been bypassed by the combination of new technology and new ways of using it.
I would contend that this has been brought about in particular by the GNU "GPL" licensing system which forces the software technology to be available.
GPL has been assisted in its noble task by a number of similar but less definite licences, such as the so-called BSD licences; some companies would be unwilling to publish code under the GPL because it is "infectious" (the very reason for its success: code which is based on GPLed code must itself be GPLed) but have been able to "test the water" with the "weaker" BSD-style licences. Many companies have used BSD-style licensing in effectively the same way as GPL, except that they also sell commercial code based on it which is not itself Open Source. In this way, some code has been "freed" under BSD-ish licences which would not have under GPL, and conversely, GPL has leveraged improvements back into the public knowledge "gene pool" which would otherwise have been isolated in proprietary backwaters and become extinct.
Programmers "chained to their desks" at work often relate that they feel like an artist relegated to painting fences, or some equivalent imagery. Now they have a chance to do "real art" in their own time. They can provide useful parts for great and wonderful new software machines, in their own way, at their own pace. There is no corrupting stress, no beguiling lucre. It's amazing how the ideas and work flow under these conditions.
Technicians sick of fixing the same problems over and over again can contribute to systems in which these problems never happen. People with their own unique styles can take the time to express them. Programmers who are unemployed can do real work, and can reference it when seeking a paying job. People who enjoy playing with code can contribute a little here, a little there, without making a lifestyle of it. Programming addicts can constructively pound their keyboards from eyelids-up to eyelids-down. Crackers can build defence systems. Ditch-diggers can exercise their mental abilities. Regimented school-children can cut loose with their creativity. Icelanders can do something in winter. The basic ideas are that everybody can do something useful, idiosyncrasies and all, from day one.
As a curious example of an idiosyncrasy, I know a very creative man named David ("Der Spaz") who happens to like writing his emails such that they are block-justified (both edges of each paragraph are straight, and in David's case all of the paragraphs in an email are the same width) without adding any extra spaces. In FidoNet days it drove his debating opponents absolutely nuts! One opponent was seen spacing out the bits he quoted from David so that the edges lined up again... But which boss would be happy allowing time at work for messing around like that? In an Open Source situation, David can express himself like this if he wants to, in his own time, and enjoy it, and contribute more useful work as a result.
Because nobody forces participation in Open Source projects, you can drop the reins at any time without trauma. In actuality many Open Source projects are several generations of co-ordinators away from where they began (people get married, change jobs, change interests, go on holidays, are ordered by their spouse to take a break from their computer habit, all kinds of things). You can pick a social structure that you're happy with; for example, there are dictatorships (Linux is a one-man, one-vote system and Linus Torvalds is that one man), anarchies (like Everything), exclusive clubs (like FreeBSD), at least one "rotating oligarchy" (PERL), and many, many other structures. This allows you to very much be useful in your own way, at your own pace.
No, I'm not going to make predictions like the destruction of Microsoft ("one stone shall not be left upon another"). Young William didn't get where he is by being unresponsive... in fact, if anything does kill Microsoft, it'll be themselves trying to run in all directions at once: already, their right hand seems often to be operating in ignorance of the left's intentions.
The Future Made SimpleEdit
This Prophecy section is remarkably short: I expect Open Source to keep growing near-exponentially until it hits the People Event Horizon (ie, runs out of new recruits). It will do this "softly" as the decreasing number of new participants scales down to about balance the number of departing participants (too old, too many children, new girlfriend, and other reasons) and will continue to thrive at that level unless restricted by widespread changes in government (which never quite seems to be capable of keeping its collective oar out of the water).
The Future Made ComplexEdit
Government intervention is actually more likely than it might at first seem. Groups such as the Jesuits have historically engineered crises or taken advantage of natural ones to make sweeping political changes in their preferred direction. I can't think of any significant power groups who are inclined towards general freedom, and can think of several who are inclined to put the serfs/proletariat in their places (that is, under the wise control of insert-power-group-here) and keep them there. Some countries, like Denmark, have been historically quite resistant to this kind of thing, but others, like France and Germany, seem to have it happen almost regularly.
Since Open Source is a movement made up largely of serfs/proletariat and those most dangerous of people, intellectuals, the "natural" result of this is that any behind-the-scenes political manoeuvrers are likely to be detrimental to Open Source. As every episode of violence is used to justify taking more people's guns away (and exactly this happened just before World War II), so every episode of cracking is used to justify more security (means less freedom), and every episode of dangerous stuff like The Anarchist's Cookbook being downloaded to justify more censorship.
In defence of Open Source and open expressionEdit
Since Open Source is not a specifically political movement (long may it live that way), it can combat pressure like this only in a grass-roots person-to-person fashion. Gently, politely, without getting up people's noses and being a one-eyed zealot, it is possible for individuals to do things like this:
When ordering software, simply ask if they have the source available or are planning to Open Source the product, or any other of their products. For example: "By the way, does Yoyodyne make the source for Gnomovision available, or are they considering Open Sourcing it at any stage?" If they ask, you could say "I asked because many companies are doing that nowadays, we would be impressed by such a service, make use of it, and be inclined to stick with Yoyodyne because of it. If you're interested in the details I've attached a brief description of the process to this reply." And do so.
When ordering hardware, simply ask if they can deliver your favourite open-source operating system and/or software pre-loaded. For example: "By the way, can I get that with FreeBSD and The GIMP pre-installed?" Don't insist, or threaten to take your business elsewhere, or anything: just ask.
GPG or PGP sign all of your email. Not encrypt, just sign.
Where it's appropriate (e.g. tagline of your email, bottom of web page, footnote on business cards and stationery) promote software freedom in particular, or network freedom in general. For examples, "Made entirely with high quality Open Source software. http://www.opensource.org" for a business card or "Freedom and privacy - get yours while you still can. http://www.eff.org" for a personal email tagline.
- When you see a freedom being taken away, or an aspect of privacy disappearing, object. Nicely, but personally, and every time. To the perpetrators, to your politicians at each level of government and in each related specialty portfolio and to anyone else who might help (consumer organisations, ambassadors, ombudsmen, whoever).
In short, state the case for Open Source and the free exchange of ideas politely wherever you can.
Point out that if people don't want to see smut on the Internet, they can install their filters on their own computers, or do as we've done, and teach your children where the "back" button is and when to use it. There is a difference between driving past an "adult" store (a serious misnomer) and walking in to one. If your children don't have any self control by the time they're old enough to go web-surfing by themselves, use all the time you have left to instil it!
The Ultimate AnswerEdit
Ultimately, the best way to help Open Source and the propagation of usefulness is to join in. Use Open Source software, and if you see a bug or want an improvement, ask. If you have any programming, writing, or artistic skills at all, have a look at some projects and join one or a few that you like.
QBX: Qualified By eXperience, that is, no credentials at all, but I do this stuff anyway. (-: