Subject: FSBs and client-server
From: Ian Lance Taylor <>
Date: 23 May 2000 19:58:46 -0700

Others, notably Tim O'Reilly, have pointed out the increase in selling
software as a service over the web, and how that hides free software
behind an effectively proprietary interface.  Tim has called on these
vendors to open up their code to keep the ecosystem healthy.  I don't
know to what extent this has happened, if at all.  (Tim, sorry if I'm
misrepresenting your views.)

I was thinking about this recently.  It occurs to me that what is
happening is that we are returning to a client-server architecture.
Client-server was itself a return to the mainframe architecture.  In
fact, computers move in a wave from centralization to decentralization
and back.

Once we had mainframes.  People submitted their jobs, and they were
executed on a single central computer.  (Centralization).

Then we had minicomputers.  People shared them, running their own
programs in timesharing.  (Decentralization).

Then we had cheap workstations, or client-server.  People used
workstations with local processing to run programs loaded from a
single server.  Control of the server implied control over which
programs people could run.  (Centralization).

Then we had personal computers and powerful workstations.  Each person
had their own computer, running their own programs.

Obviously this history is mixed up, as multiple trends happened
simultaneously, and lots of other things happened too.  I'm making a
rhetorical point.

Now we're moving back to centralization, as people use browsers to
connect to services provided from centralized systems.

Libre software is most meaningful during a decentralization phase.
When control over which programs are run resides with the end user,
libre software is an enabling force.  When control over which programs
are run resides in a central system, libre software is mainly of
interest to the central system administrators.

When Tim suggests that providers of centralized systems should make
their software libre, he is going against the grain.  They want to
retain control of their software.  Tim is suggesting that they should
free it up, which leads to a loss of control as other people start
providing similar services.  Why should they do this?  Because they
are part of a centralization phase, their instinct is to retain
centralized control: to take those parts of their software which are
useful for others and to sell them as a centralized service as well.

Naturally we should all keep encouraging these centralized providers
to open their systems.  It might happen.  Arguing for it costs little.

What's interesting to me right now is to speculate about the wave of
decentralization which should follow the current wave of
centralization.  What will it look like?

Perhaps as more web services arise, they will start to commoditize.
They will then become services which are simply available on the net.
Rather than going to a particular web site, you will tap into a
particular service.  Today we can see this in a few services such as
DHCP and NTP.  Perhaps other services will commoditize, such as
e-mail, chat, credit card authorization (leading to general net
services for purchase of generic items), newswires, stock trading,
other things I'm not thinking of.

Decentralization will consist of a small but powerful system which can
tap into these network services and present them in clever and useful
ways.  Libre software will flower even more as people trade around
improved access and visualization engines.

Probably something entirely different will happen.  But I find it
interesting to think about.