• United States

Linux start-up develops David to take on Windows Goliath

Aug 03, 20045 mins
Enterprise ApplicationsLinux

A secretive Manila start-up is developing software that, it claims, will allow virtually any Windows application to run on the Linux operating system. While fuzzy on details, the company, called SpecOps Labs, says that it has developed a novel approach to the problem, one that uses both existing open-source software as well as proprietary code the company has written itself.

SpecOps’ software has been under development since 2002, when an engineer working on an Internet dial-up program for company founder Fred Lewis’ previous venture, a Philippines telecommunications company, developed a novel way for running Windows applications on Linux.

Not long after, Lewis read about a U.S. company called CodeWeavers, which had developed software that would run Microsoft Office on Linux. He went back to his engineer.

“Once I saw that and asked him if this was the same thing that he was talking about. And he said, ‘Yeah,’ although, based on his idea, he would be able to run a lot more programs,” Lewis said.

This was the beginning of SpecOps Labs, which with its staff of 20 hopes to achieve on Linux what many consider to be the near-impossible task of running the majority of Windows applications out of the box. After two years of software development, the company now expects to release its first beta software by year-end, Lewis said.

Though SpecOps is reluctant to discuss details of its product, called David, the company has been showing proof-of-concept demonstrations to potential industry partners recently, and last month it enticed Asian Linux vendor TurboLinux to sign a letter of intent with SpecdOps indicating its interest in discussing a distribution deal for the product.

“From what we’ve learned so far, it seems to be very easy to install, and once it’s installed, it seems to run in the background,” said Michael Jennings, director of international business with TurboLinux, based in Tokyo. “That makes it very interesting to us,” he said. “A lot of the impediment to getting to the desktop is the lack of Office support.”

TurboLinux, however, has not committed to shipping David, Jennings said. His company’s experience with the software has been limited to observing it running in the SpecOps labs. “We’ve not seen it on site at TurboLinux’s labs, nor have our engineers had the chance to see it directly,” he said.

David essentially combines the two most common techniques employed by Linux users to run Windows code. It includes the open source Wine software — also used by CodeWeavers — which implements many of the functions used by Windows programs in Linux, but will also include proprietary implementations of the Windows APIs and a virtualization component, similar to VMware’s software. These components would simulate parts of the Windows operating system, which would then be used by Windows applications like Internet Explorer or Microsoft Office to run on Linux.

“We’re going to use the virtual machine idea, but we’re going to do that on a component level,” Lewis said. “That’s radically different from what Wine or CodeWeavers is doing. What we’re doing that with, we’re not going to say at this point, but that’s just one technique.”

Because of the immense amount of work required to reverse-engineer Windows APIs for Linux, Wine does not implement Microsoft’s latest set of APIs, which makes it difficult if not impossible to run many of the latest Windows applications out of the box, Lewis said.

With SpecOps’ virtualization software, however, David will be able to more quickly catch up with the latest Windows APIs, and will be better at running applications that are dependent on functions used by Internet Explorer as well, Lewis said.

“If we were going to use Wine’s approach, then it would take forever to do this,” he said. “We feel that we have a much better way of doing this.”

At the heart of the David software is a core layer of middleware and virtualization software that includes both the Wine code as well as proprietary modules used to implement a variety of other Windows APIs. One group of APIs found in David, but not in Wine, are the GDI32.DLL APIs, which are used to implement two-dimensional graphics on Windows, Lewis said.

A number of Windows-related applications will run on top of David’s core layer, including a software installer, as well as Linux equivalents of the Windows File Manager and Control Panel utilities. SpecOps is also implementing a number of Windows services, including clipboard services so that text can be cut and pasted between applications.

Though SpecOps Labs’ tiny staff includes only 10 programmers at present, its development effort is being enhanced by a special partnership with De La Salle University in Manila. Under the agreement, De La Salle students will do development work on David, which then becomes the property of SpecOps Labs.

SpecOps has already taken heat from the Linux community, for using the open-source Wine code as the basis of a proprietary product. Wine developers have criticized the company because David takes advantage of Wine’s Lesser General Public License software license, which, unlike the GPL license used by Linux, allows open-source and proprietary code to be linked together.

Part of the problem has been the secrecy surrounding the David development, said Jeremy White, CEO of CodeWeavers in St Paul, Minn. “They’re breaking some unwritten rules of the open-source economy,” White said. “That’s why people are incensed about it.”

“When we write a DLL, (dynamic link library) we share it with everyone,” White said of his company. “What they’re going to do is write a really cool GDI32.DLL and share it with no one.”

SpecOps Labs will adhere to Wine’s software license, but its ultimate goal is to create a completely proprietary product, the company says.

“Right now, the mousetrap that Wine has built or the mousetrap that CodeWeavers have built using Wine, doesn’t catch mice very well,” Lewis said. “We actually want to build a mousetrap that’s going to catch mice.”