What Posix Delivered, and Didn't, for 3000s
October 15, 2013
The arrival of the POSIX.1 software standards in MPE was a compatibility milestone. I remember the call I got from HP's Glenn Osaka, then a product manager at the 3000 division, asking what I'd think about a renaming of MPE. In the fall of 1991 the 3000's OS was called MPE/XL. In just a few weeks, HP wanted to start calling it MPE/iX. Those last two letters were the same as Unix, but the OS didn't ever produce commercial apps from that OS. HP was hawking its Unix hard by that time. Starting in 1992, the 3000 was being portrayed as open.
But a decade of HP effort to win applications from the Unix environment came to an end in the fall of 2001. What was left over from the grafting of POSIX onto the 3000's OS? To this very day, you can use open source software that's been ported to MPE. Or port some yourself, if this will solve a compatibility problem.
HP wasn't shy about telling 1991's customers how much difference that iX was going to make. Unix benefits that the 3000 were supposed to gain included app portability, a Unix development environment, and multivendor connectivity. HP called it the Open 3000.
"Customers now have access to a wide breadth of industry-leading applications," said 3000 GM Rich Sevcik. "It should be viewed as a very exciting incremental set of functionality for the MPE owner, and it's just another example of the smooth evolution of the HP 3000."
While the arrival of Micro Focus, Oracle's apps, Lawson Software ERP or SAP never materialized, some key non-commercial software made its way to the 3000. Lots of it has become essential at connecting the servers to non-3000s, especially through networking. One of the first and most prominent results of Posix was the file-sharing tool Samba.
One HP lab engineer of that time said the goal of the POSIX.1 effort was "to increase the availability of some types of applications on the 3000, and to provide for modernization and connectivity with other 'open' platforms. POSIX.1 allowed the Apache Web server, Samba, and many other open source tools to be ported at low cost to the 3000."
The cost was so low that a then-essential Web Server, Apache, was ported by a non-HP engineer who needed the software for his community college's datacenter. Mark Bixby was later hired by the lab and became crucial to what was called Internet & Interoperability.
Posix also brought industry-standard administration interfaces to the OS. The ideal there was to be able to take Unix-trained IT staffers and put them to work managing HP 3000s. Or to make the 3000 no different than Unix management, so the MPE server wouldn't stick out too much. Unix was claiming to be an open choice -- that engineer was correct in putting quotes around open -- ever since the late 1980s.
But Posix was never going to future-proof the 3000's environment, in spite of the promises made about its prospects at HP. It was never engineered enough to provide binary compatibility. By the middle '90s, the Newswire was covering "Proposition 3000" to make the 3000's FTP GET, its tar -xzf, its make and make install work like HP's Unix counterparts. No vendor would ever certify code for every Unix, or even Linux distros in existence today.
But a majority of open source code has a good track record for just working.
The promise of "open" was always on the other side of serious engineering costs. Until Intel processors ruled the planet, you'd have to worry about hardware support and low-level incompatibilities. Things like page sizes, sector sizes, supported devices, ioctl() codes, incompatible drivers and so on.
Eventually even architectural differences between MPE and the Unix world made Web services a non-starter. A Unix standby called the "fork() of death" that made production web services on the 3000 an impossibility. One legendary MPE expert, Jeff Kell of the University of Tennessee at Chattanooga, said the fork simply wouldn't go into the meatiest part of the OS.
"fork() is such an alien and invasive concept to the MPE mindset, yet a laissez-faire operation on *ux," he said. "It would have required some really heavy lifting, perhaps beyond the fork() conversion folks' abilities or resource scope." Plainly put, more engineering time might have brought MPE into line with Unix, but it might have been too great a difference in design, too.
When you can apply Perl, or other open source resources like the ones found at www.mpe-opensource.org, to a 3000's mission, you see the benefit of changing that XL to an iX. Posix was HP’s first effort at making MPE more standards-friendly. The engineering led to the potential for open source programs such as Samba, Apache and more to make it across the porting divide — and give the 3000 its first genuine cross-platform tools. The Posix work in MPE made GNU C for the 3000 a possibility, back in the nascent era of the open source movement. And without GNU C, nothing else would be available from the open source library today.