Click for next page ( 84


The National Academies | 500 Fifth St. N.W. | Washington, D.C. 20001
Copyright © National Academy of Sciences. All rights reserved.
Terms of Use and Privacy Statement



Below are the first 10 and last 10 pages of uncorrected machine-read text (when available) of this chapter, followed by the top 30 algorithmically extracted key phrases from the chapter as a whole.
Intended to provide our own search engines and external engines with highly rich, chapter-representative searchable text on the opening pages of each chapter. Because it is UNCORRECTED material, please consider the following text as a useful but insufficient proxy for the authoritative book pages.

Do not use for reproduction, copying, pasting, or reading; exclusively for search engines.

OCR for page 83
4 Software Software is an important area of computer technology shaping the development of both new hardware and new computer appli- cations. From a functional perspective, two principal categories of software are applications software, which enables users to manipulate data and to solve specific classes of problems, and operating systems, which interface these applications to the computer and also provide for system resource management and security as well as a number of support functions, such as file management. For a given computer hardware environment, a person will generally use one operating system and one to many types of application software. Software can also be viewed from the perspective of user type, a perspective relevant to this analysis. In particular, most soft- ware is either commercialthat is, intended for use in business applicationsor scientific and technicalthat is, intended for use in scientific, engineering, and other technical problem-solving appli- cations that tend to be numerically and computationady intensive. Software used to develop weapons systems, for example, falls in the scientific and technical class, which is characterized by large and powerful programs. Commercial software facilitates such activities as text creation and editing, accounting, and funds transfer. It ranges from generic applications support to inclustry-specific software. 83

OCR for page 83
84 GL OBA L TRENDS IN COMP UTER TE CHNOL O G Y MAJOR TECHNOLOGY TRENDS The software industry has been revolutionized by the arrival of personal computers and the accompanying explosion of software markets (see Figure 4.1~. This has shifted the emphasis of software development from monolithic systems developed by large computer companies toward small inter-operating software components devel- oped by small specialty firms and some larger software houses. It has also furthered the development of standards, resulted in vastly better development tools, and created a greater focus on networking and communications. Commodity Market The most significant recent development in computer software has been the commoditization caused by the arrival of IBM and Apple personal computers and their clones. Fifteen years ago there were essentially no companies whose primary business was to develop commodity software packages. Software was developed almost exclu- sively in large organizations: large computer companies cleveloped software systems that they shipped in packages with their hardware, and other large organizations (e.g., banks, insurance companies, and airlines) developed large application packages for their own internal use. Software tended to be shipped only in small quantities and was often bundled with hardware. In many cases software was given away or sold very cheaply: it served chiefly as an inducement to buy the hardware on which it ran. Today the situation has changed in two major ways. First, the widespread use of PCs has made it possible for software packages to be distributed in enormous quantities. It is not uncommon for a pop- ular software package today to have a million copies shipped, where only a few years ago a thousand copies would have been considered extraordinary. This proliferation of software has been associated with a sizable increase in the number of naive users of computers and soft- ware, in part because many specific applications (e.g., spreadsheets) stimulate broader use of computers. A consequence of this trend has been an increase in databases, themselves becoming commodi- ties in some cases. Another consequence is a steady improvement in the user interface, including increasing accommodation for images as well as text. Second, there are now thousands of smaller companies and individuals developing, marketing, and profiting from software.

OCR for page 83
SOFTWARE . ::::: ~ i..... .... ~ ,. ,~ ,. ..... :::::::::::::::: 85 ..... ....... ..... ~ ...... ..... ........................ .......................................................................................................................................................... . . '''"'''''''''"'''''''''''''''''''''''''''''''"''''''''''''"''''"'''''''''''''"''''''''''''' - $ i. , ... .... .... ................. , , , , ..... ~ _ ....... ~.. . .... . ; ; ; ~ ~ . ..... . . . . .. . _ ................... '''''''""""""'"""""""""""""""""""""""""'~ ~ ~ ~ - it 11~! . ''ll"""''"""'"""""""""""""'""'"'""""""""''""''""""'"""""' ~ ~ . . ..... : : . ~ 3 _ _ . : ~. .: ;; 'a 1 _ _ ~; ~ ~ ~ 1 11 ~ i :.'.'. if_ ~ 1 _ ' '.'.'.'.'.'' "''~. ~ , ~ A: ! ~ ~: . ~. 1 ~ hI ~ ~ ~ ~.~, ~ i ~ ~ ~::~:. :~: ~ ~ ~:. : :: 1 ~ ~5, ~ ~ ~ ~ ~ ~ . ~ 1 ~ ~ . ~ j 3 ~ ~ ~, ~. ~ ~ 11 [ . ~ it _ ~ ~ ~ ~ ~ ~.':~H'l'""''"'' ~ l ~ ~ ~ ~ ........... ~,., 4~ ' ' _ , ,~.=,~.~.~.~ ,., 1, . .,. ~__ .- 1~ ~1~1~.~.~..~ ~~ v ............ ~ ~ ' n''~'' _ , . ~ ~ ~ . - ~ ~ ~ - ~: ;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;:;;;; 3e ~ ; :;;;;; ; . ::: : :::::~:~:~] I..;;;;;;;;;.;;; ; ;; ;;;;;;;;;;;;;; ;;; ;;;;; ;; ;; ;; ;;;; ; ;;;; ;; ;;; ;;;; ;;;;; ;; ;;;; ;;;;; 51 ~ {] I] ;~H ail;;;; : :: :::::::::: :::::::: :::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::. : - .. : : . oo oo - u) o . ~ o v . - to t-:~:. . :: :.:::: :::::::.::::: :::::::::::::::::::::::::: : ~ a::-.: a: ~ ~ .:: : :: ~. :.: ~: ~ of JO o o - u, u, . .C c) ~ - oo a) - u) - u) . . Q3 ~ ~ v I ~ an

OCR for page 83
86 GL OBA L TRENDS IN COMP UTER TECHNOL O G Y Most of them clo not do any hardware development and may depend entirely on software or related services for revenues. A few years ago many people thought that it was not possible to create a large profitable software company; today, companies like Microsoft, Lotus Development, and Ashton-Tate show this thought to be mistaken. Computer Associates, the largest producer of packaged software, earned profits of $102 million in 1987, up from $11.4 million in l9S4 (STutsker, 1988~. Even large computer manufacturers like IBM and Hewlett-Packard have been restructuring their pricing and product strategies so that software can become a revenue source by itself instead of a Toss-leader to bolster hardware sales. Standard Interfaces The commoditization of the software market has been accompa- nied by the emergence of standard interfaces at many levels. Fifteen years ago there was very little agreement among vendors about any- thing: each computer manufacturer had its own self-contained soft- ware systems with proprietary interfaces and no compatibility with any other manufacturer. Today there are dozens of wiclely accepted de facto standards covering such elements as file formats, graph- ics libraries (e.g., Macintosh QuickDraw and the X Window Sys- tem), operating system interfaces (e.g., PC-DOS, UNIX, and OS/2), page-formatting languages (Postscript), and network protocols (e.g., Ethernet, TCP/IP, and AppleTalk). In the realm of scientific and technical software, the use of FORTRAN has brought about an ef- fective standardization, so that it has been relatively easy to move such software to a variety of machines. Increasing standardization does not mean that there is complete compatibility across any and ah systems, but rather that compatibility is growing; it is shaping and shaped by trends in hardware and software. Standarc! interfaces allow different companies to produce interop- erable hardware and software components. This is important because it no longer seems possible for any one organization to produce ah of the software for a particular machine or environment. Attempts to do so have contributed to product failures (e.g., Xerox's Star and Apple's Lisa). Most recent systems have tended to be based on and to provide standard interfaces, so that other manufacturers can develop additional software to enhance the value of the system to users. The openness of the IBM-PC hardware and software, and the fact that those interfaces became standards, are key reasons for

OCR for page 83
SOFTWARE 87 the success of the PC. There is some ambivalence in industry toward openness, however, because it diminishes the value and profitability of proprietary designs by increasing opportunities for competition. Software Components An overall effect of the trend toward commoditization and stan- dardization has been the development of a software components business. Fifteen years ago software was typically distributed in large, monolithic, do-everything systems. Today software is more often marketed in small packages. Spreadsheets, word processors, databases, page layout programs, compilers, network communica- tion, and many other packages are all sold individually by different vendors. Even subcomponents, such as input/output drivers, screen managers, file access methods, and format converters (e.g., LOTUS 1-2-3 to DIF), are being marketed separately. The large volume of potential shipments means that niche products can potentially generate large revenues. When designed to existing standards, new products can be used in existing systems with many other existing software packages, so the new product's designers need not rede- velop an entirely new software environment. The result is that small organizations can turn new ideas into exciting niche products very quickly. Development Tools Tools for software development, aimed p rim ariTy at the software industry, have been one of the major beneficiaries of the software components business. It is now possible to buy a modern language development system with editor, compiler, linker, loader, symbolic debugger, and run-time library for a few hundred dollars. New de- velopment tools are being produced at a dizzying pace. The result is that software technology is fueling itself: new tools shorten the development cycle, which results in more application packages, in- cluding better tools that further shorten the development cycle and so on. There is a trend toward integrating development tools into what are referred to as software engineering environments. These envi- ronments (examples from Europe are discussed below) combine the process of specifying end-user requirements with the process of pro- gramming. They affect software across the entire development cycle.

OCR for page 83
88 GL OBA L TR ENDS IN COMP UTER TE CHNOL O G Y They may also help with maintenance, the error correction en cl up- dating activities that can account for at least 50 percent of the lifetime costs of a piece of software (Hall, 1987~. It is difficult to gauge the full extent of progress in this area because some of the best development tools are not available com- mercially. They are developed by sophisticated companies, often but not always in the computer industry, for their own use and competi- tive advantage. Distributed Systems Another recent trend in software technology is toward distributed systems. The arrival of personal computers and workstations encour- aged networking, because without it each user would be isolated on his or her own machine. Nowadays users expect machines to be able to work cooperatively in a variety of modes ranging from mad! and file transfer to shared network services for printing and filing. Manufacturers without adequate networking software are finding it increasingly difficult to compete (see Chapter 5~. International Software A final technology trend is toward international software (pro- grams or systems that can be used with many different national languages). This trend is still not weD established, but it appears to be slowly taking hold. For example, there is at least one ma- jor manufacturer working on an international version of the UNIX operating system, and Lotus Development distributes software in seven languages. In support of end-user needs around the world, efforts are under way to provide for multinational syntax, multina- tional messages and text, multinational conventions for date, time, and currency, and multinational character sets. However, automatic translation capabilities for software are not likely to be realized any- time soon. Integrated Systems Apart from the trefoils in packaged software, there is still strong demand for special, custom-developed software, typically to integrate large systems of hardware and software. Such software has often been developed in-house by users or by professional service firms (software and systems houses) for firms that cannot or prefer not to develop

OCR for page 83
SOFTWARE their own software. Examples 89 i nclude air traffic control systems, air- line reservation systems, factory automation systems, banking and finance systems, a variety of military-related command and control systems, and also smaller embedded systems such as medical scan- ners and life-support systems. These systems involve processes that take place and are controlled by computer systems more or less in real time, with actions occurring at rates too fast for human intervention. (See Appendix B for a discussion of computerized manufacturing automation systems.) In addition to performing conventional com- puting tasks, such systems are often useful to the degree to which they can quickly and effectively integrate and respond to sensor in- formation. The growth in systems integration software reflects the increasing sophistication and complexity of many larger computer systems. Most integrated systems are quite large. A million lines of code are not uncommon, and neither are price tags of $25 million or so. These systems also tend to be produced in small quantities, ranging from only one or two to tens of copies. In each case, the system is customized. Currently, the United States and Western Europe have major production capabilities and markets for such systems, but competi- tion is emerging from Japanese producers. Key to the success- and possible transfer of this technology are system building tools, methods, and know-how. The tooling is seldom sold or delivered with the end product; systems com- panies guard their tooling like "corporate jewels." The tools in- clude performance simulations, interface specifications, configuration management automation, cost collection and controls, job progress completion tracking, programming environments (i.e., integrated edit-compile-link-build-test-edit software tools), component testing, subsystem integration and testing, system integration and testing, real-environment parametric simulator testing, system installation and testing, life-cycle operation, and maintenance support. Integrated systems tend to have strong dual-use potential. For example, U.S. command, control, and communication systems for Olympics-level sporting competition management would require the integration of high-speed redundant computer mainframes, local area network communications, large-scare graphics displays, numerous display consoles, complex operating systems, communications pro- tocols, database management, and statistical computations. If used by CMEA countries as a sporting system, such an integrated system

OCR for page 83
go GLOBAL TRENDS IN COMPUTER TECHNOLOGY wouIc3 pose little concern. However, with modification, it could also be applied through dual use to military logistics, or military train- ing and exercising. Preventing such use could be achieved through administrative measures, such as by making a sale conditional on a five-year service contract with the U.S. manufacturer and by provid- ing none of the tools or documentation of its internal construction. Such constraints would make it prohibitively expensive in time and labor to reverse engineer the source code. Given the clear strategic value of such systems to their customers, there is an obvious need to establish appropriate controls when the system has potential military importance; and many have some po- tential military use. Because of the immense cost involved in the development of such systems, manufacturers have instituted strict li- censing controls for their dissemination. Moreover, they hardly ever distribute the source code or the tools used to build such systems. Artificial Intelligence Artificial intelligence (AI) is the study of how machines can be made to perform tasks of the kind that require the intelligence of human beings. Making machines behave intelligently involves programming them appropriately and providing them with a suitably encoded database of facts about the domain in which they are to work. The American lead in Al science is probably larger than in most fields of computer science; the most prominent Al researchers are mostly American. In principle, the next major discoveries could be made anywhere in the world, but in fact the conceptual advances have mainly been made in the United States. The U.S. lead is based on an early start in the 1950s and early support by the U.S. Department of Defense via the Defense Advanced Research Projects Agency. An American lead in computer technology was also important, because good computers are important for AT research. However, for the past 10 years, the progress of A] science has been primarily limited by conceptual difficulties rather than by hardware. AI progress depends on a number of elements, such as languages suitable for writing AT programs. Most languages have involved dialects of LISP, but Prolog and its variants have more recently become important. A useful technology of "expert systems" has developed in the

OCR for page 83
SOFTWARE 91 last 15 years, and hundreds of companies worldwide, both compa- nies needing the expert systems and specialist firms working under contract, are involved in exploiting various aspects of it. For many applications, expert systems have to be connected to databases and other programs. Numerous specialized products exist for doing this, especially for making connections to commercial systems based on IBM technology. Fitting the expert system into the user's operations can be a larger task than writing it. Both tasks involve interaction with people possessing expert knowledge of the domain in question. Commercial expert systems "sheds" have recently been devel- oped that make possible more convenient development of expert systems. This is important, because in expert systems, development time and the ability to modify the system are the prime components of cost. Artificial intelligence is also concerned with development of com- puter systems that have some capability to learn, process sensory (e.g., vision and speech) information, control other kinds of machin- ery (e.g., robots), and perform other cognitive functions. BREAKTHROUGH POSSIBILITIES Compared to some of the hardware areas, software appears much less amenable to major breakthroughs. Advances equivalent to the relentless exponential increase in component density that has oc- curred for integrated circuits have not occurred arid are not antic- ipated. Gains in software are likely to come slowly, if at all. This situation is due, in part, to the relatively nonscientific process of soft- ware generation (Computer Science and Technology Board [CSTB], 198Sa). Nonetheless, there appear to be at least four areas in which breakthroughs are possible: concurrent programming, formal tech- niques, nonprocedural languages, and encryption, which is discussed later under the section on protectability. Concurrent Programming One of the trends in the design of high-performance computers is increasing concurrency, that is, the use of several functional units or processors, operating at the same time, to speed up the solution of certain problems. Although there wiB be continuing advances in the speed of individual processors, much more performance improvement is possible if large numbers of processors can be applied concurrently

OCR for page 83
92 GLOBAL TRENDS IN COMPUTER TECHNOLOGY to solve a problem. Current supercomputers, like the Cray machines, have small degrees of parallelism, either in the form of pipelining (e.g., in the Cray-l) or multiple processors (e.g., the Cray-2~. A few examples of highly parallel machines are available today (like those from Thinking Machines), and more examples are likely to appear in the future. These machines are particularly important to scientific and technical users. Achieving the benefits of highly parallel machines depends on being able to program them. Most existing software is written for a single processor carrying out tasks sequentially. It is extremely cliffi- cult to take a sequential program and subdivide it so that different pieces may be executed concurrently on different processors. Some application areas appear well suited to parallelism (e.g., weather anal- ysis for a large area that could be divided into component regions), while others do not appear to map conveniently onto concurrent ma- chines (e.g., compilation or word processing). For parallel machines to become widely used, new techniques must be developed for pro- gramming them. The new techniques must be accompanied by new development environments that allow efficient concurrent programs to be produced quickly en c! easily. Although this is an area of great importance and one in which a breakthrough would have major significance to the computer field as a whole, it is not at all certain that a breakthrough will occur. Researchers have been working on this problem for at least 15 years without impressive results. Highly concurrent programs have been developed for a number of applications, but at great cost. The tools that are available do not provide much assistance in writing parallel programs. Overall, things Lo not seem much better today than they did 15 years ago. On the other hand, there are probably more researchers active in the field of concurrent programming now than ever before, which will increase the likelihood of a breakthrough. In addition, some recent developments, like the Thinking Machines' work, Took promising, although it is still too early to announce a major breakthrough. A breakthrough in the area of concurrent programming could result in widespread use of machines with 10 to 100 times more processing power than would be available otherwise. Formal Techniques Another major focus of research is in the application of formal methods to software development. Formal methods or techniques

OCR for page 83
SOFTWARE 93 are concerned with attaching exact meanings to programs so that their behavior can be precisely (and mathematically) specified. The most rigorous approach is program verification: proof of functional equivalence between a piece of code and a specification of the code's intended behavior, or between a specification and a set of require- ments. Current research allows proofs between code and specification for up to 10,000 lines of code, or between specification and require- ments for up to 100,000 lines of specification, and the tools are emerging from hand-craft to production quality. It is possible that there may be major breakthroughs in this area by 1993-1995. Even without proof of verification, formal techniques can be applied to the development process, including, for example, rela- tional calculus, object-oriented design, well-specified standards and interfaces, and strongly typed languages such as Ada, Modula, and Pascal. This trenct has the potential to increase productivity by re- ducing the labor-intensive post~esign testing phase and the life-cycle maintenance phase of software development. Semiformal techniques are already being applied to varying degrees in many software devel- opment organizations. This area is similar to concurrent programming in that research efforts have been under way for almost 20 years, with many disap- pointments and a few modest results. It is possible that no major breakthrough will be forthcoming. On the other hand, the technol- ogy appears to be gradually maturing; there are estimates that as much as 50 percent of ah software development will use formal tech- niques within the next 10 years. If verification techniques become widely and successfully used in the software industry, they could re- sult in dramatic improvements in the reliability of software and also in maintenance and testing costs. Nonprocedural Languages Some of the most exciting developments in software over the past 10 years have consisted of new user interfaces and ways of programming computers. Spreadsheet programs are probably the best example of a successful new paradigm. They represent a totally new way to manage and display information in a computer, unlike anything that preceded them. Spreadsheets also provide a novel programming "language" that is used to describe the relationships between entries in the spreadsheet, so that a change in a single entry can update many other entries automatically. This is a form

OCR for page 83
96 GLOBAL TRENDS IN COMPUTER TECHNOLOGY Japan The Japanese produce a large amount of software, primarily through large software organizations within large companies. Some of these organizations are structured and referred to as factories. Soft- ware factories at Toshiba and elsewhere concentrate hundreds and even thousands of programmers in single facilities, produce focused products, and rationalize procedures in such areas as testing, gener- ation, and reuse of standardized software components (Cusumano, 1987b). Japanese software is primarily developed on a custom basis (U.S. Congress, Office of Technology Assessment IOTA], 1987~. It tends not to be sold on its own and is usually marketed only as part of larger hardware-software systems. Much of the Japanese software development effort appears to support large integrated systems for applications, such as banking systems, nuclear power plants, and process control. By concentrating on specific applications, Japanese software producers increase opportunities for reusing software (OTA, 1987). One reason why Japan has tended to have much higher levels of software customization and fewer standardized packages is the slower diffusion of microcomputers there as compared to the United States, a factor that is clearly changing with time (Cusumano, 1987a). The combination of reportedly higher programming productivity in Japan with Tow levels of production for standardized products is noteworthy; it suggests that Japanese entry into standardized product markets could draw on a productivity advantage to achieve significant price advantages, an expectation consistent with Japanese performance in other markets. It appears to be common for Japanese software developers to work very closely with their customers and to guarantee the quality of the software they produce. Such guarantees are unheard of in the United States. While there is some question about just how good Japanese software quality is, it appears that the Japanese have been applying to software production approaches for quality assurance and quality control that are similar to those used in their hard-goods manufacturing operations. Japanese concerns about access to U.S. software, such as UNIX licenses, have led to the establishment of Japanese software research labs in the United States from which technology is exported home. Another countermeasure is to protect their domestic market by a form of software registration. Though controversial, the Japanese

OCR for page 83
SOFTWARE 97 continue to explore copyright, trademark, or patent protection of their software (]TECH Panel, 1984~. The Japanese have not presented a significant challenge to U.S. Or European software developments in terms of innovation. For exam- ple, neither the Japanese Fifth-Generation Project nor its The Real- Time Operating System Nucleus (TRON) project, both of which have been publicized as high-investment, high-effort endeavors, appears to have produced any major breakthroughs. The industry-government Software Industrialized Generator and Maintenance Aids (SIGMA) initiative launched in 1985 is considered by some observers to promise significant progress in software productivity. Western Europe The West Europeans, especially the British, have a Tong his- tory of software development. On the research side, the European community has tended to focus more on theoretical and formal ap- proaches than on practical system-building. British universities have produced interesting systems work, but most research organizations in Europe have not. For example, the Computer Laboratory at Cambridge University has produced many interesting hardware and software systems. On the industrial sicte, much software development appears to be carried out by large teams in large companies, for internal use. Other large players include European computer and computer hard- ware manufacturers such as ATcatel, Thomson, Siemens, and Nixdorf (OTA, 1987~. There appear to be few software start-ups, perhaps due to the lack of venture capital. Much customized software is pro- duced through software and systems houses, such as Britain's Logica and France's CAP Gemini Sogeti, which tend to be relatively large. As in Japan, slower diffusion of PCs in Western Europe com- pared with the United States contributes to slower growth of PC applications and associated software. Also, the prominence of hard- ware produced by U.S. companies contributes to the strength of U.S. hardware vendors as well as independent U.S. software vendors in the software arena. The prominence of U.S. hardware may explain why there has been no leading non-U.S. commercial or scientific operating system. The British, in particular, have sought to offset the economic impact of this situation by encouraging local software development by U.S. companies. The Irish have been particularly aggressive in

OCR for page 83
98 GL OBA L TR ENDS IN COMP UTER TE CHNOL O G Y inviting and subsidizing investment by U.S. companies, in part to counter emigration by skilled programmers. There is evidence that the software situation is changing in Eu- rope, albeit slowly. Countries like France, which used to be more theoretically oriented, are becoming more practical. Some software exports are beginning to occur, such as Prolog and software devel- opment environments. In some countries smaller software companies are forming. For example, in Italy there is quite a bit of internal de- velopment of applications packages; however, the packages are user! mostly within the country and are not often exported. Also, re- ductions in intra-European trade barriers and other efforts to unify Western Europe economically are expected to further European ac- tivities in developing electronic data interchange (EDT) software and possibly other types of on-line transaction processing software. Of special interest is the emphasis in Western Europe on software engineering. Europe has three noteworthy software environment de- velopments. The first is a product called ISTAR that is sold by Imperial Software Technology (IST), a spin-off company from Im- perial College London. It is an example of an integrated project support environment (IPSE). Several projects in the ESPRIT and the now-defunct Alvey software programs are conducting research in various theoretical issues related to IPSE. The overall goal is to provide a common framework for distributed development that includes procedures, formal methods, languages, and tools. The second is the ESPRIT program's Portable Common Tool Environ- ment (PCTE), which has been on the market since 1986. Lastly, research programs based on applying formal mathematical methods to software development for mathematically oriented applications, including cryptography, and applications where safety is a critical consideration, are beginning to appear. These efforts could result in both higher productivity and higher product quality (see Appen- dix C). Other Countries A number of other countries are attempting to become major players in the software market, focusing at this time on volume pro- duction of relatively standard or basic software rather than innovat- ing. Julia, Malaysia, the People's Republic of China, and Taiwan are among the countries that have targeted software as major national . priorities.

OCR for page 83
SOFTWARE 99 India, for example, is reportedly aiming for an annual software production rate of $100 million per year, and its software exports have been growing by 40 percent per year (Botelho, 1987~. It also "exports," on a temporary basis, programmers to work on interna- tional software conversion projects. Several U.S. firms have transferred some of their software devel- opment effort to newly industrializing Asian countries largely because of their relatively low labor rates. For example, Digital Equipment Corporation, Unisys, and Hewlett-Packard had established software centers in Singapore by the mid-1980s, a situation made easy by the use of English in the Singapore educational and industrial en- vironments (Davis and Hatano, 1985~. The long-term role of these countries in the software market is uncertain. Their prospects will be affected by their lack of access to a number of resources, such as the sophisticated hardware needed to develop the most sophisticated software. As consumers, the major OECD countries appear to dominate the world software market. Through the mid-l9SOs, these countries constituted well over 90 percent of that market (Organisation for Economic Cooperation and Development [OECD], 1987~. Is the United States Inherently Superior? There is some evidence that the United States has fundamen- tal cultural advantages for producing software. Innovative software seems to spring from entrepreneurial environments consisting of a small number of dedicated, creative, and uncontrolled individuals. The ready availability of venture capita] and the U.S. societal struc- ture as a whole seem to nurture such developments. Most of the rest of the world appears to be more rigidly structured, with large industrial organizations, little venture capital, and, often, no incen- tives for entrepreneurs to try radically different approaches. Such an environment does not seem conducive to making software break- throughs. For example, the Japanese have been much less successful in penetrating the software markets than they have been in other ar- eas, in spite of a few highly visible projects like the Fifth-Generation Project and TRON. On the other hand, there is also evidence that the U.S. lead in software will be threatened. Software development requires more than creativity; once the initial idea has been generated, an enormous amount of work is required to produce a reliable product. Software is

OCR for page 83
100 GL OBA L TRENDS IN COMP UTER TE CHNOL O G Y most likely to be of high quality if it is developed in a structured en- vironment by skilled craftsmen who carefully partition the work and manage interfaces. Although the U.S. culture appears well suited to generating creative ideas, it tends not to emphasize structure and craftsmanship, which are essential in producing a software product. Other countries with better organizational structure and craftsman- ship (e.g., Japan) may find that they can take ideas from the United States and produce better software products. Furthermore, software is very labor-intensive. This makes it possible for countries with relatively cheap labor, including most of Asia, to compete effectively in the software markets. On the other hand, Tow labor costs alone do not make a successful software industry. More sophisticated software requires high levels of skill not only in programming but in project management and product marketing. This is especially true for packaged software (OECD, 1987). PROTECTABILITY It is extremely difficult to restrict the flow of software. It is too widely available, too easy to replicate, and too easy to conceal. A single 8-mm digital videocassette, small enough to fit into a shirt pocket, can hold all of the sources and binaries to a major software package representing thousands of person-years of effort. There is no way to prevent packages from being carried and copied all over the world. Inhibition of copying has been a concern of software vendors domestically and within CoCom countries generally. Vendors have resorted to legal protection against copying (copyright, trade secret), copy protect mechanisms, object-code-only (OCO) shipment prac- tices, and, in some cases, use of proprietary compilers. One of the best examples of the difficulty of protecting software is the decision by several key software manufacturers (including Lotus Development) not to copy-protect their disks. The previous copy-protection mech- anisms were woefully inadequate and tended to alienate customers. Instead, Lotus decided to rely on Tow pricing and honest customers, under the assumption that most customers would prefer to pay a few dollars rather than to make an illegal copy and risk trouble if discovered. Because of its low replication cost, software is harder to restrict

OCR for page 83
SOFTWARE 101 than hardware. For example, given a single diskette it is a rela- tively easy task to make a thousand copies. Given a single personal computer, it is much more difficult to make a thousand copies of the computer, particularly given the advanced manufacturing techniques and high-tech components used today. Thus, an approach that slows the flow of hardware to an adversary might be effective because the adversary would not be able to accumulate a large enough quantity of the hardware to make it widely available. On the other hand, an approach that slows the flow of software might not be effective unless it prevented the adversary from getting even a single copy. In summary, it does not appear feasible to completely cut off the flow of software to the Soviet Union. Although the flow can be slowed, CMEA countries can continue to replicate what they acquire. Denial of Source Code The usefulness of stolen software may be reduced by protecting the source code more carefully than the executable binaries. Soft- ware is of little use unless it can be adapted en c! supported. For example, certain scientific and engineering applications might have to be modified for the Soviets' particular environment and problems. If these applications were distributed in executable binary form only and the source code were protected carefully, it would be difficult for the Soviets to adapt the programs to their needs. In addition, most programs require ongoing support to fix bugs and add new features (i.e., maintenance). If the source code becomes widely distributed, it cannot be protected against illegal export. But if the source code and documentation were protected, it would be difficult for CMEA countries to maintain the software; they would probably have to con- tinuaJ1y reacquire the programs from the West or work with inferior products, which is in fact reported to have happened. Unfortunately, it may be difficult to protect source code. Most companies already attempt to protect their sources, but internal se- curity is usually lax. It would be relatively easy for the Soviets to obtain sources to important programs. This is especially true for scientific and technical software, for which there has been a continu- ing tradition of worldwide distribution of unclassified software, both by individuals and by such centers as Argonne National Labora- tory, CERN in Geneva, and the Computer Physics Communications Library in Belfast, Northern {relend. Programs distributed within the global scientific community can range from small subroutines

OCR for page 83
102 GL OBAL TRENDS IN COMP UTER TECHNOL OG Y for calculating a simple mathematical function to whole systems for complete calculations in a branch of high-energy physics or simi- lar fields. Many scientific institutions, including some in CMEA countries, subscribe to the software services provided by the above centers. Typically, such programs are distributed as source code. As a result, there are no effective controls on their distribution, since a recipient of the source code can easily modify it for his or her com- puter. Given the extent and duration of this activity, mandating general changes in the distribution system to meet potential national security threats is likely to be considered unacceptable by the scien- tific community. Furthermore, the trend toward standards is coming to include the distribution of sources as wed as binaries. For example, the X Window System is distributed freely with sources. There are also thousands of copies of the sources to the UNIX operating system around the country, although they are all licensed by AT&T. These important pieces of software are impossible to control now, although it might be possible to restrict access to others. In many cases, access may also be restricted by firms acting in their own interests, given the environment in CoCom markets. Another problem with source code protection is the trend to- ward interchangeable library and subsystem components. The com- ponents are often designed so that they can be adapted for use in many different situations without accessing the source code, merely by replugging or reconfiguring the components. For example, in- creasing dependence on the C compiler for both systems control code and applications provides a significant increase in the ability to cross systems, decipher the intent of the platform usage, and eventually replicate software for other environments. To the extent that a com- ponent can be reconfigured dynamically, an adversary can adapt the executable binary of the component to his needs without accessing its source code. Note that there is a related problem, the association of legal sales of software with provision of maintenance services (i.e., the customer does not have access to the source code but can commission the adaptations needed). The maintenance and training associated with direct sales can alone constitute considerable technology transfer.

OCR for page 83
SOFTWARE 103 Denial of Hardware Given the difficulty of replicating hardware as compared to soft- ware, the most elective way to prevent Western programs from being used in Eastern-bloc countries may be to deny access to the comput- ers on which to run the software. However, an export control policy based only on denial of hardware would increase the incentive for the Soviets to duplicate Western machines, and it would be undermined in part by the increasing commoditization of computer hardware (see Chapter 2~. Therefore, it would be most viable for the top-of-the-line machines. Widespread availability of a wide variety of software has already motivated CMEA to mode! some local machines on DEC VAXs, in particular (see Chapter 6~. While the VAX line is being continually upgraded, DEC systems are designed for a high degree of inter- changeability. Consequently, software intended for newer and faster machines wiD run on older, slower machines. IBM operating system software, by contrast, tends to change more with hardware advances. The Soviets are starting to produce faster machines, but it will take time before appreciable numbers are built (see Chapter 6~. Protection of Software by Class In general, the committee finds it impractical to devise a suitable taxonomy covering all software. Nevertheless, it recognizes that the transfer of some software to the Soviets wiD be more harmful to national security than the transfer of other software. It supports distinction among no more than three classes of software. The first is software that has a compeDing and direct military importance to the Soviets. A simulation model for nuclear explosions or advanced avionics software are two examples in this class. Exports of software (source and object code) in this class should be tightly controlled. Unfortunately, there are no good discriminators available that tell when a conventional piece of software mounted on standard hard- ware achieves sufficient military importance as an integrated system. The best discriminators involve a set of triggers that would deter- mine what level of sophistication is involved in a given product and its military relevance. Examples of triggers could be contract dollar value (e.g., ad integrated systems costing more than $25 million) or size (e.g., more than 200,000 lines of custom application code), or use of certain sensors or peripheral devices (e.g., phased-array radar), or

OCR for page 83
104 GL OBAL TRENDS IN COMPUTER TECHNOLOGY development by certain contractors. Such triggers could then be used to help decide whether to issue an export license. A second class is software tools that can be used to build software of compelling military importance. The committee was divided on how to handle this class. One view was that Al software in this class should be subject to an export license, unless it is possible to make finer distinctions within the class. The other view was that this class of software should not be controlled except for export to CMEA nations. Almost any software engineering package (especially software for CAD, CAM, and CIM) could be construed to fall in this class. Tight controls could have a substantial negative impact on U.S. competitiveness, because software engineering efforts are increasing in the West generally. A compromise approach could support unencumbered sale of object code among CoCom countries and specific licensing of source code for the use of the buyer (and restrictions on transfers to other end-users). The third category is Al other software; no export license should be required for this software, among CoCom countries. Encryption The committee was divided on whether encryption wiB improve the protectability of software. One view was that U.S. manufacturers must develop hacker-proof mechanisms for preventing unauthorized use of software, and that encryption techniques will lead to such mechanisms by the mid-1990s. For example, it would be useful if software could be linked to specific machines in a way that makes vendor intervention necessary if the product is moved to another machine. This would permit a vendor to export a copy of a program to a foreign country while preventing the recipient from redistributing to the Soviets (or to anyone else, for that matter). Another approach currently being explored consists of a "potted" CPU and encryption board such that clear text never appears outside the potted board. Then all code and data are encrypted in the computer except when executing. This also counters binary dump copies The opposing view was that any mechanism that permits wide- spread distribution, no matter how controlled that distribution ap- pears to be, cannot be protected against theft by a dedicated op- portent. For a package to be widely distributed, the authority to grant access to that package must also be widespread (e.g., among authorized distributors). But even such widespread authority could

OCR for page 83
SOFTWARE 105 be circumvented by one dishonest deafer who would make copies for use in CMEA countries. Given the ease of duplicating software, the primary impediment to the Soviet Union may be the difficulty of acquiring the first copy. This situation may limit the value of encryption as it is currently known for protecting software. Summary of Protectability In spite of the difficulties of protecting software, the committee supports the concept of restricting exports to CMEA countries and encouraging the protection of source code by vendors. Even if it is relatively easy for the Soviets to acquire any given program, it would take immense effort to acquire sources or even binaries for the thou- sands of useful programs and application libraries that exist today. The acquisition process would have to be repeated continually as new programs become available or old ones are enhanced. Besides the ex- pense of such efforts, it would be difficult to keep them secret. The likely result is a steady lag of the Soviets behind the West in use of state-of-the-art software. Without export controls, CMEA countries would probably acquire more software more quickly, without much commercial benefit to CoCom industry. CONCLUSIONS A major development has been the emergence of commodity soft- ware associated with the proliferation of PCs. Commodity software is cheap and widely available through retail channels. Software is less amenable to breakthroughs than hardware, but major advances are needed in software for parallel architectures. Software development is becoming more systematized and more like hardware development with software components, standardiza- tion of interfaces, and improvements in tools that partially automate the development process. The United States is the world leader in software. One reason appears to be the favorable U.S. environment for the small-scare, creative, entrepreneurial efforts that most often lead to software innovation. The United States should do everything possible to further the export of U.S. software to friendly nations to protect U.S. commercial leadership in this arena. Software is intrinsically difficult to protect because it is easy to carry and to copy. However, large packages for large systems, in

OCR for page 83
106 GL OBA L TR ENDS IN COMP UTER TE CHNOL O G Y particular, may be less valuable to a thief than to a purchaser because of the lack of reliable access to vendor support, maintenance, and upgrades. In some cases the usefulness of stolen software may be limited through restrictions on the distribution of source cocle, which is necessary for mollifying software, and through encryption. The committee divided software into three principal classes for purposes of control efforts. The first is software with a compelling and direct military usefulness to CMEA countries, for which exports should be tightly controlled. The second is software tools that could be used to build software of compelling military significance, for which some degree of control appears necessary. The third includes all other software, which should be freely traded within the West.