Opinion
Computing Applications Letters to the editor

True Seeds of Open-Source Software

Posted
  1. Introduction
  2. CS As Related to Philosophy As It Is to Nature
  3. Footnotes
letters to the editor illustration

Though I appreciated Martin Campbell-Kelly’s "Viewpoint" "Will the Future of Software Be Open Source?" (Oct. 2008), we must still rectify a small piece of history to apportion credit correctly. Campbell-Kelly asserted that following the release in 1964 of the IBM System/360 as a "standard computer platform" the software world experienced a radical transformation. However, the S/360 followed by a year the Burroughs B5000, a far more capable system; its successor, the B5500, came out only six months after the S/360.

The B5000 took an integrated approach to hardware and software; its architecture deliberately supported development of software exclusively in high-level languages, mainly ALGOL-based. This was at a time when the rest of the world thought a language like ALGOL could not be implemented. (Donald Knuth implemented a Burroughs ALGOL compiler on the B205 during a three-month summer vacation.) The rest of the world did not, alas, figure out ALGOL for a long time, and eventually adopted a far-less-capable language—C—as a systems programming language. In his technical report "Hints on Programming Language Design" C.A.R. Hoare said, "Here is a language so far ahead of its time that it was not only an improvement on its predecessors but also on nearly all its successors." The same can be said of the B5000.

All B5000 system software was distributed in source form, and users could read and modify it and submit patches back to Burroughs. Because it was all written in ALGOL-like high-level languages, source distribution was even more meaningful than if it was in cryptic assembler, as in the S/360. Hence, the B5000 contained the seeds of open source software.

Edsger Dijkstra’s reaction is also telling; he said the week he studied the specifications of the S/360 was the "darkest week in my professional life." He later became a research fellow at Burroughs. The B5000 also had a tagged polymorphic (object-oriented) architecture designed by Robert Barton, who went on to influence Alan Kay and others in his object-oriented thinking.

The Burroughs B5000 not only predated the S/360 but reflected a far more radical transformation in software development. The S/360 was a huge backward step compared to other developments, especially the B5000, which lives on today in Unisys MCP systems.

Ian Joyner, Sydney, Australia

Campbell-Kelly responds:

Burroughs was indeed a highly innovative computer manufacturer and never achieved the sales it deserved. At the time of the S/360 launch in 1964, IBM already had over 80% of the mainframe market, compared with Burroughs’ modest 4%. Despite the B5000’s superb architecture and software system, the S/360 became the standard platform adopted by the great majority of computer centers worldwide.

Martin Campbell-Kelly Coventry, U.K.

Back to Top

CS As Related to Philosophy As It Is to Nature

When I decided in 1984 to make teaching computer science my career, I was strongly motivated by the interconnections among CS, nature, and philosophy that have subsequently guided my approach to teaching. The "Review Article" "The Many Facets of Natural Computing" by Lila Karl and Grzegorz Rozenberg (Oct. 2008) described theoretical and experimental research that put flesh on our deepest intuition about the interdisciplinary nature of CS and thus laid a solid foundation for a computational view of nature in the CS curriculum. In this light, please consider the following anecdotal comments:

Nature as inspiration. As a young programmer in the early 1960s, I began pondering the relationship between parallel processing and the multitasking capabilities of early operating systems with our own human executor; we multitask at will, even as parallel processes run within us;

Information processing in nature. It seemed intuitive that information processing (such as genes and evolution) would take place in living things, but how about in nonliving things? For example, when two molecules combine to form a new molecule, do they exchange information? What even is information? The word’s etymology suggests it is related to structure. So do two molecules have to be structurally "compatible" before they are able to combine?;

Pleasant surprise. I was a graduate student at the University of Colorado at the time professor Andrei Ehrenfeucht was collaborating with the author Rozenberg. Their theoretical research concerned how to model plant growth through formal grammars; I was in awe of their effort to try to unlock a deep mystery—a language of nature;

CS and philosophy. I invite computer scientists to consider how closely CS is related to philosophy, as well as to natural science. Philosophy contributes to CS, despite sometimes contentious disputation. Two examples are Frege’s invention of first-order logic (he was, by his own account, equal parts philosopher and mathematician) and Austin’s and Grice’s contributions to natural language processing research. CS may likewise prove useful for philosophy. The concept of undecidability (and the use of "proof by contradiction" as a proof tool in undecidability arguments) may be useful in resolving longstanding philosophical problems; and

Philosophical intuition. The structure theorem of programming says that any (proper) program might be described using (only) control structures for sequence, selection, and iteration. My intuition tells me that when a program refers to the real world, sequence refers to time, selection to (finite) choice, and iteration to inertia.

As one who loves CS and its deep connections to nature and philosophy, I say to the authors Karl and Rozenberg, Thank You and Hooray!

Nicholas Ourusoff, New London, NH

Back to Top

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More