Thursday, May 03, 2007

MasFoxPro - the decision

(I apologize for the length of this post in advance)

I want to thank all the people in the Fox Community who took the time to personally try to convince me to sign the MasFoxPro Letter to the Microsoft Executives, and those that respected my alleged decision not too, and those who said it did not matter to them. As I was telling one of my newest development tool customer's today, my decision was made on Monday and signing the letter was one of the 18 things to do on my list from Monday.

Here is my thinking about my decision process:

MasFoxPro Letter ("petition")
The MasFoxPro Letter to the Microsoft Executives states three ways VFP could be developed further. I disagree with one of the points, and think the second and third ones are a struggle for Microsoft in the long term. I think understand the reasons Microsoft decided the future of VFP. I am not sure the points in the letter solve the problem.

Open Source VFP:
Microsoft has repeatedly stated they will not give up the Intellectual Property (IP) known as VFP because the technologies are leveraged in other tools, languages, and databases. I fully understand the protection of this IP having been a victim when one individual and one company stole the IP from my company. The competitive loss from a financial and intellectual perspective are significant. Imagine if your competitors just removed part of your revenue stream from under you because someone asked you to release your source code. I think all software developers can all relate to this. If you owned Rushmore and it was integrated in three products you were actively enhancing, would you let your competition get a look at it? I am sure it is more than just Rushmore.

Second, I know there are only a small percentage of developers in the Fox Community who could take the source code from Microsoft and support and enhance it. I am guessing less than 3% of the developers who write VFP applications and tools are capable or even interested in writing a language (XBase and SQL), the IDE, and the supporting XBase tools. Even if it is Open Source with the appropriate license so the developers could sell it for profit I doubt there is enough brain power willing to pull this off. That said, even if we could find 10 people to form a new Fox Team, it would be a long time before they could release VFP 10.0 and I suspect the momentum would be lost. That is not even taking into account the fact some companies want a large company like Microsoft backing the tools they use.

Form a partnership with a third-party to continue development
Interesting possibilities, but I think Microsoft is risking the IP issue again. The tried this with FoxPro for Unix and this was not a strong success story. On the other hand, with this option you would get dedicated resources and could build a profitable business model. I believe the support and partnership with Microsoft could bring credibility to the product that would be lost if the source code was released to an open source project.

Microsoft continuing development of VFP
While I think this is the optimal solution desired by the community, I have my doubts this is possible from a resource perspective. My general thinking on this follows the line of working on the same project for an extended period of time is hard on developers. I have not talked to the developers on the Fox Team about this particular issue, but most developers I know who work in the same code for 3 or 4 years get bored. The core VFP team has done it for longer than this and there are parts of VFP that are more than 20 years old. Having a stable core is an absolute necessity. Remember the instability of VFP 3.0 with all the new code to make Fox "visual" and a new database engine? I don't have time to fight instability.

I think Microsoft would need to develop a plan to rotate new C++ developers into the team on a regular basis. There are risks in doing this for sure, but it allows developers to move on to bigger and better challenges, which I think all developers look forward to once and a while. The Fox Community has been extremely lucky people like Calvin Hsia, Aleksey Tsinqauz, and Richard Stanton (he is a relative newcomer to the group) have been around for so many releases. The guidance of Randy Brown was not really appreciated until he left. The Tech Support team of Jim Saunders and Trevor Hancock rounds out a rock solid foundation with the team.

So the tough question begs: what C++ developer wants to work on the Fox Team? You have a VFP product that is not strategic in Microsoft, or you could be working on something like SQL Server or the "popular" .NET that have roadmaps with "infinite" lifetimes. Few developers might choose VFP, but from a career growth choice, is this the best move? The good news is VFP apparently takes fewer resources than other development platforms so we only need a few good people to step up.

Summing it up
Even though I disagree with some of the proposed solutions, in spirit I believe in the general consensus about wanting VFP to be continued and enhanced. I am not a solidarity type of person even though I live in a huge union town. I do however get passionate about causes and will get behind one I believe. I normally do things I think will make a difference, and participate in the things I think have a positive impact on our planet.

Do I think this will change the things at Microsoft. Nope. In fact, most of the people who contacted me about MasFoxPro also feel the exact same way. I am not in the minority on this. But I think the important part of this campaign is not to change the minds of Microsoft, rather it is sending them a message about abandoning customers (bad!) and letting them know how much we care about VFP.

The only way I believe this decision can be changed (and I think this is not possible) is to give Microsoft a number of reasons how VFP can be enhanced. I am not talking about removing the 2GB limit on tables and memo files (this has been solved with different backend databases). I am talking about features that matter and will sell the product to VFP developers. I can count on both hands the number of developers who have really answered the question: "Name me five 'back of the box' features Microsoft should add to VFP in the next version?" Most developers will mention the 2GB limit (won't sell Microsoft), some talk about OOP menus (see VFPX), some talk about a modern IDE (I would like some of the IDE features in the .NET UI), but for the most part the wish lists posted have minor things in them that we as a community can add ourselves, or are very obscure and not beneficial to most developers.

So there you have it. I am signing the "petition" after posting this, and then I am back to work all evening long to catch up on the to-do list that seem to be growing.

In closing, I will reinforce my position - we need to direct our energies toward moving VFP forward with or without Microsoft. We should not be splitting the community over a silly "petition". I stated this before: it does not matter that Microsoft is calling VFP feature complete. The community is powerful and resourceful and can do more as a whole than 10 of the smartest people I know working inside Microsoft (still known as the Fox Team).

Labels: ,


At 5/03/2007 07:21:00 PM, Blogger Randy Jean said...

Hi Rick,
Your input is much appreciated.
New features? Longer index tag names would be nice...
But I agree, it is feature complete for me, too. My main problem is that it is going to become an increasingly harder sell to clients/management than it already was.
Basically, MS employees (Fox team excluded) disparaged their own product and those who chose to use it and now arbitrarily discontinue it. But, everything else is suddenly "cool" (even python, blech!)
My other problem is, what happens post Vista with patches, etc. and we start getting "Divide By Zero Overflow" at startup a la FPW and fast CPU problem? Or strange C000005 errors after a Windows update? Will a patch be forthcoming with nobody there to support it even before the support deadline of 2015?
Maybe I'm worrying for nothing as VFP9 has been, for the most part, extremely stable to date.
I can't wait to get more into VFPx projects. I'm starting a new enhancement to use VFP Desktop Alerts. Very cool.

At 5/03/2007 07:47:00 PM, Blogger Rick Schummer said...

As to the "Divide by zero", the community did the initial fix and Microsoft posted the fix on their site years later. I think Milind address the issue of what can happen after SP2:

My recommendation is to beat the heck out of the SP2 CTP4 and betas.


Post a Comment

<< Home