ACP, One of the Oldest Open Source Apps 102
Esther Schindler writes "The Airline Control Program (ACP), introduced by IBM around 1967, predated the term 'open source' by decades. But you may be surprised by how much of its development resembles the FOSS movement today. The ITWorld.com article An Abbreviated History of ACP, One of the Oldest Open Source Applications describes what made it special."
Re:It's not open source. (Score:2, Interesting)
Open Source Definition [wikipedia.org]
for a moment, i read that as "ATC" (Score:3, Interesting)
mods: This post is on-topic because its author is old, too! (grumble grumble)
Re:Anonymous Coward (Score:5, Interesting)
"How it was" -- when the value of the system was concentrated in the hardware. The whole system was set up to serve the most valuable part, and software was seen as "directions to run the hardware" -- important, one supposed, but not the showy part. With commodity hardware, the value is in the bits and bytes now.
What about most device drivers? They still seem to be closed.
(RMS was angered when a printer manufacturer wouldn't supply the source code to the printer driver, IIRC.)
Re:Ummm, Spacewar!? (Score:3, Interesting)
You're right in that a lot of "public domain" software was distributed as source, but there were no repositories - you could get the original version (or the latest version from the originators) or you could get varients from other developers, but it was rare to have a mechanism in place to submit changes anywhere or pass updates to all the users (remember - no internet, few modems, source mostly passed on 7 or 9 track tape reels).
When Bulletin Board Systems came into vogue in the late '70s, this started to change. In the original article what was unique was that changes could be submitted to IBM, who'd include them in later releases or distribute them as additional code with the source. The same was true of my own ealier post. If the code did not originate with Datapoint, they would forward submitted changes back to the author, who could incorporate them in later versions or allow Datapoint to distribute more than one version (early fork?).
It was not true OSS, but it was a clear pre-cursor.
Ever heard of Sabre? (Score:2, Interesting)
It was only "open source" becuz...... (Score:3, Interesting)
It was only "open source" because the code had to be hand-crafted and re-assembled for each particular configuration. You young kids expect softwar to be rife with XML configuration files, and virtual methods, and hooks. Back in those days the code had to fit into 4K addressable segments, so they could not AFFORD to even think of opening up a file and reading configuration info, or having a table of external procedure hooks. More likely the configuration constants were not even separate, they were convenient opcodes. For instance, if you knew a 707 at this airline always had 112 seats, you'd recall that the HCF opcode happened to be 112 decimal, so you'd compare the seat count against that opcode. All you kids with your fancy separate data! Also it was extreme luxury to have a procedure hook (or as you callem nowadys "virtual methods"). You see you could only call within the current 4K block, and any addresses you wished to pass had similar or worse restrictions. And there was darnlittle dynamc linking available in old IBM DOS, so you could not call anything that had not been linked in last week at the weekly build (which took hours).
I used this system as an application programmer (Score:2, Interesting)
In the mid 80s I did a lot of assembly programming on ACP for KLM. We (125 programmers and me) shared a test system that boasted 128MB RAM and a 100MHz'ish CPU running ACP/TPF. The production system even had double the memory. It could do 100 transactions per second. Touroperators (KLM representatives) all over the world used reservation terminals connected by satellite lines to this mainframe. It definitely was mission critical. But I think the article exaggerates a bit, because internally the story was that the KLM would go broke if the mainframe went down for three consecutive days.
When I was there, C was being tested as an alternative for assembly language, but it was thrown out, because it was too slow, and wasted too many resources.
Mind you: my iPhone has more CPU and much more memory than this mainframe, and thus could easily run the entire worldwide reservation system for an medium sized airline!