[Home]WhatIsSoftware

MeatballWiki | RecentChanges | Random Page | Indices | Categories

Summary

Software is machine; software is text; software is both machine and text. The machine and text category collapse is a direct result of the Turing machine where data is code is data, and here we refer to data as text. There is no other way to view software until we have a deeper theory of it all, and then we will have even fewer categories.

Here is a loose outline of the place software fits into our models.

Software is machine

Clearly, software is machine. On an industrial robot, the software plays the central role in determining the behaviour of that robot (--> cybernetics). In a bureaucracy, software moves paper around, and by extension people and capital. On a simple level, software performs actions on our computer. It isn't quiescent or socially negotiated. It can act directly, without humans to act it out. Software coupled with hardware coupled with power is a machine.

On a general computer, software is not tied to the hardware like it is to an industrial robot. We can download new software and run it on our hardware. Thus, in an effective sense, since we provide a clean separation between the hardware&power and the software, we can make the philosophical claim that software is machine.

Software is text

Software is text. Unlike a physical machine, it is composed of the same stuff that we compose essays with, in the same manner, in the same domain, in exactly the same way. But legal documents are different than recipes as legal documents carry extra weight. The difference is that we can separate the domains of legal documents from recipes so that only a special class of documents are given legal weight, and that separtion is socially negotiated. Only those with signatures of more than one person are considered legal, and they are only legal in a socially validated way--through the court system.

Software is more ambiguous. That you happen to have a machine that can read the software and perform some (intended) action is up to the reader; after all, a recipe is also software except that it requires a human to carry out the instructions. And it matters that we do not consider software at least within reason always a machine since we publish algorithms for academic research. This is different than publishing blueprints since you are transmitting the machine itself.

Software is machine and text

Software is both machine and text together. This gives rise to software engineers that point to the Tacoma Bridge and correlated it major software failures and legitimately claim responsibility must be made. It also gives rise to artists who claim that software is just their artistic idea, an expression, that others can play upon like they play upon their poetry and manifestos. That creates the tension.

Further more, while anyone can build a car in their garage, this is conspicuous enough that not anything will be allowed on the road. However, anyone can build software in their basement, and as long as they do not harm anyone else, that is their own business and joy. It would be immoral to make hobby programming illegal.

It would also be immoral to make small-scale programming illegal short of having an iron ring as small businesses will be unable to develop software to fit their needs, rather relying on generic hand me downs from larger businesses.

Differences with mere text

There are various differences between software (and its documentation), and other forms of copiable content - most notably the LifeInText of an OnlineCommunity.

These are important because they mean that we can't simply follow the simple logic that OpenSource is good for software, therefore OpenContent is good for content. Rather, there are some subtelties involved, and the lessons from software might not be directly applicable to other forms of content. In particular, it's questionable whether the benefits of CopyLeft over the PublicDomain truly apply to anything except software.

Software is tested carefully before a new revision so you never get incomplete "work in progress"

No Interaction quality. The value of software is not in the interaction between the user and the developer, but rather in that between the user and the software. In most other forms of copiable content, the content is instead largely a means for the author(s) to communicate with the users. This is especially true in an OnlineCommunity, where the content itself may be largely incidental.

GatedCommunity. Software projects never get code directly from the public. There are always maintainers who control exactly what gets into the system, typically to a greater degree than on any online community. This is a symptom of a related difference:

Software is fragile. Natural language is remarkably tolerant to spurious changes, odd typos, ambigous text, and so forth. Software is not, and it is entirely possible for a well meaning but inexperienced contributor to effectively destroy a piece of software, rather than improving it.

Software updates are frequently necessary due to the fragility and incompleteness of software, not to mention the engineering ethic of creeping featuritis. Books don't need to be ammended or supplanted if they can be supported by additional sources as the integration is ambiguous and socially constructed rather than formal and logically complete.

Software guarantees nothing - it typically comes with a disclaimer against any warranties, expressed or implied. Some other forms of content do likewise, eg: content about the law, medicine, any medium to high risk activity, graphic content, etc; However, most do not. This is a symptom of a related difference:

Software is risky - buggy software might wipe your hard disk - if you're not backed up that can be very expensive. Buggy software can kill, and frequently does. The potential downside to other forms of content is much lower, because they are mediated by the human brain, which is smarter.

Software is configurable - A good program can perfectly satisfy two groups of users, via configuration. A piece of text cannot, no matter how good.

Ethics

Reading the various discussions about whether or not software should be regulated or that programmers be held responsible for software is interesting because everyone looks at software from one particular pre-software metaphor. The problem is that software is not like anything else, rather it is a bridging object, and thus our ethical categories that remained happily separate now collide and come into tension.

This tension is unresolvable with prior frames simply because each category, machine or text, is incapable of dealing with the problems of the other. We need to first acknowledge what software is and then ask what we want to do with it.

In our society, manufacturers are somewhat responsible for their goods (as criminal negligence and civil disorder are still crimes), so we allow free enterprise and sanction outcomes, but to a limit we decide as a public. Weapons and drugs are controlled, for instance.

If we change our ethical frame to not worry about regulating all software, but to worry about how that software is used, both in machine form and text form, then we might get somewhere. We do claim some speech is illegal, and certain types of software should also be illegal to produce. There are academic ways of discussing racial differences and there are hateful ways. There are academic ways of describing software holes and there are exploitive ways.

Sanity must prevail.

Configurability

High quality textual content is written for an audience (see TheAudience). To RepurposeContent for a new audience requires a significant investment of time, so people won't do it on a whim. A good program can perfectly satisfy two groups of users, via configuration. A piece of text cannot, no matter how good. Different languages are a striking example of that. --MartinHarper

Programs themselves are texts and can be read literarily. Software may be able to satisfy two groups, but maybe not three (or N+1). They remain socially constructed and consequently deconstructable. Also, a piece of plain text--although capable of being read in multiple different ways (related: WhatIsMultiplicity)--can also be modified by software into cybertext, or programmatic text. If your claim is that software can be reconfigured, software can also reconfigure text. cf. CybertextPerspectivesOnErgodicLiterature. Note your example of multilingualness. Software configuration can only switch languages. The translation is still text to text. Similarly, a MultilingualWiki for example may afford WikiTunneling from one page to another in a different language. -- SunirShah

I doubt that ...text cannot.... I think any text can satisfy different groups of users. Doesn't the law and the bible? Configuration seems to be done implicitely by interpretation. -- HelmutLeitner

I believe that a given edition of the bible only perfectly satisfies a specific group of people. --MartinHarper

Probably not perfectly. Also, is there a piece of software that perfectly satisfies a specific group of people? -- SunirShah

Putting the transmission in reverse: text becomes machine in Modernist poetry

From [William Carlos Williams'] introduction to "The Wedge," in Selected Essays of William Carlos Williams (NY: New Directions, 1969), p. 256. (emph. added):

To make two bold statements: There's nothing sentimental about a machine, and: A poem is a small (or large) machine made out of words. When I say there's nothing sentimental about a poem, I mean that there can be no part that is redundant.

Prose may carry a load of ill-defined matter like a ship. But poetry is a machine which drives it, pruned to a perfect economy. As in all machines, its movement is intrinsic, undulant, a physical more than a literary character.

And while Williams refers more to the stylistic precision of poetry analogous to the precision of machine, he also speaks of its machinistic effect and power. Poetry drives the ship. It's strength comes from the power imbued in each word, just as each word in code is given power, albeit ironically more prosaically. In a very direct way, e.e. cummings' poem r-p-o-p-h-e-s-s-a-g-r embodies this, but in taken on this directness, it transcends the point to take us further down the text as machine pipe:

 r-p-o-p-h-e-s-s-a-g-r
 e.e. cummings

 r-p-o-p-h-e-s-s-a-g-r
    who
 a)s w(e loo)k
 upnowgath
   PPEGORHRASS
         eringint(o-
 aThe):l
  eA
      !p:
 S         a
  (r
 rIvInG .gRrEaPsPhOs)
     to
 rea(be)rran(com)gi(e)ngly
 ,grasshopper;

The typesetting may appear here incorrectly; cf. this annotated [proof] by cummings.

This poem is a typographic, sonic, and metaphoric reflection of the industrial process, of the mechanical processes that flowed from total rationalization and then resynthesization. The poem visually appears like a machine. It follows structurally from the processes of a machine; that is, the components of the poem form have been rationalized (words, spaces, punctuation) and those components have been rationalized again until all that are left are typewriter symbols; and then those have been repeatedly resynthesized--"become rearrangingly grasshopper".

Even poems not so overtly troped in machinism could exhibit mechanistic triumph. Take this slightly edited excerpt from F.T. Marinetti's Founding and Manifesto of Futurism (Paris) Le Figaro, February 20, 1909 (translated):

Courage, audacity, and revolt will be essential elements of our poetry. Up to now literature has exalted a pensive immobility, ecstasy, and sleep. We intend to exalt aggresive action, a feverish insomnia, the racer’s stride, the mortal leap, the punch and the slap. We affirm that the world’s magnificence has been enriched by a new beauty: the beauty of speed. A racing car whose hood is adorned with great pipes, like serpents of explosive breath—a roaring car that seems to ride on grapeshot is more beautiful than the Victory of Samothrace. [...]

We will sing of great crowds excited by work, by pleasure, and by riot; we will sing of the multicolored, polyphonic tides of revolution in the modern capitals; we will sing of the vibrant nightly fervor of arsenals and shipyards blazing with violent electric moons; greedy railway stations that devour smoke-plumed serpents; factories hung on clouds by the crooked lines of their smoke; bridges that stride the rivers like giant gymnasts, flashing in the sun with a glitter of knives; adventurous steamers that sniff the horizon; deep-chested locomotives whose wheels paw the tracks like the hooves of enormous steel horses bridled by tubing; and the sleek flight of planes whose propellers chatter in the wind like banners and seem to cheer like an enthusiastic crowd.

What can we say? Software doesn't merely exalt, it embodies the aggressive action, a feverish insomnia, a racer's stride, the mortal leap, the punch and the slap. (cf. MetaphorInversion)


Discussion

MeatballWiki | RecentChanges | Random Page | Indices | Categories
Edit text of this page | View other revisions
Search: