Software

What is software?

This question seems useless, as its answer looks clear to everybody. Yet this is a case of why are you asking? (Winograd & Flores).

From the point of view of SCM, one is interested in "Software Configurations", and more precisely in their "management". This management will drive us to an analysis performed on generic bases, and which identify "configuration items". These configuration items must offer as such universal properties authorizing their management. They must be identifiable as instances of larger families, themselves allowing to describe relationships which will be interpreted as dependencies.
Now, the paradox is that this identification will be tool dependent: there would be no point in refusing to move the responsibility of the control onto a tool, which will guarrantee the validity of the information gathered, its consistency. Not doing so in the name of a separation between specification and implementation would be foolish and dogmatic. Worse, it would contradict the very goal of SCM, by enforcing a weaker management, based upon prescription where description would be affordable.
The paradox is that what is the object of the SCM tool, is only a representation (see Schopenhauer). Software is then restricted to whatever may be matched to its representation, in a formalism supported by the SCM tool. This is the price to pay for objectivity.

At the opposite, is the viewpoint of reuse. Reuse is still more of a wish than of a reality. If one wants to radically distinguish it from "use" --otherwise, one is just paying lip service to fashion--, one is to understand in a strong acception: reuse is non anticipated use, but in a way which doesn't prevent or invalidate previous classical "use". This is tightly bound to the Open-Closed Principle (Meyer) and might be thought as being characteristic of software: only software can --at least conceptually-- be reused.
It is amusing to consider that our opposite point of view are thightly coupled: reuse will happen on the basis of "components", in which it will be tempting to recognize "configuration items".


Public Domain software,
Diverse ToC
Marc Girod
Last modified: Mon Oct 4 09:27:17 EETDST 1999