Visual FoxPro for Linux: A Violation of the EULA?
Editors' Note: This article has been updated with an addendum since its original posting.
It started out in an unassuming manner: an industrious developer, Paul McNett, had a growing interest in Linux. He began playing around with the open-source implementation of Windows for Linux called WINE and wondered how his favorite development tool, Microsoft Visual FoxPro, would run. It was slow going at first, but Paul persisted. He tracked down problems and submitted them to the WINE team. Little by little the problems were corrected, until Paul finally was able to run Visual FoxPro under WINE. He began telling other VFP developers about his work, and many were interested in learning more.
One such person was Whil Hentzen. Whil is the editor of FoxTalk magazine, a multiple-year recipient of the Microsoft Most Valuable Professional award, book publisher, host of his own FoxPro conference and the first ever recipient of the FoxPro Community Lifetime Achievement Award. Whil asked Paul to write an article detailing his work for FoxTalk, and Paul agreed. Whil also began incorporating a demo of Visual FoxPro running under WINE into his presentations at conferences and user group meetings.
Whil was scheduled to give one such presentation recently to the Bay Area Association of Database Developers (BAADD). Shortly before his presentation, however, he received a phone call from a manager at Microsoft, who informed Whil that the material covered in Paul's FoxTalk article was in violation of the EULA (End-User License Agreement). As Whil was in the middle of dinner, the conversation was short and ended with a request for Microsoft's legal department to document its objection in writing. Understandably reluctant to incur the wrath of Microsoft's seemingly bottomless supply of lawyers, Whil did not demo VFP under WINE that night, but simply explained to the audience the reason why he couldn't.
That didn't sit well with some members of the audience. One of them, Chet Gardiner, immediately fired off an e-mail to the ProFox mail list expressing his outrage with the heavy hand of Microsoft. His message in turn raised the ire of others, and anger over this issue began to grow. The manager at Microsoft who made the initial call, Ken Levy, then refined his comments to state that while it was okay to run a fully licensed copy of Visual FoxPro under WINE, it was a violation to distribute the applications built with Visual FoxPro to be run under WINE. Because VFP is a tool for generating applications, this seemed like a blatant tying of an application to the operating system, one of the things prohibited by US anti-trust laws for monopolies such as Microsoft. Needless to say, that clarification didn't do much to settle the issue.
In the past few weeks, this story has appeared on The Register, Slashdot, LinuxWorld and even the German publication Heise Online. That's pretty amazing considering Microsoft has done its best the last few years to keep Visual FoxPro, one of its most powerful development tools, off the radar screen. Why would they do that? One simple reason: money. An application developed in Visual FoxPro is much more economical for a business, as Visual FoxPro has its own data handling and storage capabilities. Contrast that with the much more popular tool Visual Basic, which requires a separate data engine (usually Microsoft SQL Server). Microsoft makes a lot more money selling licenses for SQL Server, which are quite expensive, than they do when VFP applications are distributed, requiring no additional license fees. So which solution do you think Microsoft is going to promote? The fact that Visual FoxPro has a rich set of development tools and a robust object-oriented programming language doesn't concern them; they simply want the highest license fees they can squeeze out of their customers.
Why should any of this concern Linux users? After all, we're talking about a Microsoft product. For starters, I think this situation shows that Microsoft truly is afraid of Linux's potential on the desktop. For them to add this restriction starting in 2001 certainly suggests that someone in Redmond recognized the threat posed by Linux.
Secondly, if it does become possible to run the executables under Linux with no Windows licensing fees, a lot of companies would certainly see the benefit in switching. Many of my clients have their business applications running on hundreds of machines throughout their sites, systems that do not run anything else. They have no reason to pay for a Windows license besides being able to run this single application. They literally could save thousands of dollars by switching to Linux/WINE, resulting in Linux's entry into many traditional Windows shops.
But what sort of companies are we talking about here? Probably some Mom-and-Pop businesses that use VFP applications because they couldn't afford a "real" tool, right? Wrong. Visual FoxPro has been used to develop mission-critical applications for some of the largest companies around. I personally have developed VFP applications for AT&T, 3M, Daimler-Chrysler, Ogilvy & Mather and Pitney Bowes. If you're not familiar with Visual FoxPro, you owe it to yourself to give it an in-depth look.
For now, we wait for the pronouncements from the Microsoft Legal department on its exact interpretation of the EULA, which is quite vague and offers numerous loopholes that developers and their clients can invoke to implement a Linux/WINE solution. Will this be the start of another set of anti-trust violations by Microsoft, or will it quickly fade away and be forgotten? Like most VFP developers, I'm waiting for Microsoft to make the next move.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Users, Permissions and Multitenant Sites
- New Products
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- DevOps: Everything You Need to Know
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters
- diff -u: What's New in Kernel Development