The Three Reasons For Source Code Publication.
There are innumerably many reasons for writing a computer program; but, to my knowledge, the publication of its source code is nearly always motivated by one of these three:
I. Subordination: "Open Source."
Some of the earliest -- and arguably, highest quality -- computer programs with openly-published source code were developed inside conventionally-structured organizations, by full-time paid programmers, and -- at some point after their completion -- ended up "opened" to the public via the workings of some bureaucratic mechanism.
One classic example of such a program is Macsyma -- originally a product of the U.S. Department of Energy's wunderwaffen efforts, its source code ended up published through a quirk of period American law: whereby any taxpayer-funded work not explicitly deemed a military secret was to be made available to (notably: paying) third parties upon request.
Even today there are still organizations which permit (or even command) their full-time programmers to publish source code. Unfortunately, the resulting publications do not often resemble Macsyma -- more commonly, they are merely attempts to outsource the maintenance of dour shitware to unpaid volunteer labour (See: Type III.)
Not infrequently, today's commercial organizations publish source code in order to impede possible advancements in the state of the art which threaten to undermine their business model or to overturn the political paradigm they rely on.
Observe, for instance, the computer (in)security industry's lavish support for "mitigations" -- and wholly-absent interest in giving a proper cement burial to the idiot C machine and its braindamaged excuses for operating systems, compilers, and other idiocies which make these mitigations appear "necessary".
II. Constructive Problem-Solving: "Free Software."
Some people write programs and publish their source code to in order to offer others solutions -- in the ancient spirit of scientific collaboration -- to concrete problems: aiming to turn previously-unattainable ideals into practical realities; to advance civilization and resist the encroachment of barbarism; or simply to make daily life slightly more livable for them and theirs.
Whatever else has been said about R. Stallman, his publication of GCC 1.0 remains one of the best-known examples of such an act.
The anonymous publication of the original Bitcoin client was yet another.
III. Psychopathology: "Open Sores."
Unfortunately, this appears to be the overwhelmingly most common motivator; and may account for the bulk of what is commonly circulated as "open source software". Virtually without exception, this activity superficially masquerades as Type II; and, in exceptionally catastrophic cases, turns into a variety of Type I without retaining any of the desirable attributes of the latter.
The impetus for psychopathological publication is similar to that which drives a graffiti "artist" to spray paint over street signs, or a teenager to remove the muffler from his junkyard "muscle car" -- a deeply mammalian instinctual spraying of urine, or an elaborate technological substitute for same, on whatever public surfaces conveniently present themselves.
The sufferer -- who may or may not be a true graphomaniac -- is normally a not-unintelligent fellow, and is driven by an insatiable desire to display 'cleverness' by exhibiting gratuitously-complex solutions to trivial (or wholly imaginary) problems. Often enough, these consist of reproductions, to varying degrees plagiarized, of existing work -- not uncommonly, the work of fellow sufferers, which accounts for their typical "xerocopy of a xerocopy" flavour:
It is like going to a library full of books that took 50 man-years to produce each, inventing a way to cut down the costs to a few man-months per book by copying and randomly improving on other books, and then wondering why nobody thinks your library full of these cheaper books is an inspiration to future authors. (Naggum)
Such work is invariably presented (and usually believed by the author himself) to be an "improvement" of something or other; but in all cases this belief closely resembles a schizophrenic's earnest conviction that his pen scribbles "improve" the walls of bus stations.
Frequently, this activity is motivated by sheer ennui; in other cases -- by unemployment and hunger, which give rise to a usually-mistaken belief that such displays of "cleverness" will make the scribbler more attractive to prospective employers.
At times, however, the psychopathology of one becomes the misfortune of many others, when such a "complexity artist" is in fact hired somewhere and "lives happily ever after" polluting the intellectual ecosystem with modern Type I atrocities.
Sufferers of Type III have come to exist in astonishing numbers, and have banded together into organizations (and, not infrequently, with the connivance, or even miserly financial support, of Type I entities); they compulsively swarm, like flies to fresh meat, to all places where remaining Type II practitioners still gather.
If you're a Type II practitioner, you are an endangered species. But you will not be listed in the "red book", no one will defend you; you must defend yourself.
The approaches to such defense are well-documented: disrupt the biofilm formation of Type III invaders by whatever means necessary. Publicly shame and ridicule electro-graffiti "artists"; refrain from rewarding complexity-exhibitionists; resist their attempts to promulgate "niceness", "codes of conduct", and all similar tumour-signaling mechanisms.
I am surprised you didn't mention "v" and development of a web-of-trust as a defenses against the Type III encroachment.
Dear PeterL,
Weapons are powerless without the necessary fundamental hostility of their wielder -- triggers don't pull themselves.
Yours,
-S
> resist their attempts to promulgate "niceness", "codes of conduct", and all similar tumour-signaling mechanisms.
Dare I ask what the issue with "niceness" is? My understanding is that people only really want it for "the innocent", i.e. all bets are off if someone is being an asshole to start with. That said, type-3-esque fame seeking (or, more recently I think, "clout chasing") is not usually cited as asshole behaviour, when it should.
It reminds me of one interesting group I encountered about two years ago, who wanted to roll their own server software that would disseminate untrusted input read over the Web. This server was to be written in C, which seemed like an unnecessary risk to me (among some other risks), so I brought it up. They and their friends disagreed, and I was eventually accused of being inconsiderate, because apparently I should be able to believe that the group won't screw it up, with no evidence whatsoever.
Ironically, I was also trying to get the group to publish their sources, so that an independent analysis could be done. There is not much that can be done, as one is not in control, and words alone don't seem to change things. I was hoping they'd eventually release something, and make complete fools of themselves, but they instead just seemed to quietly drop the project, and no one cares now. Oh well.
Point three has me sweating, but I'll continue to scribble on bus station ads even if everyone tells me I'm acting like a rebelious teen. Yes I made this reply in hopes of external validation, and yes I have proved your point. No, I don't care for I could die this very second. Please feel free to delete this useless reply.