Microsoft, yes Microsoft, will soon be doing open-source developers a real favor. The software giant has decided to open-source the core portions of the Visual FoxPro DBMS (database management system) 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.
For open-source developers the good news is that this will put the heart of one of the strongest DBMS engines and languages into their hands.
“We believe that by working with the community to continue to allow the FoxPro technology to be enhanced, that will help developers who currently have projects written in FoxPro,” said Alan Griver, the FoxPro team manager in an eWEEK interview with Daryl Taft. The fine details—what license will be used, when will the code be released—has still to be decided, but the simple fact that the code will be opened up is great news.
While not as well-known as it once was, FoxPro is an outstanding DBMS, with an extremely strong programming language behind it. I admit that Im more than a little prejudiced in this case because Ive been using FoxPro, and the DBMS and languages, which preceded it, for more than two decades now.
Indeed, after cutting my programming teeth with IBM 360 assembler and C, the xBase language family was my next language. The language and DBMS that would become FoxPro started as a project named Vulcan at JPL. It was later commercialized in the early 80s as dBase. I first ran into it while working at NASA as Vulcan on CP/M powered PCs. By the time I really started using it, around 1984, it was already evolving into several dialects of a core language, xBase. I became an expert developer in dBase, Clipper and, the dialect, which was destined to be the best of the family FoxPro.
Even now, more than 20 years later, I remain fond of both the DBMS and its language. The xBase language is extremely structured. But, unlike other structured languages like Pascal, the xBase family, and FoxPro in particular, has proven to be extremely powerful and robust. Nowhere has that shown to more advantage in working with databases and reports.
If you were to ask me today for a DBMS recommendation, depending on your needs, I might still recommend FoxPro. For most business uses, Im going to come down in favor of MySQL, but for smaller projects, FoxPro still has many advantages.
Now, with its already existing community of developers and an open-source future ahead of it, I think FoxPro may even have a renaissance.
Do you think Im being over-optimistic? Take a long look at FoxPro circa 2007. I think you may be surprised at how much you can do with it and just how easy it is to maintain programs written in it.