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


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?

Join us:






Answers - Powered by ITworld

ITworld Answers helps you solve problems and share expertise. Ask a question or take a crack at answering the new questions below.

Ask a Question