Wabi (software)

From Wikipedia, the free encyclopedia
Wabi
Developer(s)Sun Microsystems
Operating systemSolaris, AIX, Linux

Wabi is a discontinued commercial software application from Sun Microsystems that implements the Windows Win16 API specification on Solaris and AIX; a version for Linux was also released by Caldera Systems. Wabi runs applications developed for Windows 3.1, Windows 3.11, and Windows for Workgroups.

History[edit]

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] Wabi 2.0 eventually broadened this application support to 24 titles, these reportedly accounting for "over 80 percent of the commercial Windows applications market".[8]

Wabi 2.2B was licensed by Caldera for Linux,[9] together with the also licensed Merge.

Wabi development was discontinued in December 1997.

Features[edit]

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.[8] 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.[10] 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.[11]

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.[citation needed]

Wabi was released for x86 and SPARC systems, and on PowerPC for AIX.[12] To run an x86 Windows environment on SPARC systems, a code translation layer dynamically converts x86 instructions upon first use into SPARC instructions.[13]

Standardization attempt[edit]

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.[10] 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,[11] 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.[14] 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".[15]

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.[16] 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.[17]

Sun had reportedly but unsuccessfully sought some form of licensing arrangement with Microsoft for access to Windows technologies in early 1993.[18] 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.[19] 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.[11] This was part of a broader licensing effort seeking to appeal to selected companies looking to run Windows solutions on Unix systems.[16]

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.[20]

See also[edit]

References[edit]

  1. ^ "Short takes". Computerworld. 21 September 1992. p. 16. Retrieved 5 May 2024.
  2. ^ a b Andrews, Dave (February 1993). "SunSelect Intrigues with WABI for Unix". Byte. p. 36. Retrieved 5 May 2024.
  3. ^ a b Bozman, Jean S. (3 May 1993). "Sun opens Unix to Windows apps". Computerworld. pp. 1, 10. Retrieved 5 May 2024.
  4. ^ a b Alsop, Stewart (24 May 1993). "Brace yourself for the next generation of desktop operating systems". InfoWorld. p. 4. Retrieved 5 May 2024.
  5. ^ a b 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. ^ a b Bozman, Jean S. (11 April 1994). "SunSoft bridges gap with Solaris 2.4". Computerworld. p. 16. Retrieved 5 May 2024.
  8. ^ a b Tamasanis, Doug (July 1995). "A Less Wobbly Wabi". Byte. pp. 159–160. Retrieved 5 May 2024.
  9. ^ Wabi: Caldera's Solution for Windows Applications
  10. ^ a b Nance, Barry (November 1995). "Sincere OS Flattery". Byte. pp. 119–120, 122. Retrieved 5 May 2024.
  11. ^ a b c Hayes, Frank (January 1994). "SunSelect's Wabi vs. Insignia Solutions' SoftWindows". Byte. pp. 156–157. Retrieved 5 May 2024.
  12. ^ "Wabi 1.1 for AIX".
  13. ^ Hohensee, Paul; Myszewski, Mat; Reese, David (August 1996). "Wabi Cpu Emulation" (PDF). Hot Chips VIII. Retrieved 6 July 2021.
  14. ^ Karnes, Clifton (December 1992). "Editorial License". Compute!. p. 4. Retrieved 5 May 2024.
  15. ^ Schulman, Andrew; Brown, Ralf; Maxey, David; Michels, Raymond J.; Kyle, Jim (1993). Undocumented DOS (2 ed.). Addison-Wesley. p. 179. Retrieved 5 May 2024.
  16. ^ a b Paul, Fredric (17 May 1993). "Vendors port Windows, Mac apps to Unix platforms". Network World. pp. 15–16. Retrieved 6 May 2024.
  17. ^ Hines, John R. (July 1993). "Windows API: private or public property". IEEE Spectrum. p. 17. Retrieved 6 May 2024.
  18. ^ Hess, Robert (10 May 1993). "APIs jumping across platforms". MacWEEK. pp. 1, 107. Retrieved 5 May 2024.
  19. ^ Johnson, Maryfran (November 1993). "Warring Over Windows". Computerworld Client/Server Journal. Vol. 1, no. 1. pp. 42–45. Retrieved 6 May 2024.
  20. ^ Fellows, William (6 May 1999). "Sun Uses ECMA as Path to ISO Java Standardization". Tech Monitor. Retrieved 6 May 2024.

External links[edit]