So, no more Visual FoxPro. Now what?
It has been over a month since Microsoft formally announced that there would be no new version of Visual FoxPro and that support for the current version would be retired in 2015. The reaction from large parts of the community was, of course, entirely predictable. Oh my Gosh! The sky is falling!
But what is the reality?
I have been deliberately silent on this topic to try and give the dust some time to settle and, also to take stock of my own position and intentions. So here, for what it's worth, is what I think about it all.
Emotionally, I am sad that Microsoft have decided not to invest in further development of Visual FoxPro. It is truly a great tool, way better than most people outside the dedicated user community, realize. It has been a mainstay of LAN based, desktop application development in all sorts of businesses for more than 20 years and as I (and many others) have been saying for years, it is also one of the best, if not the very best, tool for middle tier component development for use with all types of data-centric applications.
However, I also recognize that Microsoft is a business. I suspect that the demise of Visual FoxPro has more to do with the FoxPro community than most people in that community would like to admit. It has been made abundantly clear, on numerous occasions over recent years, that Visual FoxPro was not paying its way. The main cause is, of course, that the Royalty Free distribution, and lack of database licensing, give it a poor (i.e. non-existent) on-going revenue model. The only real revenue from VFP is, therefore, sales of new versions and when you couple this with the reluctance of the FoxPro Community to actually go out and buy new versions (why else is VFP 6.0 still the most widely used version of Visual FoxPro?) it is not hard to see why Microsoft are not keen on tackling a major re-write of Visual FoxPro.
Now hang on there; where did that come from? Who said anything about a "major re-write"?
Well, if you think about it, what else could we be talking about for a Version 10? There are two key issues to consider here.
First there is the question of 'features'. What new features could be added to Visual FoxPro in order to create a new version? Sure there are some little 'nice-to-have' things that could be added, but really the only things lacking in VFP are things that other Microsoft Products already provide. Even assuming it were possible, adding database features like integrated Security, Transaction Logging or extending the table size beyond the 2Gb limit, would only make Visual FoxPro a competitor for SQL Server. Similarly adding development features, like native Web Page capability, or CLR integration would only make it compete with Visual Studio. Why on earth would Microsoft want to do things like this for a product on which they don't make any money anyway?
Second there is the issue of technology. Whether we like it or not Visual FoxPro is bedded firmly in the technology of the 1980s and 90s. "Backward Compatibility' has always been one of Visual FoxPro's major strengths, but this is partly because it hasn’t really changed its core technology that much over the years. Now we are confronted with 64-bit, multiple processor hardware with more RAM than one would have dreamed of 5 years ago. Visual FoxPro was not built to run in such environments and changing it so that it can take advantage of the technology would surely be difficult and expensive. In fact I doubt if anything short of a total re-write from the ground up would suffice.
So while I may not like the decision, I fully understand it. In fact, I am grateful that Microsoft have agreed to stand by the product until 2015 anyway. Not only that, they have committed to delivering Service Pack 2, and the Sedna patch to VFP 9.0 (that will enable VFP to run under, and take advantage of, the next generation of operating systems).
So, now that we are over that, what next?
Well the first thing to consider is what does the announcement actually mean.
Microsoft have stated that VFP will not stop working – merely that they will not continue to support the product after 2015. This is perfectly normal and in line with their standard practice. Take a look at the product life cycle pages for any Microsoft Development tool and you will see the same pattern. You can find the web page here:
http://support.microsoft.com/default.aspx/gp/lifeselectdevtools
Here are the dates for all the versions of Visual FoxPro since VFP 6.0:
|
Version |
Released |
Mainstream Support Retired |
Extended Support Retired |
|
Visual FoxPro 6.0 Professional Edition |
8/16/1998 |
9/30/2003 |
9/30/2004 |
|
Visual FoxPro 7.0 Professional Edition |
9/29/2001 |
10/10/2006 |
10/14/2008 |
|
Visual FoxPro 8.0 Professional Edition |
3/12/2003 |
4/8/2008 |
4/9/2013 |
|
Visual FoxPro 9.0 Professional Edition |
12/22/2004 |
1/12/2010 |
1/13/2015 |
And just for comparison, here are a couple of other tools…
|
Visual Studio .NET 2003 Professional Edition |
7/10/2003 |
10/14/2008 |
10/8/2013 |
|
Visual Basic .NET 2003 Standard Edition |
7/10/2003 |
10/14/2008 |
10/8/2013 |
|
Visual Studio 2005 Team Suite |
1/27/2006 |
4/12/2011 |
4/12/2016 |
|
Visual C++ 2005 Express Edition |
1/14/2006 |
4/12/2011 |
4/12/2016 |
As you can see, the pattern is standard. 5 years on "Mainstream" support plus a further 5 years on "Extended" support. For definitions of exactly what this means, see the details on the FAQ page here: http://support.microsoft.com/gp/lifepolicy
Basically once the mainstream support phase ends, Microsoft will no longer provide non-security related hotfixes, provide no-charge incident support or entertain Warranty claims or Feature/Enhancement requests.
So what does that mean for you and I? Probably not much! It is pretty rare for the average developer to use "incident support" anyway, and for a mature and stable product like VFP it is even rarer.
But there won't be another version!
So what? What difference does that really make. Ask yourself the following questions:
Is VFP going to stop working on 1/13/2015 ?
(Hint: NO)
Is VFP's data handling and integration capability going to go away or be reduced?
(Hint: NO)
Will the features that make VFP your development tool of choice change?
(Hint: NO)
Will you not be able create and distribute royalty free EXE data-based applications?
(Hint: NO)
Will the capabilities and extensibility that make VFP the most powerful desktop database change?
(Hint: NO)
Which is the most widely used version of Visual FoxPro in the world today?
(Hint: VFP 6.0! A product whose support expired almost 3 years ago…)
In short, what will change? Answer, nothing at all! (Except, of course, for the vindication of the perception of the uninformed, marketing and buzz-word driven, benighted people who wouldn't dream of considering or using VFP anyway).
So what I am I doing about it all? Nothing! My clients typically are small to medium size businesses who are looking for fast, cost-effective (i.e. cheap!) solutions to business problems. Mostly they require solutions that run on desk-top PCs over secure Local Area networks. Typically they couldn't care less what the solution is created with. What they require is results, not conformity to corporate strategic plans.
Of course I will continue to provide the best service I can for my clients; where that means using SQL Server for a database, I will. If it means developing a browser based application in ASP .NET and C# then I will do that (and indeed, I have done so). But when I need a middle tier, data aware COM component, or a simple desktop application that accesses only data held locally then I will still be turning to Visual FoxPro as my number one development tool.