Wabi (software)

Last updated
Wabi
Developer(s) Sun Microsystems
Operating system Solaris, AIX, HP-UX, SCO OpenServer, Linux
Type Middleware

Wabi is a discontinued commercial software application from Sun Microsystems that implements the Windows Win16 API specification. Wabi runs applications developed for Windows 3.1, Windows 3.11, and Windows for Workgroups, interpreting and translating x86 instructions where appropriate, but without providing emulation support for DOS or PC hardware.

Contents

Wabi was originally released for Solaris, with versions following for AIX, HP-UX and SCO OpenServer. A version for Linux was also released by Caldera.

History

The technology was originally developed by Praxsys Technologies as the result of discussions in 1990 with Interactive Systems Corporation. The assets of Praxsys were acquired by Sun in the fall of 1992. [1] Originally referenced in publicity as WABI, short for Windows Application Binary Interface, [2] [3] the product was eventually known as Wabi, reportedly to avoid trademark issues. [4] Another connotation given to the name is its meaning in Japanese aesthetics, given as "quiet taste" in SunSoft's own literature, with the original WABI acronym being acknowledged as "a fair description of what Wabi is". [5] :1

Originally demonstrated by SunSelect, a division of Sun Microsystems, at the 1992 Fall Comdex show, the product was described as leveraging the Windows API to be able to "separate the software from the hardware", allowing RISC workstation vendors such as Sun to provide greater performance running Windows applications than such applications exhibited on conventional Intel-based personal computers. This use of the Windows API meant that Wabi was not able to run DOS applications, unlike other solutions such as the company's existing SunPC product based on technology licensed from SoftPC creator Insignia Solutions. [2]

Announced in May 1993, Wabi was to be offered at no cost to Solaris purchasers during that year. [3] Later in 1993, IBM obtained the right to offer the software on its own RS/6000 workstation range in exchange for granting Sun access to "certain IBM technology to enhance WABI further". [6] Sun announced Wabi 1.1 in April 1994, having shipped only 30,000 copies of Wabi 1.0. Offering "significantly enhanced stability and reliability" over the previous version, Hewlett-Packard and IBM were also to provide the updated software on their own systems. Wabi 2.0 was promised as a further upgrade in the summer of 1994, supporting a larger number of certified applications than the 13 titles of the original release. [7]

By late 1994, Sun had reported shipping 100,000 copies of Wabi bundled at no extra cost with Solaris 2. Meanwhile, HP and IBM offered the product as an optional extra, charging $395.00 and $249.00 respectively. [8] Wabi 2.0 eventually broadened application support to 24 titles, these reportedly accounting for "over 80 percent of the commercial Windows applications market". [9] SCO also offered Wabi as an option for its OpenServer Release 5 products, [10] specifically Wabi 2.0. [11]

Sun improved the product further and released Wabi 2.1 in 1995, introducing multimedia capabilities such as the handling of audio and video, as well as ODBC support in Windows applications. Alongside this, Sun upgraded its version of Merge, offered to run DOS applications, announced a deal with Merge's creator, Locus Computing Corporation, for continued development of that product, and introduced a faster CPU in its SunPC expansion card. The company indicated that with the introduction of Windows 95, anticipating that sufficient demand for Windows 95 applications would be met with an updated version of Wabi supporting such applications within a year of the release of Windows 95. [12] Sun also introduced WabiServer, providing a means of running Windows applications in Wabi on a server, with clients accessing those applications over a network. This permitted X terminals and low-end SPARC systems, including those running SunOS, to take advantage of the software. [13]

Wabi 2.2 was licensed from SunSoft by Caldera in 1996 as part of that company's Linux strategy, [14] releasing the software in November of that year, [15] being sold as a product for various Linux distributions. [16] Wabi development was discontinued in December 1997, [17] with only "sustaining engineering" being performed beyond this date. Wabi 2.2 revision E was the final Sun-issued version of the product, available only for Solaris 2.6. [18]

Other solutions sought to provide similar functionality to Wabi. The Willows Toolkit, previously known as TWIN APIW, provided the Willows Application Programming Interface (WAPI) consisting of a Willows Binary Interface capable of hosting existing Windows applications, the Willows Library implementing the Windows API, and the Willows Driver implementing three functional subsystems performing window management, graphical operations, and access to native system functionality. [19] Wine was also already in development at the time of Wabi's discontinuation, although both Wine and the Willows Toolkit were unable to provide a similar level of experience to that delivered by Wabi at that point in time. [20]

Features

In its initial form, Wabi was intended to be able to run certified applications, these having been tested to establish correct operation, without any need for any Windows software. [4] However, Wabi 2.0 explicitly supported Windows 3.1 itself as a certified application, and an installation of Windows was reported as a helpful measure in addressing the shortcomings of previous versions of the software. [9] Wabi 2.1 added support for Windows for Workgroups 3.11. [5] :114

To support programs written for the Windows API, Wabi provides library routines for published or documented API calls that perform the equivalent work in the host environment, this being Solaris in the version of the product for Sun's own workstations. [21] In contrast to other approaches, notably Insignia's SoftWindows and related products, hosted applications employ native software components, resulting in Windows applications appearing in their own windows within the X Window System environment, as opposed to appearing in a Windows desktop session confined to a single native window. [22]

Wabi implements the lowest layers of the Windows environment in the form of the user.dll, kernel.dll, and gdi.dll libraries. All other Windows dlls depend on these three modules, so cloning this functionality allows Windows software to execute correctly on a foreign host system. This approach, as opposed to a full replacement, was thought by the engineering team to be the only rational methodology for success given both the size of Microsoft's ever-expanding efforts and the difficulties of the emulation being precise enough to run commercial software. [23]

Wabi was released for Solaris SPARC, x86 and PowerPC systems, [24] as well as on PowerPC systems running AIX, [25] PA-RISC systems running HP-UX, [26] and on x86 and SPARC systems running Linux. [16] To run an x86 Windows environment on SPARC and other RISC systems, a code translation layer dynamically converts x86 instructions upon first use into SPARC or other native instructions. [23]

DOS and PC hardware emulation are not provided by Wabi, but Caldera'a version of the software permitted the use of a DOS emulator, provided by the DOSEMU package, to allow the Windows Program Manager to launch a DOS command session from its MS-DOS Prompt icon. [27]

Standardization attempt

Since Wabi implemented and thus depended on the usage of "published, well-known" Windows API calls by applications, it remained sensitive to instances of undocumented API usage by applications with "intimate knowledge of the Windows environment" that would refuse to run correctly. [21] Despite the use of techniques that accelerated Windows applications when run under Wabi when comparing a Solaris on Intel system with one running Windows on identical hardware, [22] users reported that application performance varied, with some applications performing too slowly. [7]

Meanwhile, an impression had been established that undocumented Windows calls were being exploited by application developers, Microsoft in particular, to gain a form of competitive advantage. Indeed, in response to claims to this effect, prompted by the publication of a book, Undocumented Windows, Microsoft confirmed that its own applications did use such calls, claiming that since such practices were widespread, no advantage had been gained. [28] Following industry experience with the DOS API as a de-facto standard, with multiple implementations and supported by multiple environments, and with efforts such as Wabi seeking to support the Windows API across multiple environments, an argument was made for considering both DOS and Windows, or at least their APIs, as "sufficiently generic, and sufficiently important, to deserve something like ANSI standards committees". [29]

In conjunction with its development of the Wabi software, Sun initiated the Public Windows Interface effort to create such a public standard, enlisting several other companies including systems vendors such as IBM, ICL and Toshiba, operating systems vendors such as SCO and Unix System Laboratories, and application developers such as Corel and WordPerfect Corporation. Sun's Scott McNealy claimed that Sun had effectively "documented the Windows API for Microsoft", submitting it to X/Open for consideration as an industry standard. [30] Developed from public specifications and maintained by an international standards organisation, such a standard was regarded as being free from the assertion of Microsoft's copyright and patents. [31]

Sun had reportedly but unsuccessfully sought some form of licensing arrangement with Microsoft for access to Windows technologies in early 1993. [32] Microsoft's Bill Gates claimed in response to Sun's initiative that the same information was already available in "a $9 book at the local bookstore", nevertheless considering a legal response after reviewing the released Wabi product. [33] In response to the threat of this initiative and Wabi, Microsoft "launched a preemptive strike" by licensing Windows source code to Insignia Solutions, leading to the release of its SoftWindows product. [22] This was part of a broader licensing effort seeking to appeal to selected companies looking to run Windows solutions on Unix systems. [30]

Despite Sun's contention that there was no intellectual property breach, the Public Windows Interface effort was obstructed by Microsoft lobbying directed towards various standards bodies, effectively curtailing this standardisation attempt. [34]

See also

Related Research Articles

<span class="mw-page-title-main">Sun Microsystems</span> American computer company, 1982–2010

Sun Microsystems, Inc. was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the Network File System (NFS), and SPARC microprocessors. Sun contributed significantly to the evolution of several key computing technologies, among them Unix, RISC processors, thin client computing, and virtualized computing. Notable Sun acquisitions include Cray Business Systems Division, Storagetek, and Innotek GmbH, creators of VirtualBox. Sun was founded on February 24, 1982. At its height, the Sun headquarters were in Santa Clara, California, on the former west campus of the Agnews Developmental Center.

<span class="mw-page-title-main">Oracle Solaris</span> Unix operating system originally developed by Sun Microsystems

Solaris is a proprietary Unix operating system originally developed by Sun Microsystems. After the Sun acquisition by Oracle in 2010, it was renamed Oracle Solaris.

<span class="mw-page-title-main">OpenStep</span> Defunct object-oriented application programming interface specification

OpenStep is an object-oriented application programming interface (API) specification developed by NeXT. It provides a framework for building graphical user interfaces (GUIs) and developing software applications. OpenStep was designed to be platform-independent, allowing developers to write code that could run on multiple operating systems, including NeXTSTEP, Windows NT, and various Unix-based systems. It has influenced the development of other GUI frameworks, such as Cocoa for macOS, and GNUstep.

<span class="mw-page-title-main">DR-DOS</span> MS-DOS-like operating system

DR-DOS is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS that attempted to be compatible with IBM PC DOS and MS-DOS.

<span class="mw-page-title-main">StarOffice</span> Discontinued office suite software

StarOffice is a discontinued proprietary office suite. Its source code continues today in derived open-source office suites Collabora Online and LibreOffice. StarOffice supported the OpenOffice.org XML file format, as well as the OpenDocument standard, and could generate PDF and Flash formats. It included templates, a macro recorder, and a software development kit (SDK).

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

An object-oriented operating system is an operating system that is designed, structured, and operated using object-oriented programming principles.

This article presents a timeline of events in the history of computer operating systems from 1951 to the current day. For a narrative explaining the overall developments, see the History of operating systems.

Star Trek is the code name that was given to a secret prototype project, running a port of Macintosh System 7 and its applications on Intel-compatible x86 personal computers. The project, starting in February 1992, was conceived in collaboration between Apple Computer, who provided the majority of engineers, and Novell, who at the time was one of the leaders of cross-platform file-servers. The plan was that Novell would market the resulting OS as a challenge to Microsoft Windows, but the project was discontinued in 1993 and never released, although components were reused in other projects. The project was named after the Star Trek science fiction franchise with the slogan "To boldly go where no Mac has gone before".

<span class="mw-page-title-main">UNIX System V</span> Early commercial UNIX operating system

Unix System V is one of the first commercial versions of the Unix operating system. It was originally developed by AT&T and first released in 1983. Four major versions of System V were released, numbered 1, 2, 3, and 4. System V Release 4 (SVR4) was commercially the most successful version, being the result of an effort, marketed as Unix System Unification, which solicited the collaboration of the major Unix vendors. It was the source of several common commercial Unix features. System V is sometimes abbreviated to SysV.

<span class="mw-page-title-main">Tadpole Computer</span>

Tadpole Computer was a manufacturer of rugged, military specification, UNIX workstations, thin client laptops and lightweight servers.

QuickTransit was a cross-platform virtualization program developed by Transitive Corporation. It allowed software compiled for one specific processor and operating system combination to be executed on a different processor and/or operating system architecture without source code or binary changes.

Caldera OpenLinux (COL) is a defunct Linux distribution. Caldera originally introduced it in 1997 based on the German LST Power Linux distribution, and then taken over and further developed by Caldera Systems since 1998. A successor to the Caldera Network Desktop put together by Caldera since 1995, OpenLinux was an early "business-oriented distribution" and foreshadowed the direction of developments that came to most other distributions and the Linux community generally.

The following is a timeline of virtualization development. In computing, virtualization is the use of a computer to simulate another computer. Through virtualization, a host simulates a guest by exposing virtual hardware devices, which may be done through software or by allowing access to a physical device connected to the machine.

<span class="mw-page-title-main">SunPCi</span> Series of single-board computers

SunPCi is a series of single-board computers with a connector that effectively allows a PC motherboard to be fitted in Sun Microsystems SPARC-based workstations based on the PCI architecture adding the capability for the workstation to act as a 'IBM PC compatible' computer. The Sun PCi cards included an x86 processor, RAM, expansion ports, and an onboard graphics controller, allowing a complete Wintel operating environment on a Solaris system. The SunPCi software running on Solaris emulates the disk drives that contain the PC filesystem. The PC software running on the embedded hardware is displayed in an X window on the host desktop; there is also a connector on the edge of the board that can optionally be used to connect a PC monitor.

Locus Computing Corporation was formed in 1982 by Gerald J. Popek, Charles S. Kline and Gregory I. Thiel to commercialize the technologies developed for the LOCUS distributed operating system at UCLA. Locus was notable for commercializing single-system image software and producing the Merge package which allowed the use of DOS and Windows 3.1 software on Unix systems.

This article presents a timeline of events in the history of 16-bit x86 DOS-family disk operating systems from 1980 to present. Non-x86 operating systems named "DOS" are not part of the scope of this timeline.

<span class="mw-page-title-main">MS-DOS</span> Discontinued Microsoft operating system

MS-DOS is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few operating systems attempting to be compatible with MS-DOS, are sometimes referred to as "DOS". MS-DOS was the main operating system for IBM PC compatibles during the 1980s, from which point it was gradually superseded by operating systems offering a graphical user interface (GUI), in various generations of the graphical Microsoft Windows operating system.

The Application Programming Interface for Windows (APIW) Standard is a specification of the Microsoft Windows 3.1 API drafted by Willows Software. It is the successor to previously proposed Public Windows Interface standard. It was created in an attempt to establish a vendor-neutral, platform-independent, open standard of the 16-bit Windows API not controlled by Microsoft.

References

  1. "Short takes". Computerworld. 21 September 1992. p. 16. Retrieved 5 May 2024.
  2. 1 2 Andrews, Dave (February 1993). "SunSelect Intrigues with WABI for Unix". Byte. p. 36. Retrieved 5 May 2024.
  3. 1 2 Bozman, Jean S. (3 May 1993). "Sun opens Unix to Windows apps". Computerworld. pp. 1, 10. Retrieved 5 May 2024.
  4. 1 2 Alsop, Stewart (24 May 1993). "Brace yourself for the next generation of desktop operating systems". InfoWorld. p. 4. Retrieved 5 May 2024.
  5. 1 2 Fordin, Scott; Nolin, Susan (1996). Wabi 2 Opening Windows. SunSoft Press. ISBN   0-13-461617-0 . Retrieved 6 May 2024.
  6. "IBM Licences SunSelect's WABI Technology". The Computer Paper. October 1993. p. 56. Retrieved 5 May 2024.
  7. 1 2 Bozman, Jean S. (11 April 1994). "SunSoft bridges gap with Solaris 2.4". Computerworld. p. 16. Retrieved 5 May 2024.
  8. Bozman, Jean S. (19 September 1994). "Wabi gets 'interface-lift' to enhance user appeal". Computerworld. pp. 49, 53. Retrieved 9 May 2024.
  9. 1 2 Tamasanis, Doug (July 1995). "A Less Wobbly Wabi". Byte. pp. 159–160. Retrieved 5 May 2024.
  10. Esch, Jim (March 1996). "Choose All That Apply". HP Professional. Vol. 10, no. 3. pp. 22–27. Retrieved 12 May 2024.
  11. Sorge, Leo (June 1995). "SCO Server 5, in arte Everest". MCmicrocomputer. No. 152. pp. 292–294. Retrieved 12 May 2024.
  12. "A better Wabi, SunPC". SunWorld Online. 27 June 1995. Retrieved 9 May 2024.
  13. "82.10: SunSoft Expands WABI Line With New Server Product" (Press release). Sun Microsystems. October 1995. Retrieved 9 May 2024.
  14. "Caldera Licenses Wabi for Windows Apps on Linux". Tech Monitor. 6 March 1996. Retrieved 7 May 2024.
  15. "Caldera Ships Wabi 2.2 for Linux" (Press release). Caldera. 18 November 1996. Retrieved 12 May 2024.
  16. 1 2 Johnson, Dwight L. (1 June 1997). "Wabi: Caldera's Solution for Windows Applications". Linux Journal. Retrieved 7 May 2024.
  17. Holve, Michael (3 December 1997). "WABI v2.2 for Linux by Caldera". Everything Linux. Retrieved 7 May 2024.
  18. "The Future of Wabi". Sun Microsystems. 1998. Retrieved 9 May 2024.
  19. "The Willows Toolkit Technical White Paper". Willows Software. 5 December 1998. Retrieved 7 May 2024.
  20. Diedrich, Oliver (July 1998). "Shaky Bridges". c't. p. 170. Retrieved 7 May 2024.
  21. 1 2 Nance, Barry (November 1995). "Sincere OS Flattery". Byte. pp. 119–120, 122. Retrieved 5 May 2024.
  22. 1 2 3 Hayes, Frank (January 1994). "SunSelect's Wabi vs. Insignia Solutions' SoftWindows". Byte. pp. 156–157. Retrieved 5 May 2024.
  23. 1 2 Hohensee, Paul; Myszewski, Mat; Reese, David (August 1996). "Wabi Cpu Emulation" (PDF). Hot Chips VIII. Retrieved 6 July 2021.
  24. "Running Wabi on 24-bit video displays". Inside Solaris. Vol. 4, no. 3. The Cobb Group. March 1998. pp. 14–15. ISSN   1081-3314 . Retrieved 9 May 2024.
  25. "Wabi 1.1 for AIX".
  26. Pollace, Michelle (March 1994). "Product Focus". hp-ux/usr. pp. 60–61. Retrieved 9 May 2024.
  27. Wabi for Linux User's Guide (PDF). Caldera. July 1996. pp. 133–149. Retrieved 12 May 2024.
  28. Karnes, Clifton (December 1992). "Editorial License". Compute!. p. 4. Retrieved 5 May 2024.
  29. Schulman, Andrew; Brown, Ralf; Maxey, David; Michels, Raymond J.; Kyle, Jim (1993). Undocumented DOS (2 ed.). Addison-Wesley. p. 179. Retrieved 5 May 2024.
  30. 1 2 Paul, Fredric (17 May 1993). "Vendors port Windows, Mac apps to Unix platforms". Network World. pp. 15–16. Retrieved 6 May 2024.
  31. Hines, John R. (July 1993). "Windows API: private or public property". IEEE Spectrum. p. 17. Retrieved 6 May 2024.
  32. Hess, Robert (10 May 1993). "APIs jumping across platforms". MacWEEK. pp. 1, 107. Retrieved 5 May 2024.
  33. Johnson, Maryfran (November 1993). "Warring Over Windows". Computerworld Client/Server Journal. Vol. 1, no. 1. pp. 42–45. Retrieved 6 May 2024.
  34. Fellows, William (6 May 1999). "Sun Uses ECMA as Path to ISO Java Standardization". Tech Monitor. Retrieved 6 May 2024.