Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Software IBM

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 article An Abbreviated History of ACP, One of the Oldest Open Source Applications describes what made it special."
This discussion has been archived. No new comments can be posted.

ACP, One of the Oldest Open Source Apps

Comments Filter:
  • by Anonymous Coward on Friday August 21, 2009 @09:14AM (#29145367)

    Open Source Definition []


    Open source doesn't just mean access to the source code.
    The distribution terms of open-source software must comply with the following criteria:

    1. Free Redistribution

    The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

    2. Source Code

    The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.

    3. Derived Works

    The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

    4. Integrity of The Author's Source Code

    The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.

    5. No Discrimination Against Persons or Groups

    The license must not discriminate against any person or group of persons.

    6. No Discrimination Against Fields of Endeavor

    The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

    7. Distribution of License

    The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.

    8. License Must Not Be Specific to a Product

    The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.

    9. License Must Not Restrict Other Software

    The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.

    10. License Must Be Technology-Neutral

    No provision of the license may be predicated on any individual technology or style of interface.

    - Open Source Initiative, []

  • by 10am-bedtime ( 11106 ) on Friday August 21, 2009 @09:18AM (#29145399)
    • which stands for Air Traffic Control,
    • which reminds me of playing that game in Emacs the early 1990s (the source was called atc.el, but that doesn't seem to be on the net anymore -- kudos to anyone who can post it here, saving it from otherwise imminent obscurity),
    • which is neither here nor there,
    • but that's what bubbled up from the dregs of memory,
    • which is what happens when you the author encounters YA TLA in TFS,
    • like ATC, LSD, ATP, MCP, MCM, etc etc etc.

    mods: This post is on-topic because its author is old, too! (grumble grumble)

  • Re:Anonymous Coward (Score:5, Interesting)

    by xaxa ( 988988 ) on Friday August 21, 2009 @10:01AM (#29145825)

    "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)

    by mrisaacs ( 59875 ) on Friday August 21, 2009 @10:23AM (#29145997)

    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)

    by okvol ( 549849 ) on Friday August 21, 2009 @10:26AM (#29146033)
    The IT branch spun off by American Airlines, which outsourced operations to EDS (which was bought by HP). Through a few layers of gateways, Travelocity is in the same room (albeit huge) as the TPF system. They can cluster up to seven of the fastest mainframes to run as a unit with TPF, and have set records for real-time transactions per minute. All this in Tulsa, OK.
  • by Ancient_Hacker ( 751168 ) on Friday August 21, 2009 @11:21AM (#29146639)

    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).

  • by raarts ( 5057 ) on Friday August 21, 2009 @04:08PM (#29150293)

    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!

IN MY OPINION anyone interested in improving himself should not rule out becoming pure energy. -- Jack Handley, The New Mexican, 1988.