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: ,

Monday, April 30, 2007

MasFoxPro Petition...ah, Letter to Microsoft Executives

I did a bit more research yesterday and reviewed most of the MasFoxPro wiki Web site. All the posted messages reference signing a petition so I was looking for the legal petition. I could not find it. I found ideas, wishes, the letter to the Microsoft executives and some discussion, but no petition. So I emailed Pablo Roca (one of the organizers of MasFoxPro) and asked for some clarification and a link to the "petition." Pablo was kind enough to send me a link to the Letter to Microsoft Executives.

Well that cleared up a lot of confusion on my part as I was looking for this petition thingy. Pablo and I exchanged several great emails and with it I have an better understanding of what the MasFoxPro movement is trying to accomplish and what they really want from Microsoft. In addition to my email exchange with Pablo, some comments on my blog, and reading some of the additional comments from the Fox Community on Doug Hennig's blog I think I have a better understanding of the issues at hand.

One of the reoccurring themes from angry and not-so-angry people in our community is they want a clearer explanation of why VFP will no longer have dedicated resources within Microsoft. I think Tod McKenna has bullet pointed this best:
All I want is:
(a) continued VFP development, or
(b) a good solid, no-BS reason why VFP was dropped, or
(c) a decent migration path for the dozens of VFP Apps I have floating around.
There is no doubt that I would like to see VFP development continue. This is something we can all agree on. I don't want anyone to misinterpret any of my writings about the future of VFP to be anything different than I would like to see VFP flourish and be enhanced. The difference I might have with some people is that I believe it can be enhanced and flourish with OR without Microsoft.

I definitely don't want a decent migration path for my apps to another Microsoft tool or platform. I have worked on migrations in the past (IBM OS changes breaking JCL and COBOL apps is one simple example from the far away past, FoxPro 2.6 DOS and Windows to VFP is one I am living today) and I know it is better to rewrite the applications than to migrate them to a new platform in some magical/automated way.

As far as the reasons Microsoft is stopping future development of VFP and getting a clearer explanation of the reasons: I can understand this, but I believe Alan Griver has regurgitated it over and over on the various forums and his blog. Is the reason the Fox Community is asking for a better explanation because Microsoft gave a convoluted one, or because they did not like what was stated? I think part of the confusion is the fact it was stated so many places and in different message threads, so maybe it would be best for Alan to restate it once so the community is ultimately clear on the reasons.

I still have not decided whether I am going to sign the Letter to Microsoft Executives. I have many more thoughts on this that I plan to share this week as time allows (I am up to my elbows in alligators at the moment) and still have to PDF form-ize the Southwest Fox registration form before it goes live tomorrow. Most of these thoughts are in the emails back and forth with Pablo, but I need polish them up. When I get through most of the 18 items for today's To-Do list (yes, this is an actual number) I will sit down and blog some more.

Labels: , ,