Powernet Services 1988 (Pty) Ltd v Government of the Republic of South Africa (559/1995) [1997] ZASCA 82 (26 September 1997)


REPUBLIC OF SOUTH AFRICA

IN THE SUPREME COURT OF APPEAL OF SOUTH AFRICA

CASE NO. 559/95

In the matter between

POWERNET SERVICES (1988) (PTY) LTD APPELLANT AND

GOVERNMENT OF THE REPUBLIC

OF SOUTH AFRICA RESPONDENT

BEFORE: VIVIER, NIENABER, HARMS, SCHUTZ and

PLEWMAN JJA

HEARD: 19 SEPTEMBER 1997

DELIVERED: 26 SEPTEMBER 1997

SCHUTZ JA

2

JUDGMENT

SCHUTZ JA:

The overriding question is what interpretation is to be placed upon two clauses in a specification which was included in a contract for the supply of a computer system by the appellant ("Powernet") to the respondent ("the government"). The contract was concluded in 1989. What was supplied did not satisfy the government's requirements, which led to its cancellation of the contract on 7 March 1991. The government thereafter claimed restitutionary relief in respect of the payments it had

3

made, which relief was granted by du Plessis J in the Transvaal Provincial Division.

Where the fault lay depends upon whether the government's specification failed to state what it needed, or whether Powernet failed to supply a system which complied with a sufficient specification.

The two relevant clauses in the specification have no plain meaning for those unskilled in computer science and its specialised language. Comprehending them may be rendered more easy by an approach through the background facts. Background

The government's primary reason for acquiring the system was to handle the 1991 census. This was made known to potential tenderers,

4

including Powernet, by one Terblanche of the Central Statistical Services ("CSS") before the specification was drawn. It is his unchallenged evidence that he told Powernet representatives a variety of things. I shall confine myself to those which are clearly background facts or facts of an identificatory nature (if there be a difference). There would be millions of census forms, which would initially be entered by operators on some 260 terminals (250 were later specified). Each operator would have before him a screen and a keyboard. He would enter (capture) information from a census form which would then be displayed on the screen. This would be done by means of a program which had been written (developed) for that specific purpose. The program had to provide for "interactive editing" of the data. This means that if the

5

program should detect an error in the entry it would display a call for a

correction on the screen. The operator would have to correct the error

before proceeding. After doing so he would send off (write off) the

corrected data to be stored in the database of the computer to which the

260 terminals would be linked. This computer would be included in

the tender. I shall call it "the Powernet computer". Powernet's

representatives were also told that it would be required of them to supply

a program which would allow the government's own programmers to

write the program already referred to, namely the one which would pilot

the terminal operators. I shall refer to this second program as the

"capture and edit program". The Erst program, the program for writing

that program, I shall refer to as the "Powernet program." The

6

representatives were told that the Powernet program had to be written in "fourth- generation language". I shall explain this expression later. The reason for this requirement, as was explained, was that the government's programmers were not highly trained. They would cope more easily and speedily with a program written in that language. As data accumulated in what was to be the Powernet computer, it would be transferred to the government's main frame computer, which had sufficient memory to store the entire census data. A further requirement for tenderers was to supply a control system, also a program. It would allow the extraction from time to time of information on a variety of subjects in classified form.

Handling the census would take about eight months. Terblanche

7

explained to the representatives what the system should be capable of being used for after the census had been completed. The Powernet computer would be used as a "general frontend processor", to perform a variety of less complex statistical tasks. They would be of a diverse nature, entailing the use of a number of different programs written by the government's programmers (whereas only one program, also written by the government's programmers, was to be used for entering the census data - the capture and edit program). In computer language, the equipment had to be capable of "multitasking". The Terms Of The Specification

So much for the setting. Now the words. I quote from the specification, leaving out what is irrelevant. The emphasis supplied is

8

mine. So are the small Roman numerals introduced into clauses 2.1 and

2.2 for the sake of easy reference. "Comments" were inserted by

Powernet and form part of the tender. The specification follows, to the

novice, a formidable agglomeration of words:

"ANNEXURE B SYSTEM FOR CONTROL, DATA CAPTURE AND EDITING

COMMENTS

1. The data are to be captured and edited
(interactively within a period of 35 weeks

System will handle 1.1 The equipment and software to be

bougth will also be used as a general ...
type of frontend precessor for
statistical purpose . . .

2. Proposed System.

2.1 A processor or network of processors

(i) Support 250 datacapturing

workstation Comply

9

(ii) schedule 50 application task in ...

(iii) perform 20 transaction per second...

where a transaction can be defined

as the execution of an edit program . . .

which results in the writing of

messages to a screen or record to

a file (iv) . . .

(V) ...

(vi) . . . 2.2 The following must be included as

options in the tender. (Prices must

be specified separately.)

(i) 1.5 Gigabyte disc capacity Comply -

(quote for 1 gigabyte as well). see attached

schedule

(ii) . . .

(iii) . . .

(iv) . ..

(v) 250 standard terminals/ Comply - see micro computers with attached datacapture keyboards... schedule

(vi) a 4th generation programming

10

management software if Comply - see

needed separately,..., attached

which will be suitable for the schedule. "ORACLE"

development of edit and RDBMS proposed

(vii) courses training in 4 th Comply - see generation language schedule

2.3 Any other equipment and software

needed to commission the system Comply must be included in the tender.

2.4 Delivery of the processor, sufficient
software and workstations to allow
program development, should
preferably take place before

28 February 1989 Discussion

2.5 Preference could be given to

presentations which allow for the Rental option

rental of a number of workstations included - see

for a period of 8 months. (± 150 schedule
workstations are for rental

11

purposes).

2.6 Alternative configurations

will be considered ...

2.7 ...
3.

4 The supplier is responsible for

complete commissioning of hardware,

software and operating system

delivered according to the

tender Comply

In the schedule referred to under Comments the computer (or frontend processor) tendered (clause 2.1) is described as a model 7952 -"Datapoint 32 bit super mini computer system with 6 x 20 MHz interleased symmetrical parallel processors." Evidence explained this as six computers linked together. The software consisted of:

RMS/XA - described as Resource Management System

12

Extended Architecture Operating System software.

(In a product overview prepared by Powernet this was described as a multi-user, multi-tasking networking system allowing "full resource sharing of peripheral, workstations, disks, tape systems, data and even memory")

Oracle RDBMS (a relational database management system.) (Margolis Personal Computer Dictionary 2 ed defines a database as "a collection of information organised in such a way that a computer program can quickly select desired pieces of data. You can think of a database as an electronic filing system". A relational database he defines as one that stores data in the form of a table, and a database management system (DBMS) as "a collection of programs that enables you to store, modify, and extract information from a database." The RDBMS contained in the schedule is what is tendered in accordance with the requirement in clause 2.2 (vi)).

Oracle SQL*PLUS (described as a fourth-generation

development system).

(SQL stands for structured query language. This is the fourth-generation programming language offered under sub-clause 2.2 (vi). Margolis (op cit) describes

13

fourth-generation language in the course of his entry entitled "programming language":

"A vocabulary and set of grammatical rules for instructing a computer to perform specific tasks . . . Each language has a unique set of keywords (words that it understands) and a special syntax for organising program instructions.

High-level programming languages, while simple compared to human languages, are more complex than the languages the computer actually understands, called machine languages.

Lying above high-level languages are languages called fourth-generation languages (usually abbreviated 4 GL). 4 GLs are far removed from machine languages and represent the class of computer languages closest to human languages.")

As stated above, 4 GL is easier to use than earlier generation

languages and can be used by less highly trained programmers. On the

other hand, a program written by 4 GL uses more memory and slows

down the operation of the system.

14

The schedule also provides a daily rate for training in Oracle RDBMS and Oracle SQL*PLUS (for which provision is made in clause 2.2 (vii)). Issues Of Interpretation And Their Resolution

Many of the expressions used in the specification are technical, and in accordance with the rule often associated with Sassoon Confirming and Acceptance Co (Pty) Ltd v Barclay National Bank Ltd 1974(1) SA 641 (A) at 647 E - F, I have regard to their specialised meanings. In doing so I refer not only to explanations given in evidence, but also to some of the technical dictionaries, such as Margolis (already cited), Pfaffenberger Que's Computer User's Dictionary 3 ed, Lay et al Die Beginsels van Handelsdataverwerking, Longley and Shain Dictionary

15

of Standards Concepts and Terms, Parker McGraw - Hill Dictionary of Scientific and Technical Terms 5 ed and Chandor The Penquin Dictionary of Computers 3 ed. The background facts already sketched will also be taken into account.

At the outset it should be observed that the heading "System for Control, Data Capture and Editing" indicates that the product supplied will have to perform the three functions listed, the meaning of data capturing and editing already having been made apparent. But the product also has to comprise a system. A "computer system" is defined by Margolis as "a complete, working computer. The computer system includes not only the computer, but also any software and peripheral devices that are necessary to make the computer function." Consistently,

16

clause 2 is headed "Proposed System." Contained within it is clause 2.1,

which deals with hardware and clause 2.2 which deals with software and

appurtenances. Further emphasizing the requirement of a complete

system are clause 2.3 ("any other equipment or software needed to

commission the system") and clause 4 ("complete commissioning of

hardware, software and operating system . . .")

A further feature is that paragraphs 1 and 1.1 do not purport to

specify what is to be supplied. Rather do they indicate what work the

system is to do - what it is to achieve. They could be rewritten

somewhat like this:

"1. The data contained on the 1991 census forms are to be entered in the computer after being corrected where necessary by the terminal operators, who will be guided by a program.

17

1.1 After the work on the census has been completed the system (the hardware, the software and the ancillary equipment) will be put to use for general statistical purposes."

Sub-clauses 2.1 (i), (ii) and (iii), 2.2 (vi) and 2.3 - which are the ones that are important in this appeal - are mainly non-specific. The specification says what the equipment, hardware and software, must be capable of doing. It does not define the items, although once a particular item has been tendered and accepted it must, of course, be supplied. But that acceptance does not derogate from the requirements as to what it must be capable of doing. However, amidst the generality there is precision about computer language. The question, as will emerge, is, to what does this precision extend?

It is these sub-clauses of clause 2 which give rise to the issue in

18

the case. Shortly stated, it is that the government contends that the contract requires that the capture and edit program for the 1991 census was to be developed by means of a 4 GL programming language which was to be supplied by Powernet. Powernet, on the contrary, contends that the contract did not make 4 GL obligatory for this purpose, that it was entitled to supply some other language. The significance of the issue is that it is common cause that the programming tool supplied, SQL*PLUS, although a 4 GL, was not adequate to allow the requirements of clauses 2.1 (as interpreted by the government) to be met. That is, using SQL*PLUS the equipment was not able to support 250 datacapturing stations simultaneously (refer to 2.1 (i)) while performing 20 transactions per second (refer to 2.1 (iii)). This last-mentioned clause

19

is concerned with the speed at which the equipment was required to operate. Referring back to clause 2.1 (i), it is common cause that the datacapturing stations mentioned are the terminals. The "support" of them by the processor consists of the service provided to the terminals and their operators by way of editorial guidance and data capture. That the support had to be provided to all 250 terminals simultaneously is conceded.

In order to arrive at its conclusion Powernet maintains, indeed, has to maintain, that the contract does not require that the 4 GL mentioned in clause 2.2 (vi) should be supplied to develop the capture and edit program which will be used when the processor supports the 250 terminals during the processing of the 1991 census. That contention

20

raises two questions: first, what the 4 GL was for, and, secondly and more immediately, what language was to be used for developing the capture and edit program. This second question Powernet answers in two complementary ways. The language is to be found (unspecified) in clause 2.3. That language formed part of the "software needed to commission the system". The decision rested with Powernet. There was no exact prior specification. And what of the specific mention of 4 GL in clause 2.2 (vi)? One answer was advanced in Powernet's heads of argument. Although it was not pressed in oral argument I shall deal with it to get what may remain out of the way. It is that there was no obligation that 4 GL was to be supplied at all. It was merely one of the "options" which might be ordered in terms of the opening words of

21

clause 2.2.

There are difficulties in concluding that Powernet had an "option" in the sense suggested. Powernet had no choice about the matter. Clause 2.2 said that 4 GL "must be included" (see the opening words of the clause) in the tender. It may be that the government then had the option to acquire the items specified in clause 2.2 elsewhere. But that did not happen. Powernet's tender was accepted. It thus became obliged to supply a 4 GL. Thus one is not driven to the generalities of clause 2.3 to find a language, as Powernet would have it. It is there, specified, present, in clause 2.2 (vi). A further reason why Powernet had to supply a 4 GL is provided by clause 2.1 (ii), which as will be seen below is heavily relied upon in Powernet's argument. However one reads that

22

clause it clearly envisages that a 4 GL would be installed, for whatever it might be used. There is a further reason why there is no substance in the "option" argument, at least once Powernet's tender had been accepted. Included in the matters specified in clause 2.2 are the tape drives, printers, the 250 terminals and the software (see (ii) to (vi), not all of which have been quoted above). What had to be supplied was a "system", the meaning of which has been explained. There could be no system capable of performing the required work without these components. So much for the "option" argument.

Powernet, as has been seen, resorts to clause 2.3 as the language font. Confining oneself to that clause of three lines, there is a reason within it which make that conclusion an unlikely one. What is provided

23

for is equipment to commission "the system". A system can hardly be a system without its basic software. The premise is that the basic software has already been specified. If that be so, the place to find it would seem to be clause 2.2.

Then there is the consideration that the 4 GL and the DBMS specified in clause 2.2 (vi) must (both) be suitable for the development of edit programs. The clause says so. There is no reason that I can see why the contemplated edit programs should not include the one needed for the census, for which provision is made in clause 1 ("to be captured and edited interactively"), and also presumably clause 2.1 (iii) ("a transaction can be defined as the execution of an edit program"). Indeed the reverse is true. The primary reason for the government buying the

24

system was to process the census and Powernet was fully aware of that

fact. There is thus a very good reason to give the more inclusive

meaning to "edit programs" in clause 2.2 (vi). Perhaps even more to the

point is the heading of the specification "System for... data capture and

editing." To my mind it is plain that this "system" was to be used for

the capture and editing of the census data provided for in clause 1. The

software provided for in clause 2.2 (vi) was part of this system, so that

the natural reading of the whole specification is that the editing referred

to in that clause included the editing of the census data.

All of this reveals what is Powernet's answer to that which I posed as the first question, some way back, what was the GL in clause 2.2 (vi) for? That answer is that it was for edit programs other than the one to

25

be used for the census. That is a strained meaning that the clause standing alone does not bear. If it does indeed have that meaning, it will have to be found elsewhere. Whether it is to be found elsewhere is a subject to which I shall return.

Another indication of the difficulties in the Powernet argument is this. Clause 1.1 says that "The equipment and software...will also be used as a general type of frontend processor ..." Following after clause 1 the words "The" and "also" suggest that the same software would be used in later applications as had already been used in processing the census. If that be so then there is little or no basis for the supposed distinction between the non-applicability of 4 GL to the initial capture and edit program and its applicability to later such programs. Nor would

26

one expect to look for the software for the initial program in clause 2.3 and for the later programs in clause 2.2 (vi). One would expect to find provision for both in the latter clause, which deals with software. Nor does the fact that clause 2.3 envisages the provision of software additional to that specified in clause 2.2 (vi) detract from this conclusion. For instance, the tender of RMS/XA (the general resource management system) was not a response to a specific request. Something of this sort was an essential component of the system and its inclusion was clearly a response to the general requirement for a complete system in clause 2.3. There was a need for a clause 2.3 to cover this sort of case. By contrast the requirement for 4 GL was specific. Not any computer language would do. It is difficult to accept that such specificity was

27

intended to lapse into the generality of clause 2.3 when it came to making provision for the very first and immediate function that the system was to perform. The more is this so when one has regard to the schedule attached to the specification. The three items of software provided for are (1) RMS/XA, (2) Oracle RDBMS and (3) Oracle SQL*PLUS. Where is one to find the language to be used for the census capture and edit program? Certainly not under (2), which is a data base management system. Nor does it nestle naturally into (1), which is the operating system software. Its natural place is under Oracle SQL*PLUS, which is described as a 4 GL "development system". There is no hint that it is to be used to develop one class of program but not another, particularly the one, to re-iterate, on which immediate attention was

28

focused by Terblanche.

The conclusion that 4 GL was to be used in developing the capture and edit program is re-inforced by clause 2.2 (vii) which provides for training in both 4 GL and DBMS software; and by clause 2.4 which requires delivery of sufficient equipment and software by a date which will allow such training to take place. Clause 2.4, unlike 2.2 (vii), is not an "option" clause. It unmistakably imposes an obligation.

In the end Powernet's case is reduced (this was readily conceded in argument) to a reliance on clause 2.1 (ii) (". . . a network of processors that can: . . . schedule 50 application tasks in a fourth generation language"). It will be recalled that up to the date of cancellation the processor was unable to support 250 terminals while

29

performing 20 transactions per second with SQL*PLUS. Powernet's argument is a simple one. The only provision as to the extent to which the system must be able to handle 4 GL while performing 20 transactions per second is clause 2.1 (ii). (I use the neutral word "handle", while avoiding both "support" and "schedule".) It requires only 50, not 250 terminals to be handled. Clause 2.1 (i) by contrast makes no mention of 4 GL, so that there is no requirement that the processor be able to handle 250 terminals at once whilst using a program written in 4 GL.

The government's response is equally simple. Clause 2.1 deals with hardware. Language forms part of software, so that one would not expect to find a specification of language in clause 2.1 (i). What it deals with is the number of users it can accommodate at the same time using

30

one program. As more than one user is envisaged, it provides for a "multi-user system". As far as clause 2.1 (ii) is concerned, although it mentions 4 GL, it also does not specify a language. It, like the preceding sub-clause, is concerned to define the processor's capacity in a certain situation. The situation envisaged, so the government contends, is handling 50 different programs connected to at least 50 terminals at the same time, using 4 GL - that is use as a "multitask system". The reference to 4 GL is not a specification of software (continues the government"s argument) but a specification as to the capacity of the hardware when 4 GL is used, because 4 GL demands greater hardware capacity than lower level languages.

There seems to me to be substance in the government's

31

contentions. Clause 2.1 (ii) by statement, and clause 2.1 (i) by silence, would be a strange place to specify language software, particularly by specifying exactly the one and not at all the other. It would be strange also, that the capacity of the processor should be differently evaluated for different languages without as much being said, and without any attempt to tie these clauses up with clauses 2.2 (vi), which does specify language software. Powernet's argument treats clauses 2.1 (i) and 2.1 (ii) as capable of being contrasted with one another, as if the former dealt with a number (250) in a case where an earlier generation language could be used, whereas the latter deals with a lesser number (50) where 4 GL must be used. Reading the contract as a whole a contrast was never intended. Both deal with the capacity of the system. Clause 2.1 (i) deals

32

with the number of terminals capable of being served simultaneously and 2.1 (ii) deals with the number of application tasks capable of being scheduled simultaneously. I find the Powernet exercise in interpretation very strained, driven, it seems, by the desired conclusion rather than the ascertainment of the true intention.

There was much debate both in evidence and in argument about the expressions "schedule" and "application task". Chandor defines "scheduling" as "the operation of the sequences and priority in which jobs are to be run, and the allocation of resources to jobs." A "task" is also called a "job". I do not propose following the debate on application tasks in detail. Suffice it to refer to Lay's entry "multitaakverwerking -multitasking" which reads:

33

"Die gelyktydige gebruik van dieselfde rekenaar om verskeie en verskillende inligtingsverwerkingstake te verrig. Elke

the gelyktydige gebruik van dieselfde kopie van 'n program deur verskeie gebruikers". (Own emphasis).

In other words, the performance of a number of tasks at the same

time can consist of either multi-using or multitasking. Once that is so

there is nothing to prevent clause 2.1 (ii) being construed as dealing with

a multitasking situation. (In argument it was conceded that this is a

possible construction). Indeed there is positive reason to interpret it as

referring to multitasking, particularly as it seems to be used in contrast

to clause 2.1 (i), which clearly deals with multi-using. But even if that

is not so Powernet's argument is reduced almost to nothing because of

the existence of the ambiguity as to which is intended. That argument

34

treats clause 2.1 (i) as dealing with multi-using by 250 operators using a program developed in a language other than 4 GL. The argument proceeds to contrast that sub-clause with clause 2.1 (ii) which, so it is said, deals with multi-using by 50 operators using a program developed in 4 GL. However, once it is conceded, as it was, that clause 2.1 (ii) may be concerned with either multi-using or mutitasking the antithesis relied upon is not necessarily present. If the whole of the rest of the specification favours the government's argument and the negation of it, upon which Powernet places its entire weight, may or may not be present, there seems to me to be no sufficient basis for venturing that it does exist so as to contradict the rest of the document.

Accordingly I am of the view that clause 2.1 (ii) does not for a

35

moment detract from the other reasons which I have expressed for reaching my conclusion: which is that on a plain reading of the specification, seen against its background, the government's contention is the correct one. I have done so without having regard to Terblanche's evidence that he told the Powernet representatives that after the census the system had to be capable of scheduling 50 different programs simultaneously. This may be part of the negotiations and not mere background, but there is no need to probe the matter further.

Accordingly I find that the specification means that 250 terminals should have been capable of being used simultaneously so as to perform 20 transactions per second while connected to a fourth-generation programming language, a fourth-generation database management system

36

and the capture and edit program for the 1991 census developed with a fourth-generation language.

As what was supplied failed to meet this standard and the contract contains a lex commissoria the government was entitled to cancel it.

A few other matters need only brief mention. Subsequent Conduct Of The Parties.

If the specification should be ambiguous (I do not think that it is) then reference can be had to how the parties themselves interpreted it by their common conduct: MTK Saagmeule (Pty) Ltd v Killyman Estates (Pty) Ltd 1980 (3) SA 1 (A) at 12 F - G. The evidence shows that after the inadequacy of the system supplied had become apparent, and Powernet had sought to remedy matters, it never once suggested that the

37

error lay in the specification, or that there was no obligation for the capture and edit program to be written in 4 GL. This despite an extended period of tests, meetings, letters and incisive complaint, ending in an ultimatum to perform or face cancellation. It would serve no purpose to detail this evidence - imponere Pelio Ossam. If one does have regard to it Powernet's position is made, if possible, worse. Sundry

In the light of the conclusion I have reached on interpretation it is also not necessary to explore Powernet's further contention that it complied with the contract by its belated offer of a "Databus" program.

The government relied on further grounds as justifying its cancellation: late delivery, malfunction and non-installation. These

38

matters were not dealt with by the Court a quo, and it is unnecessary to deal with them in this Court.

Powernet's remaining counterclaims depend upon the government's cancellation not being justified. That is not the case.

A final comment. It may astonish the reader to hear that the record is 1596 pages long. Despite that there was uncertainty, even in argument in this Court, about the meaning of some concepts and the workings of the computer in question. This case is about the interpretation of a contract, but a contract dealing with a subject with which not all are fully familiar. Those matters, meanings and workings, should have been in the forefront and the record should have been much shorter. Also, it needs to be emphasized again that cases concerned with

39

technical subjects are tried by lay tribunals and go on appeal to a lay

appeal court. Technical matter is not always easy to make clear. But it

must be done. Otherwise a litigant may find a modern court responding

much like the Glossators of old - who had Latin but not Greek - Graeca

non loguntur.

The appeal is dismissed with costs.

W P SCHUTZ JUDGE OF APPEAL VIVIER JA) NIENABER JA) HARMS JA) CONCUR PLEWMAN JA)

▲ To the top