Visual FoxPro for Linux: A Violation of the EULA?

Recapping the latest round of Microsoft legal maneuvering--UPDATED.
Addendum

Since this article was originally written, Microsoft did indeed respond to the request for a clarification of the EULA terms, but it did not actually clarify anything. Here's the wording:

Visual FoxPro was designed and tested for use in creating applications that run on the Microsoft Windows platform; the same applies to the components that are provided to developers for redistribution with Visual FoxPro-based applications. If a developer wishes to distribute the Visual FoxPro runtime with an application, the runtime may only operate in conjunction with a Microsoft Windows platform. As with any contract, you should seek your own legal counsel's advice when interpreting your rights and obligations under the Visual FoxPro End User License Agreement.

So instead of clarifying, Microsoft simply passed the buck and told us to get lawyers to interpret the meaning of the contract. Well, one lawyer did exactly that: John T. Mitchell, an attorney in the Washington, D.C., area who specializes in copyright law, picked up the story from The Register. He wrote a piece on his web site that warns Microsoft risks invalidating its abilities to enforce its legitimate rights under copyright law by trying to enforce "rights" that legally are not theirs. You can read his writing, titled "Microsoft Risks Copyright Impotence", along with a more detailed elaboration of the legal basis for his opinion in an e-mail posted to ProFox, an mail list for Visual FoxPro support. I am not a lawyer, but his reasoning and examples are clear and easy to follow.

This controversy also seems to have breathed some life into the Visual FoxPro market. People who had never heard about the product or had assumed it died a long time ago wondered what all the fuss was about. Numerous developers report an increase in inquiries, and membership on the ProFox mail list, which I host, has increased by 10%. If this persists, the controversy might end up costing Microsoft in ways they never anticipated, as more and more companies learn of a tool that can develop data-intense applications for a fraction of what they would pay in license fees for a Visual Studio/SQL Server solution.

Ed Leafe is a cross-platform sort of guy, who works in OS X, Linux and Windows about equally. He is a long-time Visual FoxPro developer and has received the Microsoft Most Valuable Professional award for each of the past nine years. He also runs the OpenTech Forum, where people with both Visual FoxPro and Linux questions can go for support.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

What about now

Anonymous's picture

Now that Microsoft officially announced it is moving VFP to maintainence mode, do these strong legal restriction hold any good. Does every application written in foxbase go down along with Microsoft decision.

VFP EULA

Anonymous's picture

If a developer was able to get a VFP6 applicaton running on linux or a MAC OS, the EULA had no restriction reguarding the OS. Can MS now say that those apps can not be legally distrubuted once the developer upgrades to VFP7, 8 or 9? How is a developer supposed to be able to upgrade his development environment and still maintain applications that were originally legally distributed?

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

In Mr. Leafe's article, there is a link that references a response from Mr. Mitchell to a commentary on his article from John Petersen - a Visual FoxPro Developer and 3rd year law student at Rutgers University School of Law.

Since Mr. Leafe did not see fit to balance his reporting - the email is reproduced here for the purposes of providing a more complete picture:

Mr. Mitchell..

In your article entitled "Microsoft Risks Copyright Impotence", http://interactionlaw.com/interactionlaw/id12.html you cited a case. I would like to share some commentary with you.

Lasercomb America, Inc. v. Reynolds, (911 F.2d 970) (1990)

According to your article, this case stands for the proposition that copyright owner cannot enforce its copyright while at the same time, engaging in misuse. I agree that this is the holding of the case. However, it begs the question of what is defined as "copyright misuse". Based on the Lasercomb's facts, there was a software vendor (plaintiff) and a steel die manufacturer (defendant) who copied the software vendor's software. The plaintiff sued for damages and the defendant proffered an affirmative defense - that a copyright owner cannot enforce its copyright when it is engaged in misuse of that copyright. The offending language of the EULA stated that no licensee could create their own CAD/CAM die-making software. The court agreed that this was overly broad. The Lasercomb cites another case: Compton v. Metal Products, Inc., 453 F.2d 38 (4th Cir.1971) in which the court held that a license to use a patent required the licensee to not engage in certain businesses.

Clearly, the facts of this case are distinguishable since MS is not restricting the rights of people to develop their own software that could in effect, compete with MS. Specifically, there is nothing in the VFP EULA that states that a licensee is prohibited from developing software that would compete with VFP. Further, MS is not saying that you cannot run VFP on a non-MS OS.

Also, it is important to note that while the 4th Circuit is a step below the Supreme Court, the case is only binding on the 4th. Circuit. Many of your readers I am sure are non-lawyers and may not realize that fact. Further, it bears emphasizing that the 11th. Circuit has failed to adopt the rule in Lasercomb Bellsouth Advertising & Pub. Corp. v. Donnelley Information Pub., Inc., 933 F.2d 952. Further, it also bears noting that MS has already been involved in a case that applied Lasercomb. Microsoft Corp. v. BEC Computer Co., Inc., 818 F.Supp. 1313. In this central district of CA case, the court distinguished MS's license terms from those in Lasercomb.

In my opinion, the properly framed question is this: Does requiring difference licenses for different operating systems constitute misuse of copyright?

Further, because your argument contains a threshold issue, specifically the legal standards for what constitutes mis-use of copyright, you were compelled to discuss that issue to determine if mis-use occurred in this case. If the answer is no, the Lasercomb Case becomes inapplicable. On the substantive issue, MS prevailed in that case. Specifically, MS's licensing agreements were found to not offend public policy or anti-trust law.

Mr. Mitchell, software vendors are entitled to earn a return on their investment. Just because a software vendor decides to draw a line between where you can distribute royalty free and where you have to pay a license fee, that does not create a prima facie case of copyright mis-use.

John V. Petersen
Rutgers University School of Law-Camden Campus - 3L
Visual Foxpro Developer

return on investment

Anonymous's picture

"software vendors are entitled to earn a return on their investment."

Nonsense. A return on your investment is not an entitlement. Profits depend on there being an adequate demand for your product at whatever price you've set. My demand for products with shrink-wrapped EULAs is ZERO.

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

Wow! That letter was so riveting, it really did need to be posted 3 times! Maybe if you post it over and over again it will be even more effective!

Or maybe this loser just likes seeing his name plastered all over the place.

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

No, actually, John only posted it twice. The third time was his other letter.

Interesting how he accuses everyone else of gutlessness, and then posts in the third party.

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

John, can you at least admit to posting your own article? We all know the way you punctuate by now.

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

There is a link in Mr. Leafe's article that references Mr. Mitchell's response to an email from John Petersen - a Visual FoxPro Developer and 3rd year law student at Rutgers University School of Law. In the interests of balanced report -here is the email that Mr. Mitchell responded to:

Mr. Mitchell..

In your article entitled "Microsoft Risks Copyright Impotence", http://interactionlaw.com/interactionlaw/id12.html you cited a case. I would like to share some commentary with you.

Lasercomb America, Inc. v. Reynolds, (911 F.2d 970) (1990)

According to your article, this case stands for the proposition that copyright owner cannot enforce its copyright while at the same time, engaging in misuse. I agree that this is the holding of the case. However, it begs the question of what is defined as "copyright misuse". Based on the Lasercomb's facts, there was a software vendor (plaintiff) and a steel die manufacturer (defendant) who copied the software vendor's software. The plaintiff sued for damages and the defendant proffered an affirmative defense - that a copyright owner cannot enforce its copyright when it is engaged in misuse of that copyright. The offending language of the EULA stated that no licensee could create their own CAD/CAM die-making software. The court agreed that this was overly broad. The Lasercomb cites another case: Compton v. Metal Products, Inc., 453 F.2d 38 (4th Cir.1971) in which the court held that a license to use a patent required the licensee to not engage in certain businesses.

Clearly, the facts of this case are distinguishable since MS is not restricting the rights of people to develop their own software that could in effect, compete with MS. Specifically, there is nothing in the VFP EULA that states that a licensee is prohibited from developing software that would compete with VFP. Further, MS is not saying that you cannot run VFP on a non-MS OS.

Also, it is important to note that while the 4th Circuit is a step below the Supreme Court, the case is only binding on the 4th. Circuit. Many of your readers I am sure are non-lawyers and may not realize that fact. Further, it bears emphasizing that the 11th. Circuit has failed to adopt the rule in Lasercomb Bellsouth Advertising & Pub. Corp. v. Donnelley Information Pub., Inc., 933 F.2d 952. Further, it also bears noting that MS has already been involved in a case that applied Lasercomb. Microsoft Corp. v. BEC Computer Co., Inc., 818 F.Supp. 1313. In this central district of CA case, the court distinguished MS's license terms from those in Lasercomb.

In my opinion, the properly framed question is this: Does requiring difference licenses for different operating systems constitute misuse of copyright?

Further, because your argument contains a threshold issue, specifically the legal standards for what constitutes mis-use of copyright, you were compelled to discuss that issue to determine if mis-use occurred in this case. If the answer is no, the Lasercomb Case becomes inapplicable. On the substantive issue, MS prevailed in that case. Specifically, MS's licensing agreements were found to not offend public policy or anti-trust law.

Mr. Mitchell, software vendors are entitled to earn a return on their investment. Just because a software vendor decides to draw a line between where you can distribute royalty free and where you have to pay a license fee, that does not create a prima facie case of copyright mis-use.

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

This was the response to Attorney John Mitchel from John Petersen who is both a Visual FoxPro Developer and a 3rd year law student at Rutgers University School of Law:

Mr. Mitchell,

I have had a chance to go through your email. I have distilled your argument as follows:

"MS is misusing its copyright because it is impermissibly tying a product to its OS and even if MS is not misusing its copyright, developers are engaged in private performances and therefore, their actions are beyond the reach of MS copyright protections intended by Congress."

I do not have issue with the law you cite. It is all good law to the extent that it is either persuasive or binding and that it has not been over-turned by a subsequent case or legislative action. I have not exaustively keycited everything, but a cursory examination appears to check out. However, good law absent good facts renders the law ineffective. As I stated earlier, there are important facts in this case that are absent from your analysis. On a more critical level, I do believe that some of your interpretations of what the law is reach too far and as a result, some of your conclusions are unreasonable.

The threshold questions therefore are 1 - whether MS is misusing its copyright by way of tying and 2 - whether a developer's use of software is a per se private performance.

With respect to question 1 - the Lasercomb case you cite is one of the leading cases that defines what constitutes copyright misuse. A good secondary source is the Copyright of Law and Business (COPYLBP

All your runtime are belong to them

Anonymous's picture

Sure, the apps you develop under VFP are yours, and you can do whatever you want with them, even "Free" them under the GPL. However, the VFP runtime DLL belongs to Microsoft, and they have the right to stipulate the conditions, if any, that you are allowed to redistribute (i.e. make copies of) said runtime. Sorry, guys, they have you dead to rights. So, fight the addiction that is harming you. Give up the restrictive confines of your closed source cage, no matter how well gilded it is.Release your anger, and feel the force flowing through you. There is no try. Do, or do not. You can be a sheep to be sheared, safe in the valley, or you can be the wild mountain bighorn, leaping surefootedly on the heights. Where do you want to go today?

Mangling metaphors since 1978!

Runtime .dll ???

Anonymous's picture

While such an animal is present in Windows systems, it is not present in a Linux and other OS systems. Thereby, there may not be any MS created code present in the destination system. Why do other compilers (non MS) not have similar restrictions?

And quoting John V. Petersen
"software vendors are entitled to earn a return on their investment. Just because a software vendor decides to draw a line between where you can distribute royalty free and where you have to pay a license fee, that does not create a prima facie case of copyright mis-use."

So a corollary with a car is that the manufacture is not only entitled to a profit on the sale of the car, but also able to tell you that you can only drive it on asphalt paved public roads and not on contrete or gravel. Makes as much legal sense as the EULA -- just more FUD from the king of FUD.

Re: All your runtime are belong to them

Anonymous's picture

Hmmm... an interesting concept. Sell a tool designed to build applications, but then withhold the part of the tool that is needed to make those apps work! Sounds like the old adage about having your cake and eating it too.

An application development tool without the ability to run the application is useless. As Mr. Mitchell points out, to try to claim that just because Microsoft owns the copyright to Visual FoxPro they can dictate when and where you can use what you create with it is beyond the rights granted under copyright law.

-- Ed

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

I like MySQL/PHP combo, but programs like Visual FoxPro and Filemaker provide a well integrated development enviroment for rapidly prototyping and developing applications. As a linux user, I have not found a similar application.

Any suggestions??
--Robert Scott
rbscott@mac.com

Try Python and MySQL or PostgreSQL

Anonymous's picture

For RAD, you should look into Python (and wxPython for GUI apps) with MySQL or better yet PostgreSQL. You can compile Python apps to exe (http://starship.python.net/crew/theller/py2exe/) and can do the same to create Mac apps (http://undefined.org/python/).

maybe give Zope a go.

goon's picture

have a look at zope nothing flash but it will get the job done xp.

Re: maybe give Zope a go.

Anonymous's picture

Zope rocks!! That's what I use for my website.

-- Ed

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

Just a dream... we can run/emulate VFP scripts under PHP and MySQL...

On Microsoft's response...

Anonymous's picture

It seems to me that all Microsoft wants you to do in their "clarification" is, to put it simply, drag you into a legal dispute with them. From then on, it will be an uphill battle that you can never win (even if you did win, they would probably try to buy you off with an out-of-court settlement).
I used to write Visual Foxpro apps, even subscribing to MSDN. I stopped using it when I noticed that MS doesn't even seem to acknowlege its existence. It felt like I was dealing with a phantom product that few people only knew about. It is a shame really, VFP is IMHO better than MSSQL in terms of performance, scalability, and stability. Plus the development time it takes to create VB/MSSQL apps is about twice that of VFP in my experience, especially when creating apps that require you to print reports.

If a developer wishes to distribute the Visual FoxPro runtime with an application, the runtime may only operate in conjunction with a Microsoft Windows platform.

I think one way around this would be to create a WINE implementation of the vfp*.dll files since this is what the issue seems to be about. Or better yet, write an OSS implementation of the VFP compiler and database engine from scratch.

Re: On Microsoft's response...

Anonymous's picture

Does Microsoft actually define what a "Microsoft Windows Platform" is? My primary machine at home was delivered with Windows (as, I would guess, are most the machines running linux). That would seem to be a Microsoft Windows Platform even it windows is only run 5 minutes every few months...

Re: On Microsoft's response...

Anonymous's picture

Do you know how much time does it take to do that? Besides, There is a lot of secrets implemented in Visual Foxpro engine that recreating them is like you want to invent wheel from scratch. This product is as deep as you need years to just understand the technology that it has implemented.

Just some thoughts. ;-)

Hamed...

Re: On Microsoft's response...

Anonymous's picture

Do you know how much time does it take to do that?

Yes, about the same amount of time it takes to do any project with management breathing down your neck :-)

There is a lot of secrets implemented in Visual Foxpro engine that recreating them is like you want to invent wheel from scratch.

But that is exactly what the WINE project is doing: reinventing the wheel from scratch by providing a native Linux implementation of the win32 API DLLs. That is why Wine Is Not an Emulator Secrets? Well, I believe the win32 API has more secrets than the VFP engine.

This product is as deep as you need years to just understand the technology that it has implemented.

What technology would that be? Rushmore? They just called their implementation of the B-Tree (AFAIK) with a different name. At the heart of it all is the RDBMS engine, which IMHO can be implemented under Linux. The DBC, DBF, IDX, CDX, and other file formats it uses are well documented. The "Visual" side of things could be implemented using one of the many GUI toolkits available for Linux, i.e. wxWindows, GTK+, QT, FLTK.
The programming tools are there. The docs are there. If someone does manage to write a native linux compiler for Visual Foxpro, chances are MS will sic their laywers on the poor chap citing an obscure clause in the EULA. Oh well, it was a good idea while it lasted :-)

You don´t actually have to

Anonymous's picture

You don´t actually have to develop a whole new product. What about something that takes .scx, .frx, .mnx, .prg, .vcx, etc. files and generates appropriate code for say C++, qt, mysql (or whatever mix you like)? The actual development could still be done in VFP but you compile the result in order to port it to Linux.

--------------------------------
Do you know how much time does it take to do that?
Yes, about the same amount of time it takes to do any project with management breathing down your neck :-)
There is a lot of secrets implemented in Visual Foxpro engine that recreating them is like you want to invent wheel from scratch.
But that is exactly what the WINE project is doing: reinventing the wheel from scratch by providing a native Linux implementation of the win32 API DLLs. That is why Wine Is Not an Emulator Secrets? Well, I believe the win32 API has more secrets than the VFP engine.
This product is as deep as you need years to just understand the technology that it has implemented.

Re: Visual FoxPro for Linux: A Violation of the EULA?

RJDohnert's picture

Give me a chance to run it, I will. I have read the EULA and nowhere does it say I cannot run VFP under emulation. I like testing the legal departments. If they can show me in their EULA that it is a violation then I will cease and desist until then I would invite Bill Gates and Steve Ballmer to all of the presentations.

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

They say that they have no problem with emulation (Virtual PC, VMWare, etc.), since those emulate hardware and require a licensed copy of Windows to run Windows apps. Since WINE is not an emulator, but rather an alternate implementation of the Win32 API, it does not require a copy of Windows. That's what is getting Microsoft so scared.

-- Ed

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

Is this any good?

"CLIP is a Clipper/XBase compatible compiler with initial support for FoxPro, Flagship, and CAVO syntax. "

Freshmeat entry

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

I've never used it myself, but it isn't compatible with Visual FoxPro. One confusing thing is that when FoxPro was re-written to be object-oriented, it kept the name even though it was essentially a brand-new product. It is so far removed from the old FoxPro that it really should have been renamed (at least more than sticking "Visual" in front).

-- Ed

What about redistributables from Visual C++, VB, etc?

Anonymous's picture

I recall that the EULA on the redistributable dll's from these other development tools also expressly state the resulting applications can not be ran other than on a Microsoft operating system as well. Why would I want to develop on a tool that then artificially restricts who I can sell to and where I can sell or deploy MY applications? If I create a product, do I own it and can sell it to whom I choose, or do I not? This seems fundimentally wrong in the case of VFP, and in these other cases as well, even before the antitrust aspects.

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

Ed,

Forget VFP. Develop using, php/mysql, GTK/C/mysql, perl/mysql.

Sincerely,

A Happy Linux user.

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

we need run VFP applications on Linux

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

I'd rather say that your proposed solution are counterparts
of Microsoft favorite "VB+SQL server" solution rather
than VFP.

VFP is simple "all in one" environment, which combines
GUI builder, non-client-server database and some high-level
programming language.

If you want to propose opensource solution in the same "class"
it would rather be Tcl/Tk+Metakit or Perl-Tk+SQLite or
wxPython+some embedede database

Note that license fee is not only thing that maters. System administrator salary does matter too. For mysql database
you need more system administration than for simple things
like bunch of DBF or GDBM files.

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

I dont agree with you although aI am not a Fox pro develloper. I use the programs you suggest but you dont get the same result as with a app that is develloped to rund on your pc stand alone. Just try ctrl-c and ctrl-v with a database record with Mysql and php.

MJ

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

Cut and Paste!? Easy. Create a copy button in your app that lets you pick which row (or complete table relations) to paste. Very easy and much more powerful than ctrl-c, ctrl-v.

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

Oh, I am - I'm currently doing a lot of work with Zope and MySQL - that's what my website is written in. Python is a great language, and I'm thinking about picking up BlackAdder. But I still have a lot of clients running Microsoft desktops, and to be honest, if it weren't for Visual FoxPro, I'd probably never touch Windows. That's how good VFP is.

-- Ed

Re: Visual FoxPro for Linux: A Violation of the EULA?

Anonymous's picture

Forgot to mention that one. Zope is an ideal solution.

The Road from A to B

Anonymous's picture

A: "Who needs standards? We've got Microsoft!"
B: "It's not fair! Please stop them screwing us over!"

I suppose that some businesses blissfully fell asleep on Microsoft's road from A to B. Now whose fault is that?

Re: The Road from A to B

Anonymous's picture

This is a stupid as Ford telling drivers what they can, or cannot do with thier cars.

Re: The Road from A to B

Anonymous's picture

A: "Why would anyone want to sell or service any other kind of car? Ford make all the cars you could ever want!"
B: "Help! Ford won't let me drive on a Sunday."

Car analogies break down pretty quickly, but this ridiculous example aside, there are many cases of monopolistic practice which can be traced back to "willing consumers". If it really did seem that Ford were going to forbid its drivers from driving on a Sunday, would it not make sense to switch to a different model while you still could, even if the seats were slightly less comfortable?

Re: VFP on linux

Almost Anonymous's picture

Does their ELUA also imply that you cannot run VFP or similar on a Mac with "Microsoft Virtual PC for the Mac", as it is not a true Microsoft Windows Plaform or is it? Comments anyone?

Virtual Windows on the Mac

Anonymous's picture

I Beleive that the virtual pc for mac is a lagit version of windows platform, because you need to have a leagal version of windows to install into the virtual pc

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix