Re: Social Contract GR's Affect on sarge
On Tue, 27 Apr 2004 19:20:26 +0200, Thiemo Seufer <email@example.com> said:
>> I don't think that this debate will terminate because I don't think
>> that it is possible to come up with a definition that will decide
>> every case. There is a clear difference between programs and data
>> in many familiar computing situations; in other situations there is
>> no clear difference.
> Name one such situation.
I am glad you asked.
I, too, feel that the distinction between data, documentation, and
program code is far from clear, with large amounts of grey areas. I
have a program (for my day job), where we have pluggable probes
deployed by a sensor program, as and when the sensor deems
fit. Initially, the sensor does not know how many probes have been
installed on the local machine, it goes out and discovers the number
and nature of the probes in an initial resource discovery phase.
Each probe, when installed, installs an XML document that can be
converted into HTML or PDF by applying a simple xsl transform; this is
where all the documentation about the probe lives. Sounds like this is
The sensor reads the same file, applies another xsl transform, and
gets to know the capabilities of the probe, and how to classify it,
and publishes the data to a central trading service. Sounds like
configuration data, no?
Now, when a request for data comes in, a generic probe handler is
deployed, which reads the same file, applies a transform, and is
handed a series of instructions on how to deploy the probe and
communicate with it. Sure sounds like program code.
The documentation of the probe lists the access methods and protocols
that one can talk to the probe; this is the documentation part. The
sensor parses the same bits to determine the capabilities of the
probe, and publishes that as data to a central trading service. The
very same bits are read by the generic probe handler, and with an xsl
transform, is handed a series of instructions to deploy the probe. In
all these use cases, exactly the same set of bits is used.
Then comes the matter of literate programming; I have a project QMS
where all the printed documentation, HTML pages, manual pages, etc are
extracted from program code using doxygen. There are several other
literate programming mechanisms, where the code and documentation are
If we cannot disambiguate data, documentation, and program code, we
can't defend the premise that there are rigid classifications of
software which are feasible. If we cant distinguish between code and
documentation, how can we aver that different freedoms are attached to
"Inferiority complex: a conviction by a jury of your fears." anon
Manoj Srivastava <firstname.lastname@example.org> <http://www.debian.org/%7Esrivasta/>
1024R/C7261095 print CB D9 F4 12 68 07 E4 05 CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C