Sucky Software

I've followed this thread with interest. Several posters have put the case
for a balance being needed between the quality and cost of a piece of
software. I'd like, very briefly, to note here that my own antipathy towards
'sucky' software is based mainly on ethical considerations rather than
economic ones.

It is my assertion that the number of categories of software in use in our
society which are critical (to people's health, lives, livelihoods, and
well-being) is steadily increasing. To such obvious categories as aircraft
flight control software and computerised medical devices could be added
Internet service software (keeping people's credit card numbers secure, for
example), multi-media decoding software (upon which many entertaineers'
careers can become dependent), operating systems (upon which other critical
software ends up becoming dependent), and a plethora of others.

To my mind, it is should not be acceptable that economic forces alone
determine the quality of this critical software, in the same way that such
forces should not solely control, for example, aircraft safety or medical

One might claim that the forces of litigation form a good, and perhaps
sufficient, economic balance. I'm not arguing for or against this, but if
it's to be the model for our society (and I'm lumping the US and UK together
here :-o ;-) I'd like to see software consumers become more litigious.


Some strong views have been expressed here about the GPL, as ever. I'd like
to throw in some of my thoughts.

I believe the real legal effect of the GPL is a somewhat nebulous thing,
since (to my knowledge) it has never been tested in any court, yet. This is
my own greatest concern about the GPL.

Describing the GPL as "a wrecker of intellectual property", whilst
essentially true, could be countered (at the opposite extreme) by an
accusation against intellectual property (its concept and enforcement) as
being a wrecker of social responsibility and/or scientific ethics. To use
more emotive language, one might accuse it of being a "mandate for greed".
Now, I wish to emphasise, that my own viewpoint falls somewhere between
these two extremes: I am in favour of an enforced system of intellectual
property, but I feel that the current typical regime (e.g. in the US and in
the UK) needs to be 'reigned back' somewhat (e.g. being stricter in the
granting of patents, and granting 'short' patents for certain processes); I
prefer a pragmatic attitude to intellectual property, as opposed to
'religious' arguments.

As for publicly funded software being released under the GPL, I agree with
others who have posted on the subject that it would be right to do so in
some cases, and not in others. In a case where it would be necessary for the
project to be under the GPL in order to attract the kind of contributors it
needed to succeed, then clearly it would be silly not to do so. On the other
hand, in a case where the value of the project to society would be (likely
to be) substantially diminished by releasing it under the GPL, it would
clearly be folly to do so. Surely what is needed is good decision-making on
a case-by-case basis, not a fixed policy one way or the other?

Quick & Dirty Interfaces

J. F. Harrison made a point close to my heart, as the AdaOS project will
inevitably need a 'QDI' capability.

Ada can sometimes be an excellent prototyping and 'quickie' language, but
there are certain basic characteristics of Ada that often make it unsuitable
for QDIs:

(1) Ada is not really 'reflective', a property valuable to a RAD
environment, in that it that it makes it easier to manipulate and extend the
environment according to the developer's taste and special requirements;

(2) the Ada language is very verbose, which is as inappropriate for
'quickie' programs as it is advantageous for longer-lived ones;

(3) Ada is not interactive, and an interactive morphology (e.g. ACE) tends
to end up being substantially different to the compiled language whilst
retaining much of the the unwanted verbosity.

I am favouring a 'tiny' form of Smalltalk, at the moment, to fulfil a
QDI/RAD/VDE/shell/macro-language role in AdaOS. Remember, AdaOS will be
based heavily on CORBA, and the OMG-defined Smalltalk CORBA interface is
pretty neat. Comments welcome.

Nick Roberts