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.
To anyone who has followed MS's track record (as highlighted so vociferously here on
Even if it may result in more use and sales of their product, the name of the game is control and MS values that, it seems, more than potential profits. In fact, it probably costs them more dollars for their lawyers to draft various emails and notices than it would if a few Linux nerds run MS software. In fact, the latter probably costs them zip.
Thinking about this a bit more, it seems that control is the name of the game in most of industry --MPAA and RIAA certainly included!
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
The VFP user community is of course mostly responsible for this. Sites like UniversalThread have "kept the flame" going for many years, much to the chagrin of Certain People at MS that would very much like the thing to die and go away. This is the difference between VB (which got effectively killed with .NET) and VFP - the people who use it. They're a vociferous, dedicated and almost fanatical bunch. But they've gotten their way every single time.
I remember the endless threads back in the mid 90's on Usenet about how VFP was on the way out, to be replaced by VB and VC++. They're on their 8th version now, going strong. VB only got to 6, and MS never really solved its problems (VC++ is a different issue - it's actually used by Microsoft so they can't touch it). Guess who's laughing now.
And I doubt this time things will go differently.
That this was only a matter of time. I have this bad feeling before long, any microsoft products, or any software company that is in bed with microsoft will be checking during install to make sure that there is a valid windows license.
There will probably be a line in the EULA stating: It is illegal to run this program on a non-windows operating system.
I sure wouldn't put it past microsoft. I'm sure there would be ways around it, but then microsoft would have a great way to take anyone to court using wine to run windows software on linux.
- I'm very happy wearing my tinfoil hat!
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".
ps: Fb- is the father.
NetInfo connection failed for server 127.0.0.1/local
OK what about MS office under Crossover. Does Redmond have Codeweavers in their cross hairs yet?
Isn't it illegal for Microsoft to tie any of its software products to its OS?
the growth in cynicism and rebellion has not been without cause
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE IMPORTANT-READ CAREFULLY: This Microsoft End-User License Agreement (''EULA'') is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software product(s) accompanying this EULA, which include(s) computer software and may include "online" or electronic documentation, associated media, and printed materials (''SOFTWARE PRODUCT''). By installing, copying, or otherwise using the SOFTWARE PRODUCT or any UPDATES (as defined below), you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, do not install, copy, or otherwise use the SOFTWARE PRODUCT; you may, however, return it to your place of purchase for a full refund. In addition, by installing, copying, or otherwise using any updates or other components of the SOFTWARE PRODUCT that you receive separately as part of the SOFTWARE PRODUCT (''UPDATES''), you agree to be bound by any additional license terms that accompany such UPDATES. If you do not agree to the additional license terms that accompany such UPDATES, you may not install, copy, or otherwise use such UPDATES. SOFTWARE PRODUCT LICENSE The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold. NOTE: The terms of a printed, paper EULA which may accompany the SOFTWARE PRODUCT supersede the terms of any on-screen EULA found within the SOFTWARE PRODUCT. 1. LICENSE TO USE SOFTWARE PRODUCT. 1.1 General License Grant. Microsoft grants to you as an individual, a personal, nonexclusive license to make and use copies of the SOFTWARE PRODUCT for the sole purposes of designing, developing, and testing your software product(s) that are designed to operate in conjunction with any Microsoft operating system product. You may install copies of the SOFTWARE PRODUCT on an unlimited number of computers provided that you are the only individual using the SOFTWARE PRODUCT. If you are an entity, Microsoft grants you the right to designate one individual within your organization to have the sole right to use the SOFTWARE PRODUCT in the manner provided above. 1.2 Documentation. This EULA grants you, as an individual, a personal, nonexclusive license to make and use an unlimited number of copies of any documentation, provided that such copies shall be used only for personal purposes and are not to be republished or distributed (either in hard copy or electronic form) beyond the user's premises and with the following exception: you may use documentation identified in the MSDN Library portion of the SOFTWARE PRODUCT as the file format specification for Microsoft Word, Microsoft Excel, Microsoft Access, and/or Microsoft PowerPoint ("File Format Documentation") solely in connection with your development of software product(s) that operate in conjunction with Windows or Windows NT that are not general purpose word processing, spreadsheet, or database management software products or an integrated work or product suite whose components include one or more general purpose word processing, spreadsheet, or database management software products. Note: A product that includes limited word processing, spreadsheet, or database components along with other components that provide significant and primary value, such as an accounting product with limited spreadsheet capability, is not considered to be a "general purpose" product. 1.3 Storage/Network Use. You may also store or install a copy of the SOFTWARE PRODUCT on a storage device, such as a network server, used only to install or run the SOFTWARE PRODUCT on computers used by a licensed end user in accordance with Section 1.1. A single license for the SOFTWARE PRODUCT may not be shared or used concurrently by other end users. 1.4 Visual Studio-Effect of EULA. This Section 1.4 also applies if the SOFTWARE PRODUCT is Microsoft Visual Studio, a suite of development tools and other software programs (each such tool or software
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.
*rimshot*
Hey anyone know if you can run dBase Plus (the latest visual-OOP-BDE version of the even more ancient and venerable dBase line) on Linux thru Wine?
I can guarantee that if you can get dBase running, dBase Inc. will shake your hand, not slap your wrist. They've been promising a Linux version for ages, and if they could find the time, they would have released one by now...
- Murphy's Corollary: - It is impossible to make things foolproof because fools are so ingenious.
No, not if they fit. It seems like a ridiculous assertion.
Yet this is precisely the same problem we have here with VFP and WINE. Erosion of rights in using a product. Maybe in future EULAs, Microsoft will prevent the use of the install CD case to hold open doors in offices with BSD servers.
Dumb? Yeah. But where will it stop?
And an illegal one, but they'll wait until the DOJ raps their knuckles on every issue until they C&D. This is "leveraging their OS monopoly" if I ever saw it.
So if I were the guys trying to run FoxPro on linux, and assuming M$ doesn't decide to play nice, I'd fire off a comment to the people in DOJ supposedly enforcing this crap. It worked for getting the Explorer Uninstaller more prominent positioning.
Visual FoxPro, while it has it's own data format, is also a language that is supposed to be very good as handling data manipulation. Think of it as a combination of Perl and BerkeleyDB or Perl and dBase.
Visual FoxPro also supports ODBC and can connect to a SQL Server to get and post data. Beyond that, I don't know much else about it.
I'm dealing with freaking fox pro right now, it blows goats!
PLEASE DON"T LET IT GO ON LINUX!!! I'LL HAVE TO START DIGGING DITCHES FOR A LIVING!!!
*head explodes*
Maybe I should read the article now.
The difference it that you don't "license" a GM oil filter, you "buy" it. Since software is licensed they have more leeway in their licensing terms.
My first reaction to this article was "Who in their right mind would defile Linux by running FoxPro on it?".
My second reaction was, "Then agan, who in their right mind would run FoxPro on Windows either?"
First of all FoxPro and access have a lot in common in that they both basicaly do the same thing. Most companies do not use its internal database features, but use the form generation tools to create database frontend applications to larger, more robust server based database systems.
Linux lacks a robust RAD tool for createing such frontends. A lot of companies rely on ever changeing data access forms that change with each project. Access and FoxPro enable them to do this with little hasel. This is why Access and FoxPro refuse to die. At the same time this is one of the things preventing Linux from being used in a corprate desktop enviorment. This also explanes why most database apps in linux are witen as web based applications. Linux needs a peice of software that works like Access and FoxPro. Abbras (i think its called) that is included in Star Office is close, but it dosen't alow for createing stand alone apps in the way Access and FoxPro do.
Basicaly, the point im trying to make is that Microsoft never thows a fit about anything unless there is a reason. By getting FoxPro and Access to run on Linux these guys are threatening Microsofts hold on the corprate market and they know it. This shows that if a alternitive or clone of FoxPro or Access was created it would hurt Microsoft quite a bit. I support anything that prevents Microsoft from controling the corprate working enviorment. If no one wants to create a subsitute to FoxPro or Access this this will have to do. By supporting these guys in there endevor you are putting another nail in M$'s coffin.
Trinity
We substituted the coffee Slashdot normally drinks with "Sandoz Crystals", Lets see if they notice the difference
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.)
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?
Visual FoxPro version 8 is being released right now, and version 9 is in development.
VFP is targeted at serious developers, where Access is targeted at end-users. It has a much steeper learning curve, but it pays off when working on large projects. It's much faster than VB or Access when working with tables with millions of records.
It became a fully object oriented language back in version 3, picking up features that VB is only just getting now. We essentially went through the VB to VB.NET style change with version 3.
If our company had 100 users, we'd look at an SQL server with a VFP front-end. But with only 30 users, SQL server wouldn't give us any better speed (or anything else) to justify the expense.
We've also sold apps written in VFP - no SQL server needed.
I expect this is why Microsoft doesn't advertise VFP - Unlike VB.NET, the user doesn't need to buy SQL server.
You're (sort of) wrong.
The Wine team has reverse-engineered lots of the libraries so you don't need the DLL files. However, at least when I was messing with Wine a lot nothing much worked unless you had the Windows libraries.
I'm hoping that has changed now. Assuming some of the crossover code has worked its way back in to the main Wine tree then it has. I use IE under Crossover (when I'm feeling masiocistic) and there isn't even the hint of Windows on here.
The Anti-Blog
False. They can say "this product is designed to be used on system X; we will not support it if you use it on system Y". However, nothing gives them the right to demand that you use the product on system X, just like GM cannot demand that you have your car serviced only at Goodwrench. That is an abuse of monopoly, plain and simple.
___
If you think big enough, you'll never have to do it.
So some non-DB HR monkeys put together a badly documented database, therefore the language is at fault?
That doesn't make much sense to me.
My Journal
From The Register article:
"It appears that Microsoft is tying the tie its applications (developer tools) to their operating system," Hentzen told us.
(I assume he means "trying to tie", quite the tongue twister).
I am just dumbfounded! I can't believe Microsoft might be trying to leverage its market share.
Next he'll tell us that they're more concerned with sales figures than with producing a quality product.
It's just unbelievable that somebody could think that way...
(Is there such as thing as too much sarcasm?)
The real reason that Fox rocks...
Imagine, if you will, a linked list.
Imagine it is infinitely threaded.
Imagine that the threads can be dynamic.
Imagine that the "keys" in the thread can be based on data that doesn't exist (completely, or at all) in the list itself.
The big ol problem faced by SQL based stuff is that it's record-set centric. It works really, really well with gobbs of data, and sucks at individual cases. And god help you if you wish to diverge right in the middle of one of those cases.
Fox is the exact opposite. It loves individual records. It loves recursion. It loves relations. It loves fractional relations. It loves relations that change on-the-fly, record by record, self-transmogrifying-based-on-other-relations that are also changing. If you can express it, it'll work, and it gives you very tight control of the record order.
The primary benefit is simply a matter of "The Big O". Because you're so close to the table structure, Fox can typically get close to the lovely O(n) or n.ln(n) we all desire. Most of the same crap in SQL will end up being n^2, because you cannot make the same assumptions. Consider any operation involving a Group By clause.
The downside is that Fox is file-based. Open your 5GB table on a disk you've got locally, you're fine. Open it across the network... snore... but even that can be beaten, with remote calling of Fox com objects. But at that point, you're probably better with SQL.
help me i've cloned myself and can't remember which one I am
What is happening here is that companies are using EULAs to essentially write their own laws. If these agreements are considered legally valid, then governments are in effect having their courts co-opted to help in the enforcement of the laws (EULAs) written by the corporations.
In theory, we are protected from this by the freedom to avoid the product if we don't like the EULA, or by anti-monopoly laws if no choice is available. If the anti-monopoly laws were being enforced.
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