WhyOpenSource

Starting my open source project Top Why has MFC survived so far?

The current state and why it is still alive

Today, the project is still alive and that has a reason. The initial design led into a rewrite, but I made that early and fully toward a modular software system. In that early stage, I understood, what COM had demonstrated so far. The building block of COM literally was its interface design technique. The interfaces were designed once and as I think, never changed. If a change was required, it led into a new interface - say, with a trailing number of the version. The next thing I understood, but I have not applied to my version, was a basically as low as C language level based technique of binding things together. Meaning not necessarily requiring object oriented languages. I didn’t followed that path, because I didn’t needed that low level. I kept using C++ and pure abstract classes (interfaces).

I also skipped one goal after starting the project due to it’s sheer size and additional stuff to bring to live. That was the remote API part. I started with local only and didn’t started utilizing the client server API part for my project until now. It kept sleeping in my code base, though.

Why is the project still alive? It is due to the fact, that I am my own stakeholder. I am using it - for software development purposes. One part is of course the cross platform capability to let me use the main application on my Mac OS X, Linux and on Windows of course. The second reason is that the main functionality within that project is a model driven software prototyping approach that let me quickly develop database software prototypes. That important part I have neglected upfront with the migration to Power++ what literally lead to an unfinished product.

Today, I am capable of creating from this UML model (the main application it self) a modern looking application in a completely different software development language and framework.

Part of the main UML model for the main application

Main application. In front the open source wxWidgets prototyper. In back generated DevExpress

Starting my open source project Top Why has MFC survived so far?