Workplace OS


Workplace OS was IBM's proposed ultimate operating system of the 1990s. It is the product of an exploratory research program in 1991 which yielded a design called the Grand Unifying Theory of Systems, with a desire to unify the world's systems as personalities cohabitating concurrently upon a single universal microkernel. In collaboration with Taligent and its Pink system, a project started by Apple Inc., the ambitious Workplace OS was intended to improve software portability and maintenance costs by aggressively recruiting all operating system vendors to convert to Workplace OS personalities. At the core of IBM's new unified strategic direction for the entire company, the project was intended also as a bellwether toward PowerPC hardware platforms, to compete with the Wintel duopoly.
With protracted development spanning four years and $2 billion, the project suffered development hell characterized by empire building, feature creep, and the second-system effect. In January 1996, the first commercial preview was launched with the name "OS/2 Warp Connect " by limited special order by select IBM customers. The entire operating system was discontinued in the same year due to very low market demand, including that of enterprise PowerPC hardware.
A University of California case study described the Workplace OS project as "one of the most significant operating systems software investments of all time" and "one of the largest operating system failures in modern times".

Overview

Objective

IBM acknowledged the software industry to be in a state of perpetual crisis. This was due to the inordinate complexity of software engineering brought on by its legacy of origins in procedural programming practices. Large software projects were too difficult, fragile, and time-consuming to create and maintain; they required too many programmers, who were too busy with fixing bugs and adding incremental features to create new applications. The company wanted to lay a new unified foundation for the future of computing.
IBM sought a migration path toward a new world view of computing based upon the efficient reuse of common work. It wanted to break the traditional monolithic software development cycle of producing alphas, then betas, then testing, and repeating over the entire operating system—instead compartmentalizing the development and quality assurance of individual unit objects.
This required a new way to build all software, nicknamed the Grand Unified Theory of Systems. This theory would merge with Apple's existing efforts to build microkernel-based object-oriented frameworks.

Architecture

IBM described its new microkernel architecture as scalable, modular, portable, client/server distributed, and open and fully licensable both in binary and source code forms. This microkernel-based unified architecture was intended to allow all software to become scalable both upward into supercomputing space and downward into mobile and embedded space.
Leveraged upon a single microkernel, IBM wanted to achieve its grand goal of unification by simplifying complex development models into reusable objects and frameworks, and all while retaining complete backward compatibility with legacy and heritage systems. Multiple-library support would allow developers to progressively migrate select source code objects to 64-bit mode, with side-by-side selectable 32-bit and 64-bit modes. IBM's book on Workplace OS says, "Maybe we can get to a 64-bit operating system in our lifetime." IBM intended shareable objects to eventually reduce the footprint of each personality, scaling them down to a handheld computing profile.
At the base of Workplace OS is a fork of the Mach 3.0 microkernel originally developed by Carnegie Mellon University and heavily modified by the Open Software Foundation's Research Institute. Officially named "IBM Microkernel", it provides five core features: IPC, virtual memory support, processes and threads, host and processor sets, and I/O and interrupt support.
On top of the IBM Microkernel, is a layer of shared services to cater to all personalities above them. Shared services are endian-neutral, have no user interface, and can serve other shared services. Byte summarizes that shared services "can include not only low-level file system and device-driver services but also higher-level networking and even database services. believes that locating such application-oriented services close to the microkernel will improve their efficiency by reducing the number of function calls and enabling the service to integrate its own device drivers." This layer contains the file systems, the scheduler, network services, and security services. IBM first attempted a device driver model completely based in userspace to maximize its dynamic configuration, but later found the need to blend it between userspace and kernelspace, while keeping as much as possible in userspace. The Adaptive Driver Architecture was designed for the creation of layered device drivers, which are easily portable to other hardware and operating system platforms beyond Workplace OS, and which consist of about 5000-8000 lines of device-specific code each.
Atop the shared services, the operating system personalities run in the form of userspace servers that execute DOS, OS/2, and UNIX—with further intentions to support Microsoft Windows, OS/400, AIX, Taligent OS, and MacOS personalities. Personalities provide environment subsystems to applications. Any one personality can be made dominant for a given version of the OS, providing the desktop user with a single GUI environment to accommodate the secondary personalities. In 1993, IBM planned one release version to be based upon the OS/2 Workplace Shell and another to be based upon the UNIX Common Desktop Environment.
IBM had planned for Workplace OS to run on several processor architectures, including PowerPC, ARM, and x86 computers, and ranging in size from PDAs to workstations to large 64-bit servers. IBM saw the easy portability of the Mach-based Workplace OS as creating a simple migration path to move its existing x86 customer base onto PowerPC-based systems. IBM hedged its operating system strategy by aggressively attempting to recruit other computer companies to adopt its microkernel as a basis for their own operating systems.

History

Development

GUTS

In January 1991, there was an internal presentation to the IBM Management Committee of a new strategy for operating system products. This included a chart called the Grand Unification Theory of Operating Systems which outlined how a single microkernel underlying common subsystems could provide a single unifying architecture for the world's many existing and future operating systems. It was initially based in a procedural programming model, not object-oriented. The design elements of this plan had already been implemented on IBM's RS/6000 platform via the System Object Model, a model which had already been delivered as integral to the OS/2 operating system.
Sometime later in 1991, as a result of the Apple/IBM business partnership, a small exploratory IBM team first visited the Taligent team, who demonstrated a relatively mature prototype operating system and programming model based entirely on Apple's Pink project from 1987. There, GUTS's goals were greatly impacted and expanded by exposure to these similar goals—especially advanced in the areas of aggressive object-orientation, and of software frameworks upon a microkernel. IBM's optimistic team saw the Pink platform as being the current state of the art of operating system architecture. IBM wanted to adopt Pink's more object-oriented programming model and framework-based system design, and add compatibility with legacy procedural programming along with the major concept of multiple personalities of operating systems, to create the ultimate possible GUTS model.
Through the historic Apple/IBM partnership, Apple's CEO John Sculley said that the already volume-shipping OS/2 and MacOS would become unified upon the common PowerPC hardware platform to "bring a renaissance to the industry".
In late 1991, a small team from Boca Raton and Austin began implementing the GUTS project, with the goal of proving the GUTS concept, by first converting the monolithic OS/2 2.1 system to the Mach microkernel, and yielding a demo. To gain shared access to key personnel currently working on the existing OS/2, they disguised the project as the Joint Design Task Force and brought "a significant number" of personnel from Boca, Austin, Raleigh, IBM Research, and Rochester. Pleased with the robust, long-term mentality of the microkernel technology and with the progress of the project, the team produced a prototype in mid 1992. The initial internal-development prototypes ran on x86-based hardware and provided a BSD Unix derived personality and a DOS personality.

Demos and business reorganization

At Comdex in late 1992, the team flew in and assembled a private demonstration based on last-minute downloads to replace corrupted files and one hour of sleep. The presentation was so well received that the prototype was put on the trade show floor on Thursday, as the first public demonstration of the IBM Microkernel-based system running OS/2, DOS, 16-bit Windows, and UNIX applications. In 1992, Taligent began to convert the Taligent OS from its internally developed microkernel named Opus, onto the IBM Microkernel. Ostensibly, this would have allowed Taligent's operating system to execute side-by-side with DOS and OS/2 operating system personalities.
In 1993, InfoWorld reported that Jim Cannavino "has gone around the company and developer support for a plan to merge all of the company's computing platforms—ES/9000, AS/400, RS/6000, and PS/2—around a single set of technologies, namely the PowerPC microprocessor, the Workplace OS operating system, and the Taligent object model, along with a series of open standards for cross-platform development, network interoperability, etc." On June 30, 1993, a presentation was given at the Boca Programming Center by Larry Loucks, IBM Fellow and VP of Software Architecture of the Personal Software Products Division.
By 1993, IBM reportedly planned two packages of Workplace OS, based on personality dominance: one based on the OS/2 Workplace Shell and another based upon the UNIX Common Desktop Environment.
By January 1994, the IBM Power Personal Systems Division had still not yet begun testing its PowerPC hardware with any of its three intended launch operating systems: definitely AIX and Windows NT, and hopefully also Workplace OS. Software demonstrations showed limited personality support, with the dominant one being the OS/2 Workplace Shell desktop, and the DOS and UNIX personalities achieving only fullscreen text mode support with crude hotkey switching between the environments. Byte reported that the multiple personality support promised in Workplace OS's conceptual ambitions was more straightforward, foundational, and robust than that of the already-shipping Windows NT. The magazine said "IBM is pursuing multiple personalities, while Microsoft appears to be discarding them" while conceding that "it's easier to create a robust plan than a working operating system with robust implementations of multiple personalities".
In 1994, the industry was shifting away from monolithic development and even application suites, toward object-oriented, component-based, crossplatform, application frameworks. Workplace OS was becoming notable for its many and repeated delays, with no product launch. In April 1994, Byte reported that under lead architect Paul Giangarra, IBM had staffed more than "400 people working to bring up on Power Personal hardware".
In May 1994, the RISC Systems software division publicly announced the company's first attempt to even study the feasibility of converting AIX into a Workplace OS personality. One IBM Research Fellow led a team of fewer than ten, to address the chief identified problem, that the fundamental byte ordering was incompatible between the big-endian AIX and the little-endian Workplace OS. After seven months of silence on it, and after years of having advertised it since the project's founding, IBM announced in January 1995 that the intractable problem had resulted in the total abandonment of the flagship plan for an AIX personality.
In late 1994, as the Workplace OS approached its first beta version, IBM referred to the beta product as "OS/2 for the PowerPC". IBM would later explain, "When we stopped using the name 'Workplace' and started calling the product 'OS/2 for the PowerPC', you might have thought that the 'Workplace' was dead. But the 'Workplace' is far from dead. It has simply been renamed for prime time." As the project's first deliverable product, this first beta was released to select developers on the Power Series 440 in December 1994. There was a second beta release in 1995. By 1995, IBM had shipped two different releases of an application sampler CD, for use with the beta OS releases.

Preview launch

In October 1995, IBM announced the upcoming first commercial release of Workplace OS, though still a developer preview. The announcement predicted it to have version 1.0 of the IBM Microkernel with the OS/2 personality and a new UNIX personality, on PowerPC. Having been part of the earliest demonstrations, the UNIX personality was now intended to be offered to customers as a holdover due to the nonexistence of a long-awaited AIX personality, but the UNIX personality was also abandoned prior to release.
From mid 1995, IBM officially named the preview "OS/2 Warp Connect " with the code name "Falcon". This developer release is the first ever publication of Workplace OS, and of the IBM Microkernel, which IBM's internal developers had been running privately on Intel and PowerPC hardware. The gold master was produced on December 15, 1995 with availability on January 5, 1996, only to existing Power Series hardware customers who performed a special product request through their IBM representative, who relayed it to the Austin research laboratory, for $215. The software essentially appears to the user as the visually identical and source-compatible PowerPC equivalent of the mainstream OS/2 3.0 for Intel. Packaged as two CDs with no box, its accompanying overview paper booklet calls it the "final edition" but it is still a very incomplete product intended only for developers. Its installer only supports two computer models, the IBM PC Power Series 830 and 850 which have PowerPC 604 CPUs of, of RAM, and IDE drives. Contrary to the product's "Connect" name, the installed operating system has no networking support. However, full networking functionality is described within the installed documentation files, and in the related book titled IBM's Official OS/2 Warp Connect PowerPC Edition: Operating in the New Frontier — all of which the product's paper booklet warns the user to disregard. The kernel dumps debugging data to the serial console. The system hosts no compiler, so developers are required to cross-compile application source code on the source-compatible OS/2 for Intel system, using MetaWare’s High C compiler or VisualAge C++, and manually copy the files to run them.
With an officially concessionary attitude, IBM had no official plans for a general release packaged for OEMs or retail, beyond this developer preview available only via special order from the development lab. Upon its launch, Joe Stunkard, spokesman for IBM's Personal Systems Products division, said "When and if the Power market increases, we'll increase the operating system's presence as required." On January 26, 1996, an Internet forum statement is made by John Soyring, IBM's Vice President of Personal Software Products: "We are not planning additional releases of the OS/2 Warp family on the PowerPC platform during 1996 — as we just released in late December 1995 the OS/2 Warp product.... We have just not announced future releases on the PowerPC platform. In no way should our announcement imply that we are backing away from the PowerPC."

Roadmap

On November 22, 1995, IBM's developer newsletter said, "Another focus of the 1996 product strategy will be the IBM Microkernel and microkernel-based versions of OS/2 Warp. Nearly 20 corporations, universities and research institutes worldwide have licensed the microkernel, laying the foundation for a completely open microkernel standard." IBM planned a second feature-parity release for Intel and PowerPC in 1996. In 1996, a Workplace OS version was rumored to exist internally that also supported x86 and ARM processors. IBM reportedly tested OS/2 on the never-released x86-compatible PowerPC 615 CPU.
At this point, the several-year future roadmap of Workplace OS included IBM Microkernel 2.0 and was intended to subsume the fully converged future of the OS/2 platform starting after the future release of OS/2 version 4, including ports to Pentium, Pentium Pro, MIPS, ARC, and Alpha CPUs.

Discontinuation

The Workplace OS project was finally canceled in 1996 due to myriad factors: inadequate performance; low acceptance of the PowerPC Reference Platform; poor quality of the PowerPC 620 launch; extensive cost overruns; lack of AIX, Windows, or OS/400 personalities; and the overall low customer demand. The only mainstream desktop operating system running on PowerPC was Windows NT, which also lacked supply and demand. Industry analysts said that "the industry may have passed by the PowerPC". In 1996, IBM also closed the Power Personal Division responsible for personal PowerPC systems. The other long-term effect was that IBM stopped developing new operating systems, and instead committed heavily to Linux, Java, and some Windows.
Having cost four years of broken promises and $2 billion, Workplace OS was known as "one of the most significant operating systems software investments of all time" and "one of the largest operating system failures in modern times".

Reception

Industrial reception

The industry was constantly grappling with the second system effect. On November 15, 1993, InfoWorld projected, "Now IBM needs to talk about this transition without also telling its customers to stop buying all the products it is already selling. Tough problem. Very little of the new platform that IBM is developing will be ready for mission-critical deployment until 1995 or 1996. So the company has to dance hard for two and maybe three years to keep already disaffected customers on board."
In 1994, an extensive analysis by Byte reported that the multiple personality model in Workplace OS's beta design was more straightforward, foundational, and robust than that of the already-shipping Windows NT. The magazine said "IBM is pursuing multiple personalities, while Microsoft appears to be discarding them" while conceding that "it's easier to create a robust plan than a working operating system with robust implementations of multiple personalities".
Upon the January 1996 developer release, InfoWorld relayed the industry's dismay that the two years of delays had made the platform "too little, too late", "stillborn", and effectively immediately discontinued. An analyst was quoted, saying that "The customer base would not accept OS/2 and the PowerPC at the same time" because by the time IBM would eventually ship a final retail package of OS/2 on PowerPC machines, "the power/price ratio of the PowerPC processor just wasn't good enough to make customers accept all of the other drawbacks" of migrating to a new operating system alone.
In 2013, Ars Technica retrospectively characterized the years of hype surrounding Workplace OS as supposedly being "the ultimate operating system, the OS to end all OSes... It would run on every processor architecture under the sun, but it would mostly showcase the power of POWER. It would be all-singing and all-dancing."

Academic analysis

In 1997, a case study of the history of the development of Workplace OS was performed by the University of California with key details verified by IBM personnel. These researchers concluded that IBM had relied throughout the project's history upon multiple false assumptions and overly grandiose ambitions, and had failed to apprehend the inherent difficulty of implementing a kernel with multiple personalities. IBM considered the system mainly as its constituent components and not as a whole, in terms of system performance, system design, and corporate personnel organization. IBM had not properly researched and proven the concept of generalizing all these operating system personalities before starting the project, or at any responsible timeframe during it — especially its own flagship AIX. IBM assumed that all the resultant performance issues would be mitigated by eventual deployment upon PowerPC hardware. The Workplace OS product suffered the second-system effect, including feature creep, with thousands of global contributing engineers across many disparate business units. The report described the Workplace OS project as "one of the most significant operating systems software investments of all time" and "one of the largest operating system failures in modern times".