Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Microsoft to Open Source FoxPro

Posted by ScuttleMonkey on Wed Mar 21, 2007 12:27 PM
from the better-than-the-circular-file dept.
rah1420 writes "Microsoft has announced that it will open-source the core portions of the Visual FoxPro DBMS software to its CodePlex community development site. At the same time, Microsoft has announced that it will no longer be making new versions of the FoxPro DBMS."
+ -
story

Related Stories

[+] Your Rights Online: FoxPro On Linux, Drama Ensues 409 comments
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.
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Umm, no. (Score:5, Informative)

    by dudeman2 (88399) on Wednesday March 21 2007, @12:30PM (#18431195) Homepage
    See first comment in the article by a Microsoftie:

    NOTE that the released part is Sedna and NOT VFP nor VFP core elements!

    Sedna is a project Microsoft has been working on for the past year or so. Sedna is built using the extensibility model of VFP9 and provides features like better connectivity to SQL Server, integration with parts of the .NET framework, wrappers for Vista APIs to make it easier to write applications that run on Vista machines, as well as better support for VFP data in Visual Studio.
     
    • Where does it say that in TFA? This is what I see:

      Instead of releasing new versions of FoxPro, Microsoft will release core portions of the FoxPro software to its CodePlex community development site, said Alan Griver, a group manager within the Microsoft Visual Studio team, which leads the FoxPro team.

      and then, later:

      Meanwhile, Microsoft has been working on "Sedna," which is the code name for the project that takes advantage of enhancements in Visual FoxPro 9.0. The primary goal of Sedna is to expand on the ability of Visual FoxPro-based solutions to better integrate with other Microsoft products and technologies, such as Visual Studio 2005, SQL Server 2005 and Windows Vista.

      No, it really looks like Microsoft is open-sourcing VFP, or at least its core components.

      • The article is vague and misleading. Alan Griver (who heads Microsoft's VFP team has been talking alot on his blog about it). Here's the straight-dope [msdn.com]...

        How about open sourcing the core product too?
        We've been asked this for years. That's not going to happen. The main reason is that there is too much intellectual property in the VFP core codebase.


        That seems pretty definitive to me.

        For clarification: Sedna (the stuff that's going into CodePlex) is not now (nor was it ever intended to be) the next version of Visual Foxpro. It's just a set of VFP-based tools intended to help current VFP developers to make better use of new features in Vista/SQL Server/etc...

        Meanwhile, VFP 9 is getting a final service pack and then that's it as far as Microsoft is concerned. There's certainly no plans to open-source the IDE or the VFP engine because, frankly, Microsoft would never do that. Some of the technology (and people) from VFP is going towards the LINQ project, but .NET is still a long way from offering the kind of streamlined data-oriented programming that Foxpro offers.
        • Re: (Score:3, Informative)

          There is an open source project inspired by VFP but based on python. It's called Dabo http://dabodev.com/ [dabodev.com] . Check it out if you are interested in getting on board with something that isn't obselete.
  • by wandazulu (265281) on Wednesday March 21 2007, @12:34PM (#18431297)
    Will the Rushmore technology that was so attractive to Microsoft in the first place be included in whatever they release? The way I understand it, Microsoft bought FoxPro from FoxBase to get Rushmore to add to Access 2, and then they wanted to dump FP. Apparently there was such a vocal outcry that they've kept FoxPro going, until now.

    I'm curious because I really want to know what made FoxPro the speed demon it's always purported to be. I read somewhere that it was the first dbase-class database program that used bitmap indexes, but that was contradicted by another article from somewhere else.
    • I was told that one reason that FP was so much faster than access was that the data was separate from the application - as opposed to Access lumping it in one ever growing file.

      That wouldn't explain how it was faster than dBase though...

    • I'm curious because I really want to know what made FoxPro the speed demon it's always purported to be.

      It's not. It may be quick for the common case of a small table (10K lines) on a local drive, but move outside that and it's horrid. FP supports multi-user access by putting the data files on a network drive. If you want to query it, your machine has to read to entire file, throw out the lines it doesn't want, and present the results. My company has about 40 people using the same legacy FP database from a RAID 1+0 system over gigabit ethernet, and it's still hundreds of times slower than running similar queries via SQL to any "real" database.

      Let me put it this way: I wrote a program to export our FP tables to tab-delimited text files and then import those into PostgreSQL. This takes about 25 minutes, and we run it hourly - and it's still worth the pain. Reports altered to query PostgreSQL instead of FP typically see speedups of several hundred times, multiple users can run the same reports simultaneously, and you can actually run the reports over a slow link since only the query and resultsets have to traverse the network instead of the whole table.

      I know this will come across as flamebait, and I'd normally not say this, but anyone who claims that FoxPro is fast is a hobbyist programmer. It's simply not fast by any imaginable standard other than the trivial case of small files on a single user's drive.

      • by k12linux (627320) on Wednesday March 21 2007, @01:24PM (#18432185)
        FoxPro IS fast or at least was when I used it last. BUT only if you are retrieving limited datasets that are indexed correctly. If your query can use indexed columns to limit the number of records returned you are ok.

        I did the programming on a system which resided on a Netware v4.11 server back around 1993 and it had one table with somewhere around 3 million records. Queries were lightning fast if you didn't match too many rows and the query was optimized to work with your indexes. Queries which couldn't utilize indexes, however, were painfully slow.

        Having said all that, however, I can't think of any legitimate reason to use DBASE style databases these days. With free DB servers like MySQL and PostgreSQL why bother?
        • Queries were lightning fast if you didn't match too many rows and the query was optimized to work with your indexes.

          But even indexed queries pale when compared to a "real" database. Since FP is file based - that is, each client has to read the files directly - even the index files have to be transmitted over the network to do those lightning fast queries. At some point you saturate your NIC, and after that all the processing power, RAM, or fast drives in the world won't make it a millisecond faster.

          Compare and contrast with any client/server system, where all those queries are consolidated into one cache shared among all clients, and only the actual requested rows have to be returned. By its inherent architecture, FP simply cannot ever hope to be as fast.

        • My company has a large application written in VFP, used by quite a few people simultaneously, multiuser over gigabit ethernet, all DBFs on a central server, and performance is quite reasonable.

          I'm (fortunately) not directly responsible for supporting it, but I knew the people who are and I trust that they've tried everything. Maybe it's just a different usage pattern that's.

          I was brought in a few years ago to rewrite the quickly-written ASP website with something more extensible and maintainable. For

    • Re: (Score:3, Interesting)

      Yup, Visual Foxpro was fast as hell, although IMO the speed topped out around version 3. And not just fast on rinky-dink tables, as long as they were reasonably indexed. Stick the server component of a c/s solution on the same server as where the data resides, and performance was great for tables having over 1M records. It was a good on the "back end" of web servers, for example.

      More than speed though, I enjoyed the data-centric programming language. It was a joy to use and a bunch of functionality coul
  • I wish all companies would open-source or at least make available free-as-in-beer their obsolete-and-non-competing products. If they can't make it free, then make it $1.

    Except for games, which have a commercial nostalgia market, most software over 10-15 years old wouldn't be commercially viable even if it did run on the latest operating systems.

    I for one would love to fire up Windows 3.1 with a 15 year old copy of Microsoft Word and print to my Postscript printer, just to see how fast it is on my modern PC.
    • by swerk (675797) on Wednesday March 21 2007, @12:52PM (#18431605) Journal
      I heartily agree. I've been bitten many times by abandoned software, Animator Pro on DOS had a sort-of spiritual successor in Animator Studio, but it died there, lost between Windows 3.1 and 95. Blender was nearly lost to a similar fate; fortunately enough money was raised to buy out the source and release it under the GPL.

      Being at the software vendor's mercy for an application's longevity sucks hard, and it's one of the reasons I've been embracing Free and open software so passionately. As long as anyone still cares, the program will live on. Good software shouldn't die. That said, anything related to FoxPro can and should be erased from existance as soon as possible as far as I'm concerned, but surely somebody's happy about this, so good for them.
      • Amusingly enough, if you run DOS on a virtual machine, it will peg your CPU even when sitting there at a prompt. If you run, say, Windows Server 2003 in a VM, CPU usage hovers around 10% when idle.

        I assume there's some busy wait loop in DOS somewhere.


        Try DOSIDLE: http://www.vmware.com/software/dosidle210.zip [vmware.com]
  • License (Score:2, Insightful)

    I don't suppose anyone knows what open source license the software in question was released under? I looked in the article, without success.
  • by burnin1965 (535071) on Wednesday March 21 2007, @12:59PM (#18431743) Homepage
    It would be nice to see Microsoft start to open source (that is with a GPL or equivelant license) at least some of their products. But why FoxPro? This is the same software package which got Microsoft into trouble [foxprohistory.org] over copyrights. I believe all the "intellectual property" issues surrounding FoxPro have long been settled, am I right?

    burnin
  • Crazy (Score:3, Funny)

    by N8F8 (4562) on Wednesday March 21 2007, @01:01PM (#18431777)
    Between FoxPro and VB it just amazes me that any company can afford to repeatedly crap on it's customers and still survive.
  • Take Note! (Score:3, Interesting)

    by Nom du Keyboard (633989) on Wednesday March 21 2007, @01:03PM (#18431801)
    Take note, Microsoft has (to appearances, at least, while waiting to see if they provide everything necessary to compile up and run the current FP release) done something good here. Would that all other software companies follow suit with orphaned software.
    • Good question. I sometimes wonder what companies are hoping to get out of sitting on a piece of software for years, loosing the source code, and just preventing anyone from getting any use out of it? I actually had an opportunity to convert a fox-pro app to a web app, but the guy that had the app was insane and I would rather swallow my own tongue than deal with him.
  • I guess there is still hope that they will FINALLY open up the code to Bob! I can hardly wait! I'm dizzy with excitement over how I can apply this awesome technology and UI breakthrough in my Vista apps!
  • Micro$oft has stated in the past that if someone is going to pirate an OS, they would prefer it Windows, on the premise that the pirate (Arrrrrr!) could be converted into a paying user. Or at the minimum, allow Micro$oft to count the person as a user to tout how dominant their products.

    So, we have here a product that Micro$oft already had other versions of, and wishes to no longer spend money on. Sooooo, is this yet another way of keeping the world on Micro$oft software? By making the source available, y
  • Irrelevant (Score:3, Interesting)

    by DaMattster (977781) on Wednesday March 21 2007, @01:44PM (#18432501)
    Unfortunately, I would have to say Microsoft's actions are largely irrelevant. FoxPro was fantastic in its hay day but it is a bygone technology. I am not terribly familiar with FoxPro but I would wager, in its present inception, that it does not scale nearly as well as SQL. If the license is GPL or BSD, it could find a new lease on life in UNIX, FreeBSD, and Linux. I could see FoxPro being adapted as an LDAP backend or a configuration backend. But much beyond that, Microsoft is open sourcing FoxPro because there is little or no threat posed as the technology is, as the tag line points out, abandonware.

    Please don't be to harsh when you mod me for this speculation: What if Microsoft open sources this product with a different goal in mind? For instance, maybe M$ is curious to see what new ideas become of their abandonware? Perhaps, the community might give it a new lease on life and re-develop a market for it? Should that happen M$ could close the source again, if the license is not GPL, LGPL, or BSD. Just my thoughts anyway

    • Are you sure Exchange uses Jet?
        • I think you're confusing "JET Blue" (ESE) with the file-based Jet RDBMS engine introduced by Microsoft Access in the 90s. Exchange uses the former, as do many of the new Windows client apps that shipped with Vista, though the API has been available for a while.

          ESE might be based on Jet or it might be a superset of it or whatever, but I don't think they're the same thing.

          • Aahhhhh -- that'd probably explain it!

            I can't claim to really know much about either Access or Exchange, but I do seem to recall that Exchange (2000 anyway) did have some kind of transaction logging to allow atomic commits and backups whilst the system live. And I might be being mean to Access, but I thought did basically nothing in this respect!
    • Re: (Score:3, Informative)

      I know Access uses JET, but I haven't run across anything saying Exchange uses it... If they did, I could use eseutil to fix this stupid broken Access mdb I was just told about today instead of the not-working jetcomp.exe tool.

      Apparently ESE stands for Extensible Storage Engine as well...so I'm gonna have to say Exchange doesn't use JET.
      • Re: (Score:3, Informative)

        Further comments, apparently ESE was meant to succeed the Access JET, but that didn't happen.

        http://en.wikipedia.org/wiki/Extensible_Storage_En gine [wikipedia.org]

        So it's apparently a flavor of JET...but different.

        I could "see" them opening JET Red (Access) in about 10 years, because there are no plans to make it 64 bit, but not JET Blue (ESE/Exchange). That'd open up Exchange and MS wouldn't want to do that.
    • I've been programming in various versions of FP since 1989 or so (FoxBase+). Since the language is built around the idea of manipulating tables, doing so is incredibly easy compared to the awful hoops you have to jump through in more modern or general purpose languages (Java, perl, python, C/C++).

      That said, it feels very dated working in VFP. Especially with things like arrays, which are horribly crippled compared to the equivalent in perl or python. VFP's OO-ness isn't all it could be, either. I'd hop
    • I used to work for for a FoxPro developer back in 2001.

      It was rather a fun and useful software and a whole lot nicer to work with than say MS Access at the time if you were developing your own database software.

      I even got to attend a developers conference with them (I did training for them and support) and there were plenty of people that did Fox Pro.

      However, they did have a contingency plan to switch all their products to MS SQL based solutions which I don't know how that went since I left the company.

      It h
      • I had a brief stint at a small company producing bespoke accounting solutions for Pegasus Opera, a VFP-based package. Its briefness was due to dwindling demand... Since then, I've moved to the US, and if I ever happen to mention either Fox Pro or Pegasus, I get "Huh? The what-what?"
    • I've come accross one instance of a FoxPro app that the owner wanted to re-write as a web app. It would really help open up solutions for people with existing FP apps that need to migrate them to something, anything else.
    • *raises hand*

      FoxPro for DOS 2.6

      But it's not my choice! Stupid application still works like a charm. Whoever wrote it back in '92 did a pretty decent job overall. New enhancements are written by me grudgingly. A re-write is in the pipes, so I'll be looking forward to turning it into a web app and be done with it.
    • by Tablizer (95088) on Wednesday March 21 2007, @01:39PM (#18432431) Homepage Journal
      FoxPro? Who still uses FoxPro?! What ancient MS product is next?...

      Although they never got their GUI conventions right, the XBase language was outstanding for ad-hoc and small-scale data chomping. You can tell it was invented by people who had to deal with data and tables all day long.

      Unlike MS-Access, there was an easy path to ad-hoc manipulations and script writing. In MS-Access the language world and mouse world are too distinct. Xbase allows a more incrimental, integrated approach.

      And unlike SQL, it easily allows one to do cursor-oriented manipulation and see intermediate results. Sometimes cursoring around is easier than bulk, declaritive queries that SQL gives you. Newer dialects of XBase incorporated SQL to allow one to use whichever is best for a task. (However, index dictionaries were never standardized across dialects.)

      I used to do all kinds of table-oriented stuff in XBase, like store programming code or expressions in the tables. Think of it as Design Patterns where you can easily query, search, and print the patterns rather than dig thru linear code. It was also easy to generate tables programatically. Meta-programming was a snap. Data dictionaries could drive a lot of the app, even the GUI.

      The newer stuff tends to put bulky API's between you and the data, which slows one down. There is no such fense in Xbase (usually a good thing for productivity, but it does have its downsides if you are not careful and not used to it.)

      Ah, the good ol' days. -Tablizer-
             
    • by dheera (1003686) on Wednesday March 21 2007, @01:11PM (#18431959) Homepage
      This is probably a money-making plot on Microsoft's part. They will "open source" it, but then when you read the million pages of fine print, you find out that it isn't open-sourced under GPL, but instead, they'll probably rather put it under one of their own crafted licenses that says that if you modify and redistribute and portions of the code, you must include the string "I like porcupines" and a link to the Microsoft homepage.

      And then when someone does redistribute it like other source code (without reading the M$ license), they'll sit quietly for about 3 or 4 years, while this person's redistributed code becomes ever more popular. Eventually, it will become incorporated in digital cameras worldwide, database software that drives the next Google, and your next-generation toaster.

      Approximately 1 year after that happens, and $1 billion have been made off the redistributed code, Microsoft will sue for not following the license. They will cite the fact that "I like porcupines" is not in the code and that a link to the Microsoft homepage is not included. They will complain that the lack of a link to Microsoft will have decreased Vista sales by $3 billion (because, naturally, the price of their OS is probably 3 times that of the code in question). They will demand the profits, win the case, and said company will have the option of either paying the legal fees, or being bought out by Microsoft.

      On another note, "open source" of itself does not always mean "free to redistribute", it just means you get to view the source.

        • Yes, I used FoxPro back in the early nineties. It was a great product under Fox, but when Microsoft purchased it, they supported it only for a while, then let it languish while they pushed Access (an UTTER POS with all the "reliability" and brain-dead design decisions Microsoft is known for).

          I was at a computer show in San Francisco standing at the FoxPro booth actually when I heard that Microsoft had bought them.

          But I don't think the "Jet" engine came from Foxpro. I might be wrong about that. I think the A
        • Re: (Score:3, Informative)

          Didn't MS just buy FoxPro, to steal the 'jet' engine from it to stick into access?

          A few years ago, I ran into a couple of FoxPro-based applications and I learned a little about the history of the product.

          FoxPro was rather popular with application writers and there are still a lot of small business applications based on it. Apart from the technical merits, it had one big advantage over MS Access: you could bundle FoxPro with your application for free, while Access required an Office license for each PC.

          Microsoft bought the company mainly to destroy a competitor. They ended up suppor

    • FoxPro is glacially slow. Its proponents will swear up and down that it's the fastest database environment in the world, but the reality is that it's only fast at running FoxPro code.

      It's only fast at running code in it's own language? You don't say! I'd be pretty impressed at any language that could run code written in another language.

      Perhaps what you meant to say was that Foxpro is only fast when dealing with data. In that case you are correct. I wouldn't write a protein-folding program in Foxpro, be

      • It's only fast at running code in it's own language? You don't say!

        I do say. It's not a fast database. It's not a particularly nice programming environment. It has little support for any kind of ACID goodness, and then only in the very newest release (which isn't completely backward compatible with its predecessors). No, it's true that the only thing FoxPro is particularly good at is running FoxPro code. Unless you have legacy FP applications to support, it has absolutely nothing to offer.

        But there'

        • You seem to not understand that saying that Foxpro is only good at running Foxpro code makes no sense. .NET is only good at running .NET code. And Python is only good at running Python code.

          The mistake you're making is that you look at VFP and you see a DBMS package that's forcing you to program in Foxpro. You have it backwards. VFP's DBMS system is an extra bonus (especially if you're at a company that doesn't have the resources or the need for a SQL Server/PostgreSQL database).

          Yes, all the BDMS systems
          • You seem to not understand that saying that Foxpro is only good at running Foxpro code makes no sense.

            It was a literary device aimed at native English speakers, and I apologize for any confusion it might have caused.

            But PostgreSQL isn't a programming language and Python isn't a database language. Whereas VFP is both.

            The key distinction is that Python isn't a crappy database - it doesn't pretend to be one at all - and PostgreSQL isn't a crappy programming language - it doesn't even try. Combining an aw