Licensing - Merging Code into corporate MVVM library

Nov 16, 2011 at 2:02 PM
Edited Nov 16, 2011 at 2:02 PM

I would like to use Caliburn.Micro as part of the core MVVM framework we use here at work; however at this point I really can't afford to add another DLL to our MVVM framework.

So at first I approached this from the standpoint of embedding the Caliburn.Micro assembly and loading it in (http://blogs.msdn.com/b/microsoft_press/archive/2010/02/03/jeffrey-richter-excerpt-2-from-clr-via-c-third-edition.aspx). This allowed me to put our own API around CM and what ever customizations were neccessarry could be baked in one DLL instead of being done on a project by project basis. I even used a strategy pattern in combination with MEF to allow me to have a plugable "ViewEngine".

The problem with this approach is that once I want to start using concepts like IViewAware and Screens and Conductors, the amount of wrapping code neccessary starts becoming too much. So finally I'm thinking I might just want to include the Caliburn source in our assembly directly. That removes code duplication and all the Strategy pattern and MEF infrastructure (though I am liking the pluggability I now have).

What are my requirements from an attribution standpoint? Do you have any alternative suggestions on how I could approach this?

Thanks.

Coordinator
Nov 16, 2011 at 4:53 PM

License-wise, you can pretty much do whatever you want. Click on the License tab above to read the details.

Another option you might consider is using ILMerge to merge the Caliburn.Micro.dll with your in house dll. You could add this as a build step for your internal mvvm solution.