FoxPro On Linux, Drama Ensues
bltfast32 writes "I don't know how many people have been following this, but this is definitely worth keeping an eye on. Whil Hentzen, prominent FoxPro and Linux advocate, has received some heat lately for publishing a HOWTO in the March 2003 FoxTalk issue for running Visual FoxPro 8.0 on Linux with WINE. Of course, the aforementioned heat, is coming from Redmond. Here is a link to a nice summary of the interactions by Whil." That summary mentions the Register article online here. bltfast32 also points to another article which requires registration.
I know that Linux and GNU software carries some terms of their own, and I can't imagine any Open Source developer that would be that thrilled if Microsoft pulled a quid-pro-pro and copied our stuff into their stuff. Isn't there any alternative that was actually designed to run on Linux?
Try not. Do or do not, there is no try.
-- Dr. Spock, stardate 2822-3.
Can end users be penalized if they run something that uses statically or dynamically liked VFP code on Linux? Say, I get a screensaver and I decide to run it on Wine, (but for some reason the screensaver uses some VFP code, don't ask me why or how :) ), do I get into trouble?
Or, am I being too paranoid?
S
Good thing MS was convicted of anti-trust violations. Now they can't tie thier software to the Windows OS...
I love justice! How about moving away from FoxPro and MS to send MS a message? Like "we won't bow to your oppresive EULAs anylonger".
OK what about MS office under Crossover. Does Redmond have Codeweavers in their cross hairs yet?
I understand wanting to move away from MS to Linux for certain customers. My question is why in the world would you (a consultant) sell your customers an MS solution running under emulation in a Linux environment? Bite the bullet man, learn to code your applications using tried and true Linux tools. Don't cling to the past if, as you say, your goal is to stop using MS products. I'm no MS fan, but as a once VFP developer (now ASP.NET) I can understand the love for it.
The logic here is that the monopolist is not allowed to take advantage of their monopoly power in one product to improve their sales in another, presumably to the detriment of the competitors in that second market.
In the case of browsers, MS was found guilty of forcing consumers to buy a browser (a product for which they did not have a monopoly), when the person bought Windows (a product for which Microsoft wielded monopoly power).
In the present case, Microsoft is potentially attempting to force people to buy their monopoly product in conjunction with their purchase of Microsoft's non-monopoly product (VFP). This is not an illegal act. Of course, if you can get a judge to accept some definition of the relevant market, such that Visual FoxPro has a monopoly on that market, then you'ld have an antitrust violation.
This is not a legal opinion, no representation is expressed or implied.
I had no idea VFP had such a following. So what is it about VFP that inspires so much devotion among its users?
(An honest question, I really don't know much about it.)
From Microsoft's point of view, are they just supposed to take a few techies word for it that FoxPro "works" under WINE? Let's say, for example, that a bug in FoxPro is found that represents a security risk - MS can use Windows Update and other means to get a patch out to their Windows-based customers, but what do they do for the WINE-rs? That's a loose end that I certainly wouldn't want to deal with...
Stop by my site where I write about ERP systems & more
First, read it, and see if it has any provisions of interest to the case.
Next, see if they are actually enforceable under copyright law. Since the license isn't a contract -- you weren't asked to sign it before buying -- they can't take away any rights that copyright law doesn't specifically identify. (Except in Maryland!)
If you want to copy their files to your customers' machines, copyright law is involved. However, if the product was advertised as if that right to copy was included in the product you were paying for, and the package didn't identify restrictions on that copying, then the Uniform Commercial Code says their EULA can't take away whatever you had a reasonable belief that you were getting when you paid. That is, the implied contract of merchantability fitness trumps the written EULA, every time. (Except in Maryland!)
The bulk of most EULAs is wastepaper, just hoping to fool customers into giving up rights guaranteed to them under the law without a fuss.
As others have noted, trying to tie the product to Windows is a specific anti-trust violation for Microsoft since it was formally identified as a monopoly.
I am not a lawyer. (In Maryland, last I heard, the UCITA was passed, overriding the UCC.)
Can anyone quote in the the EULA where it states that you can't run/distribute this software on other OS's besides windoze?
Light travels faster than sound. This is why some people appear bright until you hear them speak.........
It's not obvious that the above is legal though, for a normal company. For a company that owns/controls both the OS and product, it's even less likely.
So what about the business with a firewall that doesn't allow machines to connect to microsoft's update servers ... are you saying that MS should be allowed to say you can't firewall their products? What about if you run more than one service on that machine, and the update breaks the other non-MS service ... should they then be allowed to require you to update?
Most companies solve this problem by saying it isn't supported on platforms, they don't support. Not that it is not allowed to use it on platforms they don't support.
ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
IANAL, but it seems to me that the Doctrine of Fair Use (or whatever it is) applies in this case.
If I buy it, I can use it as I damn well please as long as I don't infringe on the copyright.
But if I've learned anything, I've learned that copyright law is twisted and complex, so I'm probably wrong. Can anyone (say, a real lawyer?) attest to the legal aspects of this?
The fact is people will code in whichever environment they are most comfortable with. Some folks still believe that ADA is an awesome language. Perhaps, within its own world, it is. However, that language isn't accessible to the greatest amount of developers available on the planet for that. If you're hired to do a project for a customer and you want to lock it into your own world so that you're the only one that can fix it when things go wrong, you'll go with ADA or with Vulcan (remember Wayne?).
...From the Mind of a Dragon.
Now Foxpro IMHO resides in the same world. FoxPro, like FileMaker and Access, offers a nice development interface for low to mid-tier development folks. So, for many businesses, it's cheaper to hire a FoxPro guy to quickly get something done than it is to hire an Oracle developer (not to mention the Oracle licenses and the pricy hardware that goes with it).
Unfortunately for the folks in the FoxPro market, they are actually facing stiff competition from the Linux world. Colleges and Universities are cranking out Perl/PHP/MySQL developers like mad. It's cheaper to teach the concepts of a development environment when you don't have to pay money to license the very development environment you're trying to teach.
Seeing their development community shrink, the FoxPro community, which has been long ignored by Microsoft, has provided a novel response to this very threat. Granted, it's a hack, but it provides an avenue to development that may have not existed for folks in the FoxPro community. Now, all those FoxPro apps will work on a 'nix box.
Microsoft, like Saddam Hussein, is very threatened by anything that will knock their base down. Their main revenue base relies on Windows/Office installations. Foxpro is something that they do receive some monies for from time to time. It may not be a strong profit center, but they do get monies from Windows and Office licenses that those FoxPro applications run in parallel with. They believe that this powerbase is threatened by allowing FoxPro to run on a 'nix/OpenOffice environment.
Microsoft is trying to prevent a repeat of how they got to where they are today. In a sense, they're trying to firewall those openings into that world. Microsoft got to where they are today by allowing development to be practically cheap on their environment (remember GWBasic??). As they progressed, they started to charge the very development community that built their kingdom. For a time (prior to the creation of the MSDN), development was free. Now, it's about $2,700 per developer for a MSDN universal license.
The 'nix community response to the Microsoft challenge has been amazing. Anyone can pickup a comparable development environment, while not as comprehensive as Microsoft's, is quite amazing. Foxpro adds a very interesting piece to that environment.
What Microsoft wants from FoxPro folks is the $200 license fee they get if you buy an $899 Dell with XP pro and Office Small Business for each client. Then the Visual Fox Pro developer can have his application run on that machine which is fully licensed, according to Microsoft EULA.
Realizing the problems with the FoxPro EULA, they made the change to the EULA to protect their market. Prior to the change, anyone could run VFP compiled applications on any operating system. Piracy aside, they would lose the $200 a machine they would ordinarily get by allowing FoxPro application distributions to be open.
Remember, Microsoft has to answer to shareholders. Red Hat doesn't.
Just add {In Space!} to anything.
Also, the EULA requires that you distribute the files with a EULA that is at least as restrictive as the Microsoft EULA. It doesn't, however, require you to enforce that EULA if your client breaks it. So give the runtimes to your client, let 'em install them on thousands of desktops running Linux/Wine, and then let them be. The client has no contract with Microsoft regarding this, so Microsoft can't sue them. And you've upheld your end of the EULA, since you passed on as restrictive a EULA as Microsoft imposed on you.
both
Harbour and XHarbour are FoxPro lookalikes (Clipper clones) that run on MS-DOS, MS-Windows, OS/2 and GNU/Linux. They are both open source and have been up and running quite awhile.
Your observation that there's some problem with the language is probably incorrect; put a moron on a keyboard, you'll get a moron's results. I had a client, long ago - their previous guy wrote some crap, and all times had to be entered in military format. The reason he gave for this - and it exemplifies my point quite well - was that C could not be made to convert times from military to AM/PM. *** Could NOT. *** And he meant it, I'm serious.
If noone understands you, what you do, or why you do it, it could be that you're a genius. More likely, though, it's because you're an idiot.
Dunno if these are "good", or not. But,
I use fox to provide an interface to our Nortel PBX. It grabs the cdr events, the 30-second stats, the hourly ACD stats, tracks what agents are at which phones, who took or made what calls, periodically bounces phone numbers against a dozen reverse-lookup sites to see who our users were calling, watchdogs the various AUDs & DTIs, etc and sends me a txtmsg if things go awry, and watchdogs the actual inbound/outbound traffic patterns to figure out if any of our T1s go grey (meaning our provider faulted them, which won't cause an error on the switch for some strange reason). It watches the ACD queues and compares it to current staffing levels. If we're getting slammed at 3am, it'll txtmsg the manager-on-call, and tell her that the night crew needs a few telecommuters to hop on for an hour. That, and it proxies the serial TTY console so's that I can telenet to it from anywhere, even from home using an IPaq. That's a good app.
Writing another one that compares ESRI shape files. Each quarter, GDT sends us a map with every known street in the state. We have polygons, etc, all across the state that were drawn relative to the positions of those streets, and their intersections. GDT sends us a new map, and some of those streets (and intersections) move. Our polygons don't, and that's A Bad Thing(tm). Since GDT will not release changelogs, Our Little App walks every feature in our current release, finds or guesses where it is in the new one, deals exhaustively with name changes, and tries to suggest additions to our polygons to maintain their spatial relationships with those new features. That's a killer app, when it's done.
After reading a good Dilbert about "moving our database to an e-mail based system", I wrote one as a joke. In fox. More scarey, someone wanted to use it.
I've written too many parsers in Fox. LR, LL, whatever. Not the fastest, but great for harvesting.
One of the more fun projects was about Telephone Poles. I used pure fox to provide a GUI, featuring a pole. The user would drag-n-drop features onto the pole - transformers, wires, whatever. User would then add any quantified defects found. Lastly, core samples would be input from various heights, and the software would calculate the various moments, % remaining strengths in different directions, etc, and decide if the poll needed repair or replacement. The user could them spit out a list of poles needing work, etc.
The neatest one was a cut optimizer for a window factory. It'd invasively rip the day's work orders out of their proprietary software, figure out what parts where needed, rip the available inventory, merge it with any known scraps left over from previous runs, and spit out cut-patterns onto disks, that'd produce the least waste. The disks would then be stuffed into some semi-automated cutting saws, etc. I say this was the neatest, because it wasn't all linear cuts - this was a window factory, so I had to handle glass also. At the end of the run, any useful scraps were tracked for later use, and inventory would be deducted from the proprietary's files. It really pissed of that proprietary vendor, because they offered an optimizer for about 40 grand... and they ran theirs head-to-head against mine on several hundred batches, mine beat them by almost 65% on linear, and nearly 18% on planar (glass). ROFL, considering I wrote it in exactly 14 hours and 12 minutes... I
help me i've cloned myself and can't remember which one I am