Newsgroups: bit.listserv.pacs-l
Date:         Mon, 21 Dec 1992 08:01:01 CDT
From:         Public-Access Computer Systems Forum <LIBPACS@UHUPVM1.BITNET>
Subject:      Information Age Goods, Pt. 1 of 2

From: bradcox@sitevax.gmu.edu (Brad Cox 703-968-8229)
Subject: Information Age Goods, Pt. 1 of 2

Alan Emtage <bajan@bunyip.com> wrote
>On a tangentially related point: one of the "mind ruts" that I have had
>to try and pull my thoughts out of is thinking of all the information on
>the network as "files" or "documents". In this new and scary world of the
>Internet, information takes on many guises. While much of the data
>currently available still sits on disks on a computer somewhere, we have
>to start thinking in terms of "objects" (for lack of a better word).

As someone who was partially responsible for the enthusiasm for the word
"object" in programming circles, I want to endorse your suggestion as a
definite improvement over "files".

But I encourage you build on the conclusion of my decade of experience in
the world of objects by going much further than the object-oriented
programming community has yet dared...much, much further indeed.

Instead of "objects", why not why not call them "goods"?

(Choke! Gasp! Is this a paradigm shift I hear?) Yep, that's right.
"Objects" are electronic goods; products of human sweat, blood and tears.
Goods that other humans must pay good money to buy. Otherwise you won't
have any goods for this information age infrastructure to carry; no water
for the plumbing to convey.

I've attached an article that explains why this notion is a *Good Thing*
and outlines an techno-administrative approach that a Japanese
industry-wide consortium is exploring.

Their idea seems completely outrageous if you think of personal unconnected
computers; the established paradigm of today. But think of the computer and
telecom infrastructure as information age plumbing; something that ordinary
people just tolerate in order to get the water, the electronic "objects" or
"goods" that the plumbing conveys.

--
  Brad Cox; bradcox@sitevax.gmu.edu; 703 993 1142 secy 703 968 8229 evenings
 George Mason Program on Social and Organizational Learning; Fairfax VA 22030

Copyright 1992 by Brad Cox; All Rights Reserved Sun, Sep 27,
1992

What if there is a silver bullet
and the competition gets it first?

Brad J. Cox, Ph.D.
Journal of Object-oriented Programming; June 1992
Dr. Dobb's Journal; Oct 1992

Few programmers could develop a compiler, word processor or
spreadsheet to compete in today's crowded software market.
The cost and complexity of modern-day applications exceed
the financial and intellectual capacity of even the rarest
of individuals. Even large-granularity sub-components like
window systems, persistent object databases and
communication facilities are more than most individuals could
handle. But individuals can build smaller (so-called 'reusable') software
components that others could assemble into larger objects; components as
small as Stacks and Queues.

So why don't we? Why do we drudge away our lives in
companies with the financial, technical, and marketing
muscle to build the huge objects we call applications? Why
don't we start software companies, like Intel, to invent,
build, test, document, and market small-granularity objects
for other companies to buy? Think of the reduction in auto
emission pollution if more of us stayed home to build small-
granularity components for sale! Think of not having to get
along with the boss!

Object-oriented programming technologies have brought us
tantalizingly close to making this dream technically, if not
economically, feasible. Subroutines have long been able to
encapsulate functionality into modules that others can use
without needing to look inside, just as with Intel's silicon
components. Object-oriented programming languages have
extended our ability to encapsulate functionality within
Software-ICs[TM] that can support higher-level objects than
subroutines ever could[COX1]. Such languages have already
made the use of pre-fabricated data structure and graphical
user interface classes a viable alternative to fabricating
cut-to-fit components for each application. All this is
technically feasible already, even though the software
industrial revolution[COX2] has hardly begun.

Yet these technical advances have not really changed the way
we organize to build software. They've just provided better
tools for building software just as before. The pre-
fabricated small components of today are not bought and sold
as assets in their own right. They are bundled (given away)
inside something larger. Sometimes they are bundled to
inflate the value (and price!) of some inexpensive commodity
item, as in Apple's ROM software that turns a $50 CPU chip
into a $5000 Macintosh computer. Sometimes they play the
same role with respect to software objects, as in the
libraries that come with object-oriented compilers.

There is no robust way to market the small active objects
that we call reusable software components, at least not
today. The same is true of the passive objects we call data.
For example, nearly half of our landfill bulk is newspapers
and magazines. This could be eliminated if we could only
break the habit of fondling the macerated remains of some
forest critter's home as we drink our morning coffee. But
this is hardly a bad habit from the viewpoint of newspaper
publishers. If they distributed news electronically, how
would they charge for their labor?

Paper-based information distribution makes certain kinds of
information unavailable even when the information is easily
obtainable. For example, I hate price-comparison shopping
and would gladly pay for high-quality information as to
where to buy groceries and gasoline inexpensively. This
information is avidly collected by various silver-haired
ladies in my community. But they collect it solely for their
own use. The lack of robust marketing mechanisms for such
objects removes any incentive for them to distribute their
expertise to potential customers such as myself.

What if entrepreneurs could market electronic information
objects for other people to buy? Couldn't geographically
specialized but broadly relevant objects like my gasoline
price example be the killer apps that the hardware vendors
are so desperately seeking? Think of what it could it mean
to today's saturated hardware market if everyone who buys
gasoline and groceries started buying computers to access
Aunt Nellie's coupon-clipping acumen!

Information Age Economics

These questions outline the fundamental obstacle of the
manufacturing age to information age transition. The human
race is adept at selling tangible goods such as Twinkies,
automobiles, and newspapers. But we've never developed a
commercially robust way of buying and selling easily copied
intangible goods like electronic data and software.

Of course, there are more obstacles to a robust market in
electronic objects than I could ever mention here. Many of
them are technological deficiencies that could easily be
corrected, such as the lack of suitably diverse
encapsulation and binding mechanisms in today's object-
oriented programming languages, insufficient
telecommunications bandwidth and reliability, and the dearth
of capable browsers, repositories and software
classification schemes. My second book, What, if anything,
is an Object? considers these obstacles in detail to show
that each one could in principle be overcome once suitable
incentives were in place.

The biggest obstacle of all is that electronic objects can
be copied so easily that there is no way to collect revenue
the way Intel does, by collecting a fee each time another
copy of a silicon object is needed. More than any other
reason, this is why nobody would ever quit their day job to
build small-granularity software components for a living.

A striking vestige of manufacturing age thinking is the
still-dominant practice of charging for information age
goods like software by the copy. Since electronic goods can
be copied easily by every consumer, the producers must
inhibit copying with such abominations as shrinkwrap license
agreements and copy protection dongles. But since these are
being vehemently rejected by software consumers, SPA
(Software Publishers Association) and BSA (Business Software
Alliance) are using handcuffs and jail sentences as copy
protection technologies that actually do work even for
information age products like software.

The lack of robust information age incentives explains why
so many corporate reuse library initiatives have collapsed
under a hail of user complaints. "Poorly documented. Poorly
tested. Too hard to find what I need. Does not address my
specific requirements." Except for the often rumored "Not
invented here" syndrome, the problem is only occasionally a
demand side problem. The big problem is on the supply side.
There are no robust incentives to encourage producers to
provide minutely specialized, tested, documented and (dare I
hope?) guaranteed components that quality-conscious
engineers might pay good money to buy. As long as reuse
repositories are waste disposal dumps where we throw poorly
tested and undocumented trash for garbage pickers to
"reuse", quality-conscious engineers will rightly insist,
"Not in my backyard!"

Paying for software by the copy (or reusing it for free) is
so widespread today that it may seem like the only option.
But think of it in object-oriented terms. Where is it
written that we should pay for an object's instance
variables (data) according to usage (in the form of network
access charges) yet pay for methods (software) by the copy?
Shouldn't we also consider incentive structures that could
motivate people to buy and sell electronic objects in which
the historical distinction between program and data are
altogether hidden from view?

End of Part 1 of 2
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU