It's been a week over 10 days since the VFP Roadmap was first published and the opening keynote at the FoxPro DevCon has helped (or not for some) clear the muddy waters.
According to the notes taken from Alex and David, the VFP Team expects Sedna to look like:
* Limited core product updates
* New and improved XBase components
* .NET wrapper classes for use with VFP
* Additional product DLLs for extensibility
(this is similar to the notes published by John Koziol in the Universal thread). From Alex, "The most important theme I got from the meeting was Microsoft's VFP Group keen interest in hearing from us, the community on what direction this should take."
Malcolm Greene made a comment on the Talking Fox about the Fox Team's track record and how he would take a service pack over a full release any day.
I agree with that statement and it got me thinking about what actually defines a release. If you look at the way many products tend to get released, you often see a release that introduces major changes, followed by a release that "adjusts". These "adjustments" are more recently called "service packs" primarily because the focus of the update is very targeted. However, some would argue that the Windows XP SP2 was just as critical as a major update because it changed a lot of the standard behavior.
The difference between a service pack and a new release is also a great deal in the marketing. When a new product gets released, an awful lot goes into packaging and marketing of the product (no snipes about MS marketing VFP, please). VFP 9's mantra was no limits and it touched upon almost every area of the product. Although the Report Writer enhancements are certainly one of the most visible changes, there were changes in the SQL engine, designers, etc. The hooks that were put in created a framework for changes that could be made without requiring major changes in the engine.
The focus on Sedna is interoperability with DotNet. While VFP purists may consider it a shift, the statistics noted at DevCon show that the majority of FoxPro developers are integrating it with other environments, be it the web, DotNet or Office. So now, it makes sense to focus on better working with other systems, in the same way that VFP 6 made COM easier to manage.
But back to my point of what defines a release. Gone are the days when a product was made up of a single EXE and some minor files - I installed Cropper yesterday which uses DotNet and while the EXE was only 60 K, there were over 10 additional DLLs that added to the file size. VFP is no different and if the Fox Team can achieve their goal of VFP working better with DotNet and Longhorn (it looked like the Avalon demo was particularly cool), without having to update anything in the core product, that says a lot for the environment. Call it VFP 9 (SR) (Sedna Release) or whatever.
Is a release defined by how developers use the product or by the applications that they develop with it?
Recall that Rick Strahl took what was considered a desktop application and made it into a powerful web server, a local database tool now serves data from the larger database servers, a tool that was originally written as a scripting language has grown into the tool we use today. For every commercial FoxPro tool out there, there are a number of other public domain or open solutions.
What we have been seeing in the past few years is how Microsoft is taking that same approach of "what can we build without having to change the core" and letting their team and the entire community build from it. As I think more about it, Sedna is really the next step in that. If they succeed in building Sedna without touching the core engine (post Service Pack 1), it will be a testament to the original design from which Visual FoxPro (and FoxPro itself) was first built, one that very much feels like an open-source community for a commercial product.
Whether you call it a release, or a service pack or whatever, shipping an update is just like shipping a release, but typically without the fanfare and the Fox Team has produced some absolutely amazing functionality in the past and the demos discussed hint at great things to come with Sedna.
What we do with it is what is of most importance.