|
What purpose was SoapBox Core created for? |
Design Goals of SoapBox CoreI started writing another application (eventually to be released as GPL - for very good reasons that were discussed with a lawyer) and I had these requirements:
SoapBox Core is just my attempt to accomplish these goals. Now I understand that you can accomplish goals 1 and 2 with Composite WPF (aka PRISM) or the WPF Application Framework. Unfortunately they're licensed under the Ms-PL so I wouldn't have been able to use them in a GPL'd application. It turns out that MEF (which SoapBox Core uses for extensibility) is also licensed under the Ms-PL but it will eventually be included with .NET 4.0, and at that point it becomes a system library and the GPL doesn't care about it. Once I started writing SoapBox Snap, I realized that a lot of the stuff I had written was probably applicable to writing other applications, so we decided to break off the generic stuff as a separate library called SoapBox Core and release it under the LGPL license so anyone can use it, even in proprietary applications. That is the (very short) story of SoapBox Core. It is what it is. I also hope that it will be an interesting reference application for people interested in how to follow the Model-View-ViewModel pattern in their applications. SoapBox Core PhilosophiesFor better or for worse, these are the ideas that were floating around my head as I wrote SoapBox Core:
|