The computer software products industry evolved from its beginnings in the late 1960s to become an economic giant providing United States employment alone for more than four million people and generating income of over $640 billion in 2012. Software products are critical to commercial, social, governmental, and entertainment activities throughout the world. They are central to our lives, yet we don’t think about them except when they fail to operate. If software fails, lights go out, motorized transport is impaired, phone and Internet communication doesn’t work, financial transactions can be frozen, and manufacturing and business operations are severely affected.
|1957||Definition of FORTRAN language and delivery of FORTRAN compiler for IBM 704|
|1959||SHARE Operating System delivered for IBM 704|
|1960||Delivery of SABRE for American Airlines reservations system|
|1960||Delivery and use of first COBOL compilers for RCA and UNIVAC computers|
|1961||The first time sharing system, CTSS, is developed at MIT|
|1966||Delivery of OS/360 for IBM System/360, the first full function operating system|
|1969||IBM unbundles software products and other customer services|
|1969||UNIX is developed at ATT and made available for general use|
|1973||C Language is available for usage by developers|
|1977||DEC delivers VAX with VMS as its operating system|
|1979||VisiCalc is delivered on the Apple II by Personal Software, Inc.|
|1979||Oracle delivers first commercial relational database management system product|
|1981||IBM delivers its first personal computer using DOS from Microsoft|
|1984||GM demonstrates multi-vendor LAN at National Computer Conference|
|1991||World Wide Web becomes available for individual and business sites|
|1995||Internet becomes broadly commercially available with email applications|
|1998||Google creates and markets its new search engine|
|2004||Facebook is created|
|2007||Apple delivers IOS for the iPhone for third party mobile applications|
Computer hardware and computer software are like Siamese twins. They are so interconnected that if either were to disappear, the other could not survive. While hardware provides the physical capability, software provides the brains that carry out useful work. Hardware is what we see, but it is the intangible 0s and 1s that represent the billions of lines of software instructions that make the hardware valuable. Software comes in two principal flavors: custom programs for a specific customer’s use; and software products for use by multiple customers.
John Von Neumann’s brilliant concept of a stored program led to the modern computer software products industry. This article covers the history of computer software products from their infancy in the 1950s, through their adolescence starting in the late 1960s, until their present maturity and continued growth. It discusses packaged software products that are used on computers, but does not include the software programs used on game machines, smart phones, or tablets, or embedded in equipment such as automobiles, ranges, and washing machines. It does not cover software that is developed on a custom basis or for internal use or software used in various processing services or search systems. It includes software products that run on computers for business, institutional, and personal uses and discusses systems programs as well as applications programs for commercial and scientific/technical usage.
While the story of the software products industry appears to be United States-centric, that is because, with a few notable exceptions, the most successful and most widely used software products were developed by United States-based companies, although the markets were world-wide. There are a large number of acronyms used in the article because that is the way the people in the industry talked about the software products and the original words that made up the acronym were of little importance.
To trace the evolution of the software products industry we use the core computer platforms for which the software products were built. These core platforms supported the development of systems and applications products, which created the Information Technology (IT) marketplace.
Mainframe Computers, 1st and 2nd Generation: 1951-1963The general purpose mainframe computer systems industry started with the UNIVAC I and the IBM 700 Series computers in the early 1950s. (See Fig. 1)
The first broadly successful development language for business applications was introduced in 1961 when an ad hoc standards committee, Codasyl, with representatives from the U.S. government and many computer manufacturers, agreed upon COBOL (COmmon Business Oriented Language). Every manufacturer built a COBOL compiler for each of their computer models. Within a few years, COBOL was used to write almost all business application programs in the U.S. for all mainframe computer platforms.
Parallel to this language development effort, operating systems were developed to establish a framework to manage the internal computer resources and enable applications programs to function without operator intervention. The first integrated operating system development effort was initiated by the Share User Group (users of IBM scientific machines) in the late 1950s. The Share Operating System (SOS) became the model for future operating systems. All computer manufacturers produced operating systems for their machines. By 1964, IBM had more than five different operating systems, one for each product line.
These programming languages and operating systems were simply a means to help to program and run applications. Much of the early application programming work was scientific and technical using IBM’s scientific computers (700 and 7000 series machines). These mathematical and scientific programs were exchanged by large companies who belonged to Share. Some processing services vendors were also producing linear programming and simulation programs to help to solve complex customer application problems. Standard programs for civil, electrical, and mechanical engineering were also programmed during the late 1950s and 1960s and distributed at no charge. Because of FORTRAN, many of these application programs could be written relatively quickly and could be used by many customers and run on many different computers.
The development of standard business application programs lagged the scientific and technical advances. Although by 1964 IBM and the other vendors had built or collected extensive libraries of business application programs for accounting, manufacturing, and retailing, these pre-built programs rarely satisfied the requirements of individual customers. They were used more like guidelines and check lists to simplify the development of custom application programs. But the availability of these “model” programs helped vendors sell computers since it showed that working applications could be built.
As the hardware technology advanced through transistors and ferrite core memory, smaller computers were produced that were used for less demanding applications and by smaller companies. By 1963, there were dozens of manufacturers producing a great variety of computers, most of which were incompatible with each other except for their ability to use FORTRAN for programming scientific and technical applications and COBOL for programming business applications. But none of these programs were separately charged for since they were considered to either be part of the delivery of the hardware system, were exchanged between users or were incorporated in the price charged by processing services companies. The growth in lower priced computers significantly broadened the market potential with a number of computer users who were not capable of writing their own application programs. Although there were no software product companies in 1963, there were a few professional services companies doing custom programming work and processing services companies providing standard applications programs for use by their customers.
Mainframe Computers, 3rd Generation: 1964-1985With the introduction of the IBM System/360 in 1964, the mainframe computer landscape changed dramatically. In designing the System/360, IBM decided to produce operating systems that would provide more effective management of a computer’s resources: storage, memory, communications, interfaces, calculation, and logical units. But building these new operating systems was a far more complex task than IBM had ever imagined. These problems are described by Fred Brooks in The Mythical Man-Month. Brooks, who headed the IBM OS development effort, wrote that "adding more manpower to an already late software project makes it even later." It was not until 1966 that IBM was able to deliver its two principal operating systems: OS, intended for the larger, more expensive systems with complex functionality for more efficient hardware use; and DOS, aimed at smaller, less expensive machines. (See Fig. 3)
During the late 1960s, a few independent professional services companies introduced packaged software priced for use on IBM mainframes. One of these was a flow chart program called Autoflow from ADR. Another was Mark IV from Informatics, which was a program to prepare reports and simple application programs without requiring skilled programmers. These programs were only marginally successful, since they were competing against IBM’s free bundled software.
With Control Data in the lead, the other computer manufacturers urged the U.S. government to file an antitrust suit against IBM. They claimed that IBM achieved and maintained its dominant market position not by the quality of its products, but through providing whatever level of support and services the client needed without charging separately for these services. They claimed that these bundled offerings were used selectively as an anti-competitive device. The financial threat to IBM was enormous since any damages suits won by competitors or customers would be automatically tripled under U.S. law if an antitrust conviction was obtained.
IBM believed it could prevent a U.S. government antitrust suit by announcing in December 1968 that it was going to unbundle its services within six months, and they assembled a team of almost 100 people designated as the Unbundling Task Force. Despite this announcement, the U.S. Justice Department filed an antitrust suit against IBM in January 1969. Nevertheless, six months later, on 23 June 1969, IBM announced its unbundled, separately priced offerings for systems engineering, equipment maintenance, customer education, custom programming, and seventeen systems and application software products.
Triggered by the IBM’s announcement of unbundled software, a large number of Independent Software Vendors (ISVs) started businesses producing a wide range of systems and application programs. The introduction of Database/Data Communications (DB/DC) software products in the early 1970s provided the framework for building On Line Transaction Processing (OLTP) applications, which became the dominant application implementation model for virtually all businesses.By the start of the 1980s the top mainframe software companies were Cullinet, MSA, ADR, Computer Associates, Informatics, Dun & Bradstreet, and Uccel. (See Table 1)
The growth of mainframe software companies continued during that decade and the 1990s with the leading companies providing both systems programs, principally DB/DC and utilities, and application programs, principally accounting and manufacturing control programs. Computer Associates, Sterling Software/Sterling Commerce, and SAP (the only non-U.S. based company, in Germany) all became billion-dollar companies over that twenty-year period by building and selling mainframe software products. Mainframe software products continue to prosper although the computers they now run on are radically different in architecture and technology from the third-generation systems.
Minicomputers and Midrange Computers: 1959-1990
While there are distinctions between minicomputers and midrange computers based on differences in raw computing power and hardware system architecture, the decisive differences are found in the target applications, target users, and related system and user-oriented facilities.
For minicomputers, the important descriptors are
- Interactivity and time sharing - Technical/engineering audience - Single department - Knowledgeable users
For midrange computers, the important descriptors are
- Business applications - Small- to medium-sized customers - On-line entry and retrieval - Non-professional users
As a consequence, although there are areas of overlap, these two classes of hardware systems—and the associated systems and applications software for them—evolved very differently.
Minicomputer systems were characterized by much smaller physical size and much lower prices than mainframe computers (in the tens and low hundreds of thousands of dollars); this was achieved through simpler designs with limited input/output and external storage. Digital Equipment Corporation (DEC), Data General (DG), and Hewlett-Packard (HP) were the leading companies in this market segment. These machines were intended for use by high functioning professionals, usually in a technical or laboratory environment.
The sales and distribution channels for minicomputers were quite different from mainframes, with sales often being made by Original Equipment Manufacturers (OEMs) and Value Added Resellers (VARs). They sold minicomputers along with other equipment for testing or laboratory purposes and used custom software for the specialized applications. The independent software vendor market for minicomputers was slow to develop since the manufacturers provided the operating systems, FORTRAN, and other language compilers. Later, ISVs and VARs produced applications software products that broadened the market beyond individual professional users.In 1977, DEC began introducing its VAX (Virtual Address Extension) family with the VMS (Virtual Memory System) operating system to replace its PDP family of minicomputers. (See Fig. 5)
In the 1980s DEC and its competitors looked for opportunities in the commercial data processing market. They enhanced their hardware and operating systems. DEC’s commitment to VAX computers and the VMS operating system, for example, lasted for decades. Hewlett-Packard, Data General, and process-oriented competitors like Perkin Elmer, General Automation, and Computer Automation all entered the commercial minicomputer market.
With this great diversity of hardware and without a common operating system or platform, only a few substantial software products companies evolved for minicomputers. Cognos, Ross, and ASK were among the application software leaders. Oracle, Ingres, Informix, and Sybase provided Relational Database Management Systems, and this became by far the largest software product segment for minicomputers, as well as other platforms.
While minicomputers satisfied the needs of the scientific/technical users, an entirely different set of smaller computers were aimed at penetrating the small- to medium-sized business market. “Midrange Computers” was the term that IBM used to describe its broad line of business-oriented smaller computers. The System/3 and its successors up to the System/38 and the AS/400 were the most widely used computers in this category. But there were dozens of other successful companies (Prime and Wang were two of the largest), which provided these smaller computers to a wide range of medium-sized businesses, usually on a turnkey basis with specialized peripherals and custom systems and application software. RPG, other simple report writers, and fourth generation languages (4GLs) became the languages of choice in this segment of the computer industry. Since these machines were primarily used for smaller businesses or for divisions or branches of larger companies, they engendered the development of a large number of software packages because those users did not have the programmers needed to write their own programs.
The market for small commercial computer systems had been highly fragmented since its inception in the early 1960s. One or two suppliers dominated various sectors, with IBM often in second place. For example, in retailing it was NCR and IBM; in banking, Burroughs and IBM; in manufacturing, Hewlett-Packard and IBM, and so forth. By collecting all these second-place positions, IBM achieved the top spot overall.
Some users programmed the machines themselves with languages like the Report Program Generator (RPG) and non-procedural tools. Or they turned to a VAR or ISV. Few software suppliers for these platforms achieved national prominence, partly because they tended to be industry-specific or because their markets were regional. Such niche companies numbered in the thousands.
The greatest success story of the 1980s in terms of midrange systems was undoubtedly IBM’s AS/400. It debuted with an operating system containing 6.9 million lines of code. Porting S/36 applications to the new AS/400 proved difficult, but porting from the database-oriented S/38 was easier. IBM worked with 150 business partners in preparing for the AS/400 rollout. For instance, when the AS/400 was announced in the early 1980s, there were over 2,000 application and utility programs announced at the same time. The result was to solidify IBM’s commercial midrange position and put an end to the aspirations of Wang and Prime.
Microcomputers and Personal Computers: 1977-2012
Microcomputers used microprocessor technology to create a line of computers that were small and inexpensive enough to be bought and used by an individual without the need to be connected to a larger system. This entire industry initially developed outside of the mainframe, mini, or midrange computer worlds. Technology startup companies put together machines using components available in the electronics marketplace, and marketed these machines on an ad hoc basis.
Digital Research’s Control Program for Microprocessors (CP/M) was the early dominant operating system for non-Apple computers. Apple made an early decision to be proprietary in its components and operating system and decided not to use CP/M. The early software products firms wrote products for any machine that would run CP/M, but few of these products were aimed at the corporate marketplace, which was still mainframe-oriented and still used so-called “dumb” terminals.The CP/M operating system and the BASIC language were the tools used in the 1970s to create microcomputer application programs. This quickly became an attractive software products market since few users could afford to build their own programs. However, even at the beginning there were enough users to justify the investment needed to build simple software packages: operating systems, language compilers, and word processing, spreadsheet, and accounting programs. Although there was priced software available for a number of microcomputers, the Apple II (1977) was the first one to find a broad commercial audience, primarily because of VisiCalc, the first spreadsheet program, which was initially available only on the Apple II. (See Fig. 6)
After IBM introduced its Personal Computer, PCs became a must-have on every business desk, replacing dumb terminals for On Line Transaction Processing applications and for individual use applications like word processing and spreadsheets. These machines then became powerful enough to perform the fundamental operations needed in small businesses and the VAR channel morphed from supporting minicomputers to supporting these new PCs.
In 1982, the first birthday of the PC, 75 percent of the independent software industry wrote software products for this platform. By using a commonly available operating system, IBM stood the nascent software products industry on its head. Together with Microsoft and the chip-maker Intel, it effectively produced an ad hoc industry standard. Most companies that hoped to outperform this standard configuration sometimes succeeded technically but failed commercially.
However, the microcomputer software products market existed before IBM’s 1981 PC announcement. There were some major early microcomputer software product areas. Word Processing software product leadership came in waves. MicroPro, which eventually renamed itself WordStar International, owned the market under CP/M and in the early MS/DOS era. But the challenge of maintaining its old command structure and modernizing the product was too much. By 1984, it yielded leadership to MultiMate, a procedural clone of the dedicated Wang word processor, and to Samna, a virtual clone of the Lanier word processor. Both MultiMate and Samna led the competition before declining and being acquired, MultiMate by Ashton-Tate and Samna by Lotus. But WordStar’s installed base was so huge that, a year after its sales fell to third in shipments, it was still had the largest installed base of all of the word processing companies. All of these companies and their products were overwhelmed by Microsoft with its new Word program which became an international, de facto, industry standard in the 1990s.
The same trajectory held true for Ashton-Tate, whose dBase II owned the database management systems market on the CP/M platform, and even for the early years of MS/DOS. Poor quality product revisions for dBase IV and failure to produce a compiler driven version, combined with the entry of Paradox and rBase, eroded this dominant position. While Ashton-Tate’s dBase still had the largest number of users, Ashton-Tate suffered financially and eventually was acquired by Borland. Today, various relational database management systems compete in the personal computer database market.
VisiCalc was the first and the leading spreadsheet program until 1983, when a little startup company in Cambridge, Massachusetts, turned this segment of the software industry around. Lotus Development Corp. introduced its 1-2-3 spreadsheet program with built-in graphics and a simple database capability. It not only provided another reason for people to buy a PC, but it outsold VisiCalc within the first year of its existence. Together with word processors and database management systems, the Lotus 1-2-3 spreadsheet program stimulated the business market and the incredible growth in the use of microcomputers. Lotus too was later outmaneuvered by Microsoft and 1-2-3 was replaced by the Excel spreadsheet program, which became the international, de facto, standard.In 1984 Apple introduced a very friendly visual user interface on its new Macintosh 128 computer, based on creative work at Xerox PARC in the 1970s. (See Fig. 9)
Microsoft labored for many years to produce an effective competitor to the Macintosh operating system, but did not succeed until 1992 when it delivered Windows 3.1. Within a year Windows became the operating system of choice for PCs, replacing PC/DOS and MS/DOS on the IBM PC and its clones.In 1986, for the first time, a microcomputer software company reached the top of the list of largest software companies, as Lotus replaced Cullinet for 1985 sales. In 1987, the top two software companies were both microcomputer software vendors: Lotus with 1986 revenues of $225 million, and Microsoft with $162 million. Ashton-Tate was also among the top ten software companies. Microsoft exceeded $1 billion in revenue in 1990, and took over first place as the largest independent software products company. It held that position through the 1990s and through most of the first decade after 2000, until Oracle with its mix of products and SAP with its manufacturing programs became the leading software vendors. (See Table 2)
Networks, Internet, World Wide Web, and Other Software Platforms: 1984-2012
If any event could be marked as a significant milestone for networking, it would be the 1984 National Computer Conference in Las Vegas. General Motors and other users demonstrated a multi-vendor local area network (LAN) on the floor of the National Computer Conference, proving it could be done. A dozen software vendors introduced local area networking system software at Comdex/Spring in Atlanta the following year. In another connectivity milestone, 53 percent of sites that had both mainframes and PCs had some sort of links between the two by 1985, or planned to implement such links, according to Computer Intelligence Corp.
Developed from Arpanet, the critical initial application for the Internet was email, which introduced personal computers to the home and supported the growth of e-Commerce. Then the World Wide Web, created by Tim Berners-Lee for CERN, opened up the growth of information searching and the exchange of information, pictures, audio, and video to everyone in the world with an Internet connection.
Although the Internet and World Wide Web have become ubiquitous and are used by everyone in business and personal reasons, they have not resulted in the creation of large, independent software products companies. Netscape was successful in 1994-99 with its browser based on Mosaic, which was developed at the National Center for Supercomputing Applications at the University of Illinois Urbana-Champaign. Microsoft, with its Internet Explorer and wide range of Internet-based products, benefited from the mass Internet/World Wide Web market. However most of the growth has been through Software as a Service (SaaS) companies that build specialized software, but do not sell it directly. Rather, they earn their revenue from advertising embedded in their responses to queries or entries from their users. Examples include Google, Facebook, LinkedIn, and Yahoo. This is not a software products model and there are no software products firms which have become significant in this marketplace.
The development of machines for games and physical interaction has provided another multi-billion dollar market for software packages. The physical interaction space includes the Nintendo’s Wii (2006) and Microsoft’s X-Box Kinect (2010). There are a number of companies that sell game software, and some of these have become significant in size. Computers are now everywhere, but we rarely see them. We do not even use them as computers, since they are embedded as custom chips in watches, satellite navigation devices, cameras, personal digital assistants, and more recently in multipurpose hand-held devices that provide voice communications, take pictures, show video, and play music. The programming is all special purpose and produced by or for the manufacturers of the devices. From a software products standpoint, the biggest change has been that there are virtually no major software products companies producing the programs for these platforms.
The new frontier is non-computer devices that can perform various application functions. Smart phones and tablets represent a new generation of mobile devices that have created a massive market for application programs. The Apple iPhone and iPad have hundreds of thousands of applications, each of which performs a useful or entertaining function for users. Producing apps for smart phones and tablets is a marketplace for individuals who create high performance software products; these are marketed through the companies selling the equipment on which the apps operate. But, again, no specific software products firms have become major players.
Past and Future
Software products have been the heart of the computer software industry. There have always been more programmers working for individual companies and institutions than working for software products companies; and there have always been a large number of programmers doing custom programming on a professional services basis. Nevertheless, the bulk of the revenues and profits from producing software were from software products companies and now from the Software as a Service companies. The multiplication factor of writing a program once and having it used thousands, or millions, of times is comparable to the difference between handcrafted and mass-produced goods.
This multiplication factor is more significant with software than with any hardware product. It costs virtually nothing to replicate a software program. In contrast to a manufactured product that still requires materials and labor and the cost of physical delivery and the physical space that it uses, software is simply bits and bytes, delivered electronically and stored on memory devices that get more compact and less expensive every year. Software represents the ultimate in function over form. It consumes little energy and takes up virtually no space. Software represents the ability of people to conceive and create semi-intelligent systems that can perform almost any task that humans can define; and except for the cost of design and implementation (which can be very substantial), it is infinitely replicable and usable at little to no cost. Software programs drive our world. The history of the development of software and the people and companies who design and build them is a fascinating one; we look forward to the many more chapters that remain to be written.
References of Historical Significance
John Von Neumann & Herman H. Goldstine. 1947. “Numerical Inverting of Matrices of High Order”. Bulletin of the American Mathematical Society 53, no. 11, 1021-99.
John Von Neumann & Herman H. Goldstine. April 1951. “Numerical Inverting of Matrices of High Order. II”. American Mathematical Society Proceedings 2, 188-202.
John Backus. August 1978. “Can Programming be Liberated from the von Neumann Style? A Functional Style and its Algebra of Programs”. 1977 ACM Turing Award, Communications of the ACM 21, no. 8, 613-41
Edgar F. (Ted) Codd. June 1970. “A Relational Model for Large Shared Data Banks”. Communications of the ACM 13, no. 6, 377-87
Tim Berners-Lee and R. Cailliau. November 12, 1990. WorldWideWeb: Proposal for a HyperText Project. http://www.w3.org/Proposal.html
References for Further Reading
Campbell-Kelly, Martin. 2003. From Airline Reservations to Sonic the Hedgehog: A History of the Software Industry. Cambridge, MA: MIT Press
Cortada, James W. 2004. The Digital Hand: How Computers Changed the Work of American Manufacturing, Transportation, and Retail Industries. Oxford: Oxford University Press
___________. 2006. The Digital Hand Volume 2: How Computers Changed the Work of American Financial, Telecommunications, Media, and Entertainment Industries. Oxford: Oxford University Press
Brooks, Frederick. 1975. The Mythical Man-Month. Boston, MA: Addison Wesley
Various. 2002-2013. 6 special issues on software products and services. IEEE Annals of the History of Computing Vol. 24, no. 1; Vol. 28, no. 4; Vol. 29, no. 3; Vol. 31, no. 4; Vol. 34, no. 4; Vol. 35, no. 2
About the Author(s)
Burton Grad has a Bachelor of Management Engineering degree from Rensselaer Polytechnic Institute. At General Electric he programmed the first business applications for the UNIVAC I and developed decision tables. At IBM he participated in IBM’s unbundling project, managed the development of over 150 systems and application programs, and represented IBM at ADAPSO/ITAA. Since 1978 he has been a business consultant to over 200 software products/services companies. He is the principal author of Management Systems (Holt, Rinehart & Winston, 1968). Since 2000 he has co-chaired the Software History Center, now the Computer History Museum's Software Industry SIG.
Paul McJones, Bernard Peuto, Robert Patrick, Luanne Johnson, and the IEEE STARS Editorial Board have all contributed to the framework, concepts, and conclusions in this article, but any errors are my own.