Microsoft to Open Source FoxPro
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."
Finally!
See first comment in the article by a Microsoftie:
.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.
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
I wonder if this will include the previous ports that ran under Mac and Linux.
Open source is not a verb, dammit. Try "Microsoft to make FoxFro open source" or something like that. Arrgh!
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 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.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
I might be able to feign some interest if they'd open source Jet (db used by Exchange)...
I don't suppose anyone knows what open source license the software in question was released under? I looked in the article, without success.
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'll see your Constitution and raise you a Queen.
My blog
FoxPro? Who still uses FoxPro?! What ancient MS product is next?... OOOOooo, please let it be MS Works! Maybe we can then prove it really is an oxymoron!
-50 DKP for lame post!
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 hoped the 'open source' part of the announcement would mean someone (maybe I?) would be able to add associative arrays to the language, but there is some confusion about whether VFP itself or some derivative called 'Sedna' is actually being open sourced. I need to find out more.
I wasn't aware of that web site, let's get some MS-hostile GPL projects on the go :-)
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.
license?
http://kered.org
I hate FoxPro. It's ugly, it's slow, it's ancient, and it doesn't play nicely with, well, anything. My company has spent the last few years migrating to a decent, modern solution with PostgreSQL and Python. My biggest hope is that they're actually releasing it through their proprietary "shared source" license and not a real F/OSS license, because I honestly want this to die once and for all.
BTW, yes, you read that right: 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. Port a FP program to pretty much any other language+RDBMS system, and actually write it in that combination's native idiom (that is, don't translate FP to Java line for line), and you'll leave it in the dust.
Dewey, what part of this looks like authorities should be involved?
It would be really cool!!
Microsoft Open Source License: You can look, but you can't touch.
Best Slashdot Co
I totally agree. I would love to get my hands on old software that just isn't viable. I realize that some things can't be open-sourced, especially if some components are still in use. But there's no reason not to make downloads of ISOs or the installation files available for free or low costs ($5).
--Thomas J. Owens
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 over copyrights. I believe all the "intellectual property" issues surrounding FoxPro have long been settled, am I right?
burnin
That was the first question that came to mind for me, too.
The relevant part of the actual announcement on Microsoft's site reads "To reiterate, today we are announcing that we are not planning on releasing a VFP 10 and will be releasing the completed Sedna work on CodePlex at no charge. The components written as part of Sedna will be placed in the community for further enhancement as part of our shared source initiative. You can expect to see the Sedna code on CodePlex sometime before the end of summer 2007."
Shared Source is not Open Source.
Between FoxPro and VB it just amazes me that any company can afford to repeatedly crap on it's customers and still survive.
"God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
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.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
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
It breaks my pluginses, my precious!
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.
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. One of my friends created a binary patch for Civ2 so that it would call yield or sleep or something like that instead of busy waiting so it would stop eating his CPU.
I thought Sedna was an open source Native XML DBMS.
I suppose the 3 users of FoxPro are totally gonna be stoked on this...
One of Foxpro's biggest limitations is the 2 gig limit...
hopefully the open source community will be quick to address this
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, because, well, that would be stupid. But there's no language in the world that works with data as well as FP.
Fortunately for you, though, Microsoft is not really making anything of significance open-source. Though Foxpro's death will only be assured when they turn out the lights in 2015.
It breaks my pluginses, my precious!
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, you suddenly allow old installations an excuse not to migrate to a more current DBMS. Legions of open-source programmers will flock to enhance and expand an old, dead product. In a strange way, this is a smart move on Micro$oft's part. They can only benefit from this move.
Bearded Dragon
Try DOSIDLE: http://www.vmware.com/software/dosidle210.zip
morcego
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-
Table-ized A.I.
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
Companies like Microsoft and Sun are fond of calling things "open source" that really aren't open source in the usual sense. So, which license is this going to be?
(Apologies if this in TFA, but I didn't see it.)
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 mentioned in your post are better in a myriad of ways than VFP. And Python, C#, what-have-you are more modern programming languages (though in this discussion that's besides the point). But PostgreSQL isn't a programming language and Python isn't a database language. Whereas VFP is both.
Have you considered using PostgreSQL with a VFP front-end (I'm going to assume that you're involved your company's upgrade)? Well, of course you haven't. Because Python is totally badass! And besides, you don't really know anything about Foxpro and don't want to learn. So it would be a waste of time for you. Which is fine. Go with what you know. But IMO if three years ago your company had decided to go with a Postgre+VFP they would have been done with their upgrade two years ago, instead of still thunking away at a "decent, modern solution".
It breaks my pluginses, my precious!
Another steaming pile o' (sh)it goes down, MS needing new 'products' to lure people to. Everything in Fox Pro is so badly designed that I experience physical discomfort when using it. The main idea with most M$ products is 'any idiot can program/administer computers/networks'.
chirp chirp chirp...
If it were done when 'tis done, then t'were well it were done quickly... MacBeth
Open source is not a verb, dammit. Try "Microsoft to make FoxFro open source" or something like that. Arrgh!
I was under the impression that verbing adjectives was a construction in mainstream American English that is recognized as legitimate even by academics. (Verbing nouns is a legitimate construction in hacker slang, but that's a separate issue.)
However, even if it wasn't, American English does NOT have a regulatory body. It is, and always has been, what the users make of it. Academics must continuously research and document its changes - rather than prescribing it (and using legal power to enforce it) ala the French Academy.
("Standard English", on the other hand, is a construction that an east-coast self-proclaimed elite attempted {with much success} to foist on the rest of the country via the {largely governmentally-supported} school systems, in order to establish their version of the language as that of a ruling class and marginalize the speakers of the other local dialects and pronunciation variants. Fortunately for midwesterners, the advent of broadcast radio led to the standardization of THEIR pronunciation variant by the budding broadcast industry, due to its understandability by the largest population of listeners.)
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Sorry about the "adjective" part. (I started responding to one of the followup comments and pulled the "verbing an adjective" from there.)
"Open Source" is a noun phrase so verbing it is a proper construction of hacker slang. This seems appropriate, given that the whole open source movement was started by one or more of the original MIT Hackers. Since one of them coined it, and they habitually also used nouns as verbs (and vice-versa), they automatically coined the verb form simultaneously. This makes it proper even in Standard English.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Really not in the same league at all.
Microsoft has largely ignored the open source community until now. Sun has open sourced some stuff when it suited their business interests, and in other areas has actively attempted to disrupt open source efforts, sometimes with almost-free licenses, sometimes with licenses calculated to cause dissent and incompatibilities among open source projects.
So, you're right, they are not in the same league. I'm just not sure which of the two leagues is worse. Frankly, at this point, I'd wish both of them would just go away and leave open source alone rather than trying to "help". We need Sun's help even less than we need Microsoft's.
"...There's certainly no plans to open-source the IDE or the VFP engine..."
.NET, VB, Delphi, VC++, etc. developers to write apps that talk to legacy FP/VFP systems without being tied to the VFP IDE or having to have VFP installed. The VFP OLEDB driver seems to be a huge improvement over the older VFP ODBC driver and (for a Microsoft product) has a rather small footprint.
Microsoft released their free VFP OLEDB driver last year. It pretty much allows all the
I think Hell just froze over and a pig flew by my window. Why is Microsoft doing this? Perhaps to sponge off OSS developers then turn around and close source it.
\
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?
Local processing. For sticky processing, sometimes you can dump the work onto a user's workstation to relieve the server. A client/server app grabs the raw data from a central RDBMS, and then chomps on it on the local work-station. Think of them as a "local view" of tables.
I've seen processes that used to run locally moved to a web-server, and it got bogged down because all the processing that used to be distributed to work-stations was now forced to one box, the server. However, we got around it by pre-processing some of the data at night to make it easier to digest for this particular app.
Also, as I mentioned elsewhere, FoxPro is generally easier to program cursors with if you need cursor-oriented processing. I find it more friendly than Oracle's cursor language conventions, for example. FoxPro is more "scriptish" in that regard, while Oracle is formal.
It is also easier to break big queries into multiple smaller queries in Xbase (FoxPro's original language). The equivalent in SQL is sometimes a big run-on sentence, a multi-breaded sandwich. (SQL could fix this with app-defined views, but this is not well-supported.)
Table-ized A.I.
There is an open source project inspired by VFP but based on python. It's called Dabo http://dabodev.com/ . Check it out if you are interested in getting on board with something that isn't obselete.
evil is as evil does
That link didn't work for me [404'd at vmware.com].
E RS/DOSidle/">This one did.
A HREF="http://ftp.bspu.unibel.by/pub/HardWare/COOL
I come here for the love
i hope they open source "Windows for Workgroups - 3.11" next. nothing says, "We're serious about open source!" better then releasing such cutting edge, technically relevant pieces of software. i certainly will feel free to read and use their code, without fear of future patent litigation. i mean, come on, it's Microsoft.
Well there it is! I worked with VFP starting with version 6, and when version 8 came out the rumors started flying about VFP being discontinued at some point. Microsoft fired back saying that the lack of VFP in Visual Studio didn't mean anything, and they would be continuing development and supporting all the VFP code out there for some time to come. Well, looks like the rumors were right.
And I really don't care, because when I started hearing those rumors I started searching for a replacement, just in case. I found DABO, which was created by a couple of VFP supporters from back in the day. It's built on Python, has a data model which mimics in many ways the simplicity and robustness of VFP. Plus it can use any database for the back end! It's open source, free, and getting better all the time; and it's not even at version 1 yet! I've only been tinkering with DABO, but now it's time to move.
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.
Except for really small stuff, I usually used tables instead of arrays. Tables are more scalable. Associative arrays are like a table with 2 columns and *only* 2 columns. If you use a table, then you can add bajillion columns without changing the code that uses the first 2 columns. Can't do that with associative arrays, and I have needed such a change many times. XBase (FoxPro) made creating tables so easy that they could easily replace most arrays. I agree the GUI's sucked on these products, but for table-oriented work for desktop or client-server apps, it was difficult to beat the simplicity and table-native-ness of XBase dialects. Manipulating tables thru API's can be a red-tape pain.
Table-ized A.I.
(I'm kidding, I'm kidding...)
The OSS Harbour project:
http://www.harbour-project.org/
is building an XBase compiler based on Clipper (a sister of FoxPro, both based on XBase). Two things needed the most are an interpreter (Harbour is a compiler) built from it, and a decent GUI hook-up, perhaps to the TK GUI tools.
FoxPro apps probably would not run unmodified because the dialects drifted apart, but at least new apps or ad-hoc projects could be used on such for those already familiar with XBase.
Table-ized A.I.
Microsoft could open source all of its software and people like you still wouldnt be happy. Open Source software isnt the best way to do business, and Microsoft is in it for the money.
From the CodePlex site; http://www.codeplex.com/CodePlex/Wiki/View.aspx?ti tle=Project%20hosting%20requirements&referringTitl e=CodePlex%20FAQ
1. You must choose a license for your project (license resources: Open Source License page on Wikipedia)
2. It must be an ongoing project (no "abandoned" projects)
3. It must have source code (no non-software projects)
Look #2, it must be an ongoing project, it cannot be an abadoned project.
Microsoft is gonna abandon FoxPro?
And here's what the Dabo people have to say about Microsoft and VFP. Interesting comment that reflects some of the posts here.
"An incredible, powerful and grossly under-marketed tool for developing database apps that run in Microsoft Windows only. Its cursor engine is second to none in terms of power, speed and utility. VFP is a fully object-oriented language, with the ability to design classes both in visual tools as well as code-only. Despite neglect from Microsoft, which makes more money selling less capable tools that have higher licensing fees, development continues, with version 9.0 released in late 2004, and work on an update, code-named Sedna, scheduled for a 2006 release."
The Dabo project looks very interesting, especially because it is cross=platform including Linux. I will be watching its development.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
At one time there was software that could translate FoxPro (for DOS) code to C or C++. That would be a good way to transition from old FoxPro programs to something else.
Does anyone have a link or information?
(Note that, contrary to what the Slashdot story said, Microsoft is not really releasing any source code of value.)
Do you have any experience with FlagShip? Apparently it can translate legacy xBase code to C++.
Since Microsoft is killing FoxPro, everyone using it will need to transition to something else. What is the best way to make the transition?
Have experience with the Harbor Project xBase compiler?
Micro$oft don't let their programs closed why wouldn't profit for them.
They don't open their programs because they are not competent to offer services to their customers.
They aren't a service-oriented company.
If they would need to offer services to their customers, they will bankrupt.
This is the reason to programs will stay closed until bankrupt.
I mean if someone admits to using Visual FoxPro they are usually laughed at. I think Visual FoxPro was the software least likely to be installed in the Visual Studio 6.0 and above suite of software.
I think the DOS version of Visual FoxPro was used to create Nursing software to answer questions about becoming an LPN, but after they moved from DOS to Windows they used something else.
If Microsoft wants to impress the open source crowd, they need to open source the core of Microsoft Access and release how the MDB file format works. Now that would be impressive.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
Well, some people hate it http://www.dbdebunk.com/index.html, but SQL is far more powerful than FP, if you agree that declarative languages are better suited to the task of manipulating data.
FP is a clone of dbase, which had nice features to handle data only if you compare it to a bare C API.
SQL is the most popular implementation (definitely not the best or purest) of tuple relational calculus.
Finally, speed is not related to a particular language but to its implementation. How a query is carried out is the task of the Query optimizer http://en.wikipedia.org/wiki/Query_optimizer. I don't know anything about rushmore technology, but I don't think it goes beyond the query optimizer concepts that predates that technology by several years.
I could be getting it confused with something else, so correct me if I'm misremembering (it *has* been a while), but wasn't FoxPro what people used before Lotus 123, dBase came along and snapped up the market for DOS-based business applications (apart from word processing, which had belonged to WordStar and was in the process of being taken over by various hotshot newcomers, WordPerfect being chief among them)?
Cut that out, or I will ship you to Norilsk in a box.
Comment removed based on user account deletion
It is simply staggering the amount of garbage you have to muck around with these days whether .NET or .J2EE.
.NET or Java would take at least 3-times the man-power. (Part of the problem is web standards hinder UI's, making you have to do odd work-arounds.)
Agreed. I used to whip out minor applications in a two weeks, and medium ones in a few months by myself with XBase. The same up under
I even put myself out of a job once by banging out apps so fast that I ran out of programming, so they put me in network and PC support, which wasn't my bag. I enjoyed banging out gajillion apps at the speed of light.
Table-ized A.I.
So Freaking What!?
...
No wait let me change that to:
so freaking what.
Two words: MySql, Postgresql.
Who the hell cares about a dead, ancient, useless, big new learning curve, hunk of junk software that Microsoft bought only to destroy it. You should know the rules by now...
Microsoft rule #1 : Ignore competitors too small to hit the radar,
Microsoft rule #2 : Buy competitors' products when they hit your radar,
Microsoft rule #3 : Bury competitors' who won't sell,
Microsoft rule #4 : Sue competitors' you can't bury,
Microsoft rule #5 : Embrace, Extend, Destroy,
Microsoft rule #6 : If all else fails FUD,
Microsoft rule #7 : Throw lot's of chairs and do the Monkey Dance.
What possible use could opensourcing FoxPro do? Hmmm... ah! Can anyone say patent infringement lawsuit? See rule #4 (note tha shift+4 = $). I have to say one thing these slimeballs are relentless and haven't even begun to reach into their buckets of slippery slimy tricks, to attack OSS with yet. Of course they have this wonderful term called "plausible deniability", and will say, "No really we just want to be your friend". I say "Beware MS Geeks bearing gifts!" Especially, if it resembles any animal like a horse or a fox or
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.
FoShizzle! Don't rewrite that app! Just use the solaris RunTime and run it on Linux. Output your screens in HTML, and make it a webapp on Linux!Yes. I did that:H .PRG i srt/
http://www.havokmon.com/stuff/workstuff/prg/SEARC
Solaris Runtime:
http://www.havokmon.com/stuff/workstuff/prg/solar
You'll need to use another program to call your FoxPro app (outputting HTML comments) otherwise you'll get ansi gook in your page.
"I can't give you a brain, so I'll give you a diploma" - The Great Oz (blatently stolen sig)
In other news Hell just froze over.
That's a nice idea, but since I didn't have a choice with the FoxPro, I highly doubt I'll have the choice with Linux. :(
Live forever, or die trying.