the constraint of having salaried programmers working together in a dedicated facility. It was now possible for programmers to collaborate in software development via the Internet—whether they were salaried personnel or volunteers, and whether they were trained computer professionals or talented amateurs. This was the birth of today’s open source community. Linux was the defining product of the community, and the open source principle was also responsible for a large portion of the Internet infrastructure. Besides enabling the new open source development regimen, the Internet also removed the barriers to software distribution. Whereas the existing software products industry had used retail channels, which could carry only a limited range of products, or had used an (expensive) sales force, open source products were freely available for downloading from the Internet. Open source programs soon appeared in many of the established software categories.

In the initial euphoria of open source in the mid-1990s, it looked as though in the future software would be “free” in both senses of the word: free of cost to consumers, and with freely available source code. Ten years on, however, it became clear that nothing was that simple. Fundamentally, open source was a new development method. Traditionally, code development accounted for 10%–15% of the cost of a software product. The rest of the cost was for activities such as marketing, packaging, and after-sales support (for example, telephone help lines). For users, too, software was only a fraction of what came to be called the TCO (total cost of ownership), which included computer and infrastructure costs and technical support. Today, there are numerous firms supplying open source products, and their cost structure turns out to be not very different compared to traditional software firms. They spend 10%–15% of their income on code development, and the rest is taken up with activities such as marketing and after-sales support. Because of the open source development method, it may well be that their products are better and less expensive than their proprietary equivalents, but for most users they do not drastically change their total information processing costs.

So, if a person was attempting to peer into the future of software today,

the first software
products were
usually supplied in
both source code and
object code.

what would he or she predict? Such a forecast has two dimensions: first, predictable extrapolation, and, second, the unknowable paradigm shifts that might take place. Predictably, we can expect the open source paradigm to gain in strength and to be increasingly adopted by the traditional software industry, and that there will be some convergence between the two sides of the industry. But in the next 10 or 15 years there will surely be unanticipated technological discontinuities, comparable with the launch of the IBM System/360 in the 1960s, the personal computer in the late 1970s, and the open source movement in the 1990s.

History shows us that the preferred software development method of the day has always been the one that seemed to work best within the contemporary technological and economic constraints, particularly the costs of computer ownership, programming personnel, and data communications. The next paradigm shift might well be the currently much-hyped SaaS ( software as a service)—software delivered as a service over the Internet rather than as a product installed on a local computer. SaaS seems to offer a technological prospect in which both proprietary and open source software can flourish. But it is at least as likely that some other technological development—perhaps already here and waiting in the wings—will create a software future that is currently unimaginable. That’s the fundamental reason historians are so reluctant to attempt to predict the future of software.

 

Martin Campbell-Kelly ( M.Campbell-Kelly@warwick. ac.uk) is a professor in the Department of Computer Science at the University of Warwick, where he specializes in the history of computing.

Calendar
of Events

October 13–15
ASSETS ’08: The 10th
International ACM SIGACCESS
Conference on Computers and
Accessibility
Halifax, Nova Scotia,
Contact: Simon Harper,
Phone: 44-0-786-656-8334,
Email: simon.harper@
manchester.ac.uk

October 14–17
CBHPC ’08: Component-Based
High Performance Computing
Karlsruhe, Germany,
Contact: Masha Sosonkina,
Phone: 515-294-6751, Email:
masha@scl.ameslab.gov

October 14–17
CBSE ’08: 11th International
Symposium on Component-
Based Software Engineering
Karlsruhe, Germany,
Contact: Ralf H. Reussner,
Phone: 49-721-608-3934, Email:
reussner@ipd.uka.de

October 14–17 IIiX08: International Interaction in Context Symposium London, United Kingdom, Contact: Mounia Lalmas, Phone: + 44 020 7882 5200, Contact: mounia@dcs.qmul. ac.uk

October 16–18
SIGI TE ’08: ACM Special
Interest Group for Information
Technology Education
Conference
Cincinnati, OH,
Sponsored: SIGITE,
Contact: Mark Stockman,
Email: mark.stockman@uc.edu

October 19
PLOP ’08: Pattern Languages of
Programs
Nashville, TN,
Sponsored: SIGPLAN,
Contact: Ademar Aguiar,
Phone: 351-22-7125947,
Email: ademar.aguiar@fe.up.pt

October 19–22 SIGUCCS Fall ’08: ACM SIGUCCS Fall Conference Portland, OR, Sponsored: SIGUCCS, Contact: Terry B Wolff, Phone: 213-821-2316, Email: twolff@usc.edu

References:

mailto:masha@scl.ameslab.gov

mailto:reussner@ipd.uka.de

mailto:mark.stockman@uc.edu

mailto:ademar.aguiar@fe.up.pt

mailto:twolff@usc.edu

mailto:M.Campbell-Kelly@warwick.ac.uk

mailto:M.Campbell-Kelly@warwick.ac.uk

mailto:simon.harper@manchester.ac.uk

mailto:simon.harper@manchester.ac.uk

mailto:mounia@dcs.qmul.ac.uk

mailto:mounia@dcs.qmul.ac.uk

Archives