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.
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.
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've seen that said, and denied by MS. Are you sure you aren't repeating bogus info? Certainly the MS TCP/IP stack had many bugs not in the BSD stack.
And then you do know that the BSD license explicitly allows this kind of work. If you are using a product licensed under BSD type license then you CAN develop based on top of it and release your product as a closed source/proprietory application.
If you have any issues with that then you can take them to the ppl. who release their products under BSD* licenses.
Any body in M$ position would exploit the situation.
for the last time people, I am "frodo from middle eaRTH", not "middle eaST".
Also as people become less capable of performing their own system maintainence thanks to Digital Rights Manglement and Palladium protection of the OS (ever performed a 1:1 hard drive swap or motherboard upgrade under Windows XP?), they will find more and more value in the free=speech (libris) aspect of OSS as well. Yes, we Linux geeks don't cost Microsoft any money at all... except in lost sales of upgrade packages (and in the future, lost rent on their software). And that sum of money, according to the *AA piracy maths, is vast indeed (why, I myself must have cost them $1B thanks to my own non-MS use and advocacy thereof!).
Do you like Japanese imports?
It is a recent addition to the EULA for Visual FoxPro. Prior to version 7, there was no such restriction. There is no technical reason for this restriction. The only explanation is to quash the viability of Linux on the desktop.
You do know that you're wrong, right?
Windows 3.1 had a TCP/IP stack based on BSD, but that isn't the case for 32-bit Windows versions. Since then it is just a few utilities like ping and tracer[ou]t[e] that use BSD code.
It also wasn't Microsoft that used it originally; it was licensed from a third party that ported much of the BSD stuff to Windows.
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
Poop. Check out http://www.4d.com. It's been around almost as long as FoxPro, runs on Windows and Macs, is at least as easy to use at FP, and is definitely evolving. There's an incredible developer community, plugins, built-in web server, you name, you got it.
Here's the PR for the upcoming release: http://4dtoday.com/summit?c=detail&id=23
It seems to have everything (I think they're hinting towards Linux). The last release added automatic support for Web Services via SOAP/XML.
Which word in "TCP Stack" do you not understand?
User level programs are not the TCP stack.
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
You'd be shocked to find out Microsoft does indeed sell products that include applications licensed under the GPL.
Kylix.
Attention, all you asshole companies who hide behind EULAs and the DMCA! I want you COWARDS to know this:
** I should be able to do AS I FUCKING PLEASE when I want, where I want, how I want without having to put up with your bullshit. **
Thank you.
winsock .h headers have the Berkeley header at top explaining parts of the code are from BSD.
If you have a Windows SDK installed, you can find it.
Additionally, it seems they grabbed some socket using applications as well.
-pyrrho
You could use VFP as front-end and postgres as backend.
VFP is not only a database. Visual FoxPro 8.0 is a powerful database development system for quickly creating high-performance desktop, rich client, distributed client, client/server, and Web database applications.
see http://msdn.microsoft.com/vfoxpro/
A few minor corrections:
The JPL-DIS from Pasadena, California was largely an English-like query tool and was put onto a CP/M microcomputer on his own time by Wayne Ratliff who named it Vulcan. (As I recall, JPL-DIS was written by JPL to imitate a popular online query tool "Retrieve" used by Tyme-Net in order to reduce JPL costs for the Tyme-Net service. All this came up in great detail during the Ashton-Tate / Fox Software lawsuit wherein A-T tried to prove that they "owned" the dBASE programming language.) Wayne largely did this port to try and help him analyze data for football betting pools, and the name referred to Star Trek's Mr. Spock who never forgot anything. Wayne made a half-hearted effort to sell Vulcan by mail to the new microcomputer / hobbyist market. I think he asked $50 per copy.
George Tate and/or others eventually approached Wayne c. late 1981 and renamed Vulcan to dBASE II in order to suggest it was a more mature product. (That is, there never was a dBASE I) Supposedly that was Hal Pawluk's idea. I think initially Wayne was to get royalties from the sales of dBASE, and I think later when he had a dispute with Ed Esber and Ashton-Tate he was bought out for c. $10 million or so. btw, George Tate died suddenly on Aug 10, 1984 and A-T was never the same. Also, in the early days many of the employees, like George, were Scientologists. A-T was always based in the L.A. area, and almost every product they ever sold was acquired from others. Also, Hal Lashlee was George's early partner, but he did not want his name used so they made up the name Ashton. But, there actually were two Ashton's: 1. A "Joe Ashton" was made up in an early advertisment For years afterward every now and then someone would call tech support and claim to know Joe Ashton in order to try and get better service. 2. For some years there was a parrot in a cage in the A-T lobby named Ashton. They actually taught the parrot to say "Framework!" a later A-T product coincidentally developed by a Scientologist.
Meanwhile, FoxBASE / FoxPro is an example of "clone" software. Dave Fulton and others largely centered around Bowling Green University in Ohio wanted to sell accounting software and wrote their own dBASE-like runtime engine to run it. As it turned out, the runtime engine was more popular than the accouting software, and they created FoxBASE which would largely run any dBASE III code but faster. They also added commands to the language to give it features that dBASE did not have. Their huge break came when Ashton-Tate allowed Fox Software them to have a booth at their 1986 developer's conference.
Also, FoxPro 1.0 was one of the most amazing DOS products ever. I don't know why so many slashdotters have been critical of Xbase (the generic term used to mean dBASE-like languages) It is a tremendous 4GL - the only real problem is that due to upward compatibility the language has become clutted with old commands over the years. IMO M$'s "visual" interface that they largely grafted on from VB is very slow and cumbersome to use, but even M$ can't detstroy the legacy of that team of about six programmers from Ohio that came up with FoxPro 1.0
I doubt anyone else reading slashdot knows more about the history of Xbase or has worked in more areas of it than I have, continuing to this day. If anyone knows who I am why don't you email me and say "Hey, I saw your Xbase history on slashdot!"
btw, Ken Levy now of M$ has overall been a great asset to the Fox community for years, even if his present position forces him to wear a black hat for a hopefully short while.
A one time 'Tater
You don't seem to understand the difference between a EULA, a README, and a disclaimer.
Here's the deal:
If you break the EULA, you no longer own the software. Read it. They can take away your license with extreme prejudice if you break any of the stipulations within.
If you ignore a README, you're a little more ignorant, but nothing happens. MS certainly can't take away your software!
If you ignore a disclaimer, you can't bitch at MS if Foxpro stops working, or if WINE won't let you print, or any such thing. They'll just say "sorry, what you did isn't supported, so we don't have to help you!" if you call, just like they've done in the past.
Now. If you don't want to be liable if something happens to foxpro? Which do you put it under? the README if you're lazy, the disclaimer if you're serious, but not the EULA unless you're nuts.
Also, you don't seem to be familiar with Windows update. Let me enlighten you. Windows update updates windows. It doesn't update Office. It doesn't update Visual Studio. It doesn't update Freelancer or Halo or Flight Simulator or anything else. In fact, for anything except windows or office (which has it's own officeupdate site), you're more than likely going to have to download patches like everyone else out there (except that once you get rid of the nifty auto-detection, you'll find that MS has some of the most labyrinthine patch sites on the internet).
It's been a long time.