An Abbreviated History of ACP, One of the Oldest Open Source Applications

By Esther Schindler  12 comments

If I asked you to tell me the first software that was made available as open source, you probably would point to something that came out of ARPAnet, such as TCP/IP; I dare say you would at least mention one of the fundamental pieces of the Internet. But I gently brushed against an earlier computing endeavor that might qualify as the first open source application: IBM's Airline Control Program, or ACP. If ACP was not among the first open source apps — assuming we use the definition, "of or relating to or being computer software for which the source code is freely available" — then it was certainly an influence. Yet, in my old fuddy-duddiness, I'm surprised by how few people actually know ACP even existed. Especially since I think a few tendrils of its source code helped you make it onto your airplane flight today.

[ See also: Convincing the Boss to Accept FOSS ]

I do not promise that this is an authoritative history of ACP; I don't have enough data for that, and most of what I can find online about the software is written in technical jargon and old-style IBM-ese. I half expected to find a mostly-blank web page that says only, "This page intentionally left blank." Or left-justified. Whatever. What I impart here is primarily from my memory, since I was (and am) married to someone who worked with ACP peripherally in the early 1980s, when it was still going strong. I'm sure others will correct me on both technical and process points. Please try to avoid the expression of too much pleasure as you rudely put me in my place? Thanks.

Anyway: the early ACP was an operating system to manage reservations for airlines and other businesses that relied on reservations (such as hotel chains). This was among the earliest definitions of business mission critical software; if a reservations system went down for an hour, the hotel chain was probably out of business. It dated from about 1967.

ACP ran on IBM 360 mainframes (you can read the March 25, 1977 IBM Data Processing Division Technical Press Release on the IBM 3033, wherein monthly hardware leases started at a mere $70,400) and also required DOS for source code library maintenance and other functions. No, not that DOS; I mean the IBM 360 Disk Operating System, the same one that inspired The Mythical Man Month. The end user — the reservation agent and travel agent — typed a cryptic set of characters onto a command line to indicate that she wanted to find two seats together on the first available flight to Chicago. I can almost remember some of the syntax, but I can assure you that it made a non-standard kernel recompile look pedestrian.

ACP was written wholly in Assembly Language. It was peculiar Assembly language, too; everything was in 4K blocks (that's K), and the ACP programmers I knew spent entirely too much time trying to shove 5K of functionality into a 4K bag. Not to mention drinking heavily.

What makes ACP interesting to open source supporters is that, while technically I suppose IBM "owned" it, the source code was completely available for any developer to change, fix, and enhance. You needed an IBM mainframe on which to run the code, which even the geekiest did not consider (those people were drooling over the DEC VAX back then), so availability is only a relative term. I don't remember exactly how the code was contributed back to IBM, which served largely as a code repository (and also sold high-priced technical consultants to help these large enterprises install, support, and deploy the software on IBM hardware — some things don't change). But I do know that it was done.

Reservations systems was a niche specialty (and I would guess it still is), so experienced ACP programmers regularly were recruited by competing hotels and airlines. The result was a lively community of developers who'd call each other to ask for advice about integrating ACP with other corporate software or about fixing the code itself. The developers' loyalty was to — in no particular order — code quality, the development community, and getting the best answer as soon as possible. Not to the corporate entity paying their salaries. Gosh. Does that sound familiar?

I see from my online research that ACP eventually became TPF (Transaction Processing Facility). (I have to wonder: Did someone think that was a more exciting name?) Parts of it are still in use, at least at United Airlines and Lufthansa, according to this undated press release (I warn you, it's full of the worst sort of IBMese, such as: "...its own continuous innovation capabilities could leverage common services, data, and functionality to create uniqueness and value" instead of saying, "Good grief, folks, it's 40 years old and time to upgrade!"). I even wrote about the transition of ACP to service-oriented architecture (SOA Migration: An Airline Keeping Its Feet on the Ground) largely because I liked how the project manager admitted ACP's legacy problems.

I don't know if anyone else is trying to collect the earliest examples of open source applications. I like to think so. But I would sure hate to think about this one's history fading out of memory.

12 comments

    claird
    claird 2 years ago

    You write so well it's hard to summarize what you've done any more briefly than the article itself. I like your emphasis, though, that a typical developer's loyalty was to "code quality, the development community, and ... the best answer ..."; as others have already detailed, while ACP deserves the crown as much as any application, its ethos pervaded wide swathes of computing at that time. An example: engineers, mathematicians, and others all co-operated in and benefitted from work in numerical methods epitomized by, for example, the '68 publication of Computer Approximations (which remains valuable, by the way, despite being out of print).

    Anonymous 2 years ago
    It's stilled used!Here's a link to its history:http://www.ambriana.com/IT201_website/TPF_history.pdfSABRE, then PARS, ACP and finally TPF.It all started with American's SABRE in 1962, and Delta's Deltamanic and Pan Am's Panamac in 1963.Worked for Pan Am, Continental, Citicorp, consulted at Canadian Air, and Americn Express; who all used and some still use TPF.
    Anonymous 2 years ago
    Here's a little bit of trivia for you. Back in the 90's, I worked for Prodigy, one of the original on-line services started as a joint venture between IBM, Sears and CBS(who quickly dropped out). Prodigy was built using NAPLPS (wiki it), to display its pages. Each graphic was technically an object or, to IBM, a transaction (yes, there's more to it than this, but I'm simplifying). I think you can see where I'm going with this. IBM in it's infinite wisdom threw it's big iron into the picture. We had (I believe this is the model), two ES9000s, running TPF to process these 'transactions'. Yep, Prodigy was centrally hosted on IBM's biggest iron for that time using an airline reservation system to deliver content to it's users. Funny stuff.
    Anonymous 2 years ago
    That was the 40th not 49th reunion and cutover was May of 1968 not May or 1968. Sorry about the fast typing errors...
    Anonymous 2 years ago
    ACP now TPF is also a rather small community and some of us old hackers are still around. In a paper I wrote within the last few months I referred people to ACP and PARS (Programmed Airline Reservation System) as probably the original open source. The first airline to cutover to an ACP/PARS based system was Continental in May or 1968, we had a 49th reunion of those of us that are still on this planet and ambulatory. I won't bore anyone with more detail, a friend in Holland wrote a history a few years ago and if anyone really wants the painful details I'd be happy to converse with them. The last point, ACP became TPF when IBM began to charge for the license. The original applications suite was released as PARS and given to anyone willing to pay for a tape. IBM gave it to the airlines and anyone else who wanted it but then got out of the application and got out of the business. The rest is history.
    Anonymous 2 years ago
    At one time most, if not all, of IBM's mainframe OSes had source available to customers who frequently made fixes and enhancements that were either distributed back through IBM or independently through the community.There were great battles over the availability of source and maintenance distributed to customers in source, using the language it was written, in as IBM began moving from assembler to their proprietary PL/x languages and withholding source or at least the real source and distrbuting only assembler generated by PL/x.It wasn't open source, but it was widely available source and IBM and IBM's customers all profited.
    Anonymous 2 years ago
    Another one of these systems from early IBM days is Houston Application Spooling Program - one of the early, multi-task application for managing printout spooling. HASP lead to IBM's own JES - job entry sub-system. There were a few IBM "open source" implementations. And they all started with IBM's incredible user community - shared ideas, collaborative, brilliant. Go to a SHARE conference sometime. when you combine smart people, beer, and ideas, things happen.
    Anonymous 2 years ago
    Actually, many airlines STILL use TPF to this day. Two that I know of for sure are Continental Airlines and Southwest.
    Anonymous 2 years ago
    Another early example from the life insurance industry is CFO (Consolidated Functions Oridnary). As I understand the history, this was originally written in the late fifties in AutoCoder and then rewritten (CFO II) in the early sixties in 360 Assembler. In the late sixties, the source was placed in the "public domain". After that several companies picked up the source, enhanced it and started selling customized versions of the systems. To this day, these customized versions remain the primary administration systems for a number of life insurance companies. While the customized versions are not open source, the original CFO and CFO II are also still available and still in use though to a much lesser extent.
    Anonymous 2 years ago
    this link: "trying to shove 5K of functionality into a 4K bag" is way broken.
    Anonymous 2 years ago in reply to Anonymous
    I was hired into IBM in 1966, an English Major, not knowing a thing about computers, although nobody else did at that time, all I knew is that it seemed to pay pretty well and I thought I could probably be a programmer. I was right.I went right into the ACP group in Poughkeepsie, NY (actually Hyde Park, NY) and was soon coding away in BAL (basic assembler language). The 4K program blocks must have come later. The original ACP program blocks were 381 and 1055 bytes, chained endlessly.After development was over in 1968, it was up to Boston for me to help to install the Northeast Airlines system. After that a stint in Rome, Italy with Alitalia. On my return I was offered a transfer to Contintntal in Los Angeles, but I got off the ACP train at that time, and became a regular IBM SE for the rest of my 30 year stint with IBM, and I enjoy the pension.
    Anonymous 2 years ago
    I remember Ban of America running it in the '70 as a transaction processor because CICS couldn't keep up. The mainframe was a 370 195 in the old computer center at the corner of Market and Van Ness in SFO.

      Add a comment

      Post a comment using one of these accounts
      Or join now
      At least 6 characters

      Note: Comment will appear soon after you have activated your account.
      Obscene/spam comments will be removed and accounts suspended.
      The information you submit is subject to our Privacy Policy and Terms of Service.

      ITworld LIVE

      Open SourceWhite Papers & Webcasts

      White Paper

      Consolidating SAP Applications to Linux on Power by IDC

      IDC studied a group of enterprises that had deployed SAP applications on IBM Power Systems servers running Linux server operating environments and had been working with those systems for several years. Learn about the results...

      White Paper

      An Interactive eGuide: Open Source

      By now, enterprises are well aware of the benefits of open-source software, which boasts a clean design, reliability, and maintainability, as well as support for standards and community values. But perhaps the biggest benefit is quality; since open-source software users have access to source code, bug fixes and enhancements come from multiple sources, often resulting in superior software.

      See more White Papers | Webcasts

      Ask a question

      Ask a Question