This project is read-only.


Dec 29, 2010 at 4:46 AM
Edited Dec 29, 2010 at 4:47 AM

I've started using Avalon Wizard in a small in-house app, and I've had to make some small changes to the themes (Wizard97.xaml and Aero.xaml), specifically with the back/next/finish/cancel buttons.  They are minor changes, like removing the back/cancel buttons, and moving the column which the Next/Finish buttons are in.  I do not believe these belong in the library, but under the current LGPL license, I believe I am required to recontribute the changes back to Codeplex.  Are these valuable changes that you would like me to create a patch for?  I was thinking changing the license to the MS-PL (or perhaps the BSD or even Apache license?) would be less restrictive and allow for these types of modifications. 

Thanks for your great work!  Avalon Wizard is working great for me and the code looks excellent.

Jan 11, 2011 at 8:48 PM


I'm glad you liked it. 

I think there is no need to create a patch for these changes. It looks like you just restyled it for your own needs.

May 9, 2012 at 7:37 PM


I also have a license question.  I've used the library to create an installer application for our company's products.  The installer is mostly an internal facing app, but customers do get a copy of it from time to time.

I've edited the code to better support MVVM.  I'm sure this would be a good addition to the library.  I'm in discussions with our legal department right now as to what my options are going to be.  I may have to remove the library from the application because they may ask that I do not contribute to open source.  I'm hoping that is not the outcome.  However, I've been looking for a way to contact you.

As I mentioned our legal team is reviewing all the licenses of the products I used.  I have already read the LGPL v2.1 license you have attached.  It makes it sound that if I link this library to my application I may have to release the source to my application.  That would be a no go.  Is this expected?

I'm not sure how well I've done on the implementation.  My first step whenever I want to do something like this is to see if I have done has already been done before.  I searched around and wasn't able to see anyone finding a way to do MVVM light with your library.  I think I have done a good job at making the Wizard more MVVM like, but perhaps you'd look at it and laugh. :)

Thanks for such a great library!


Mike Gardner

May 15, 2012 at 7:51 PM


I'm happy you liked the library.

Yes, I developed this library without MVVM in mind so it would be nice to have some MVVM additions for it. Actually I have some plans to create a second version with a good MVVM support but still have no time to do it.

Regarding the license: LGPL does not make you publish the source of the whole application. So you may link to the library from the closed source application. But LGPL states that if you distribute the modified version of the LGPL'ed library, you must publish the source code of that library (not the whole application).

So if you are allowed to do publish the changes made to the library, create a fork for it, please. Anyway feel free to contact me. I'll be glad to help you.



Pavel Fedarovich

Sep 9, 2012 at 8:12 PM

From version 1.2 Avalon Wizard is dual licensed under Apache License 2.0 and LGPL 2.1+. You may choose any of these licenses.

Mar 6, 2013 at 1:23 PM
Edited Mar 6, 2013 at 5:20 PM
Hi Pavel,

I'm not sure why I never got contacted back that you replied to the thread and I swear I looked back here for an answer to my licensing question. Thanks for the prompt response, but let me say I am sorry for a very late reply!

For our project our team has done a significant overhaul of the wizard framework and added some features that we not in the original source. I just want to make sure I'm contributing this code back in a manner that is acceptable for you and is in the spirit of what the community desires.

I am assuming that I should create a fork, but since this is the first time I've ever contributed on CodePlex or any open source project I'm not sure of the process. I'll look around for a guide, but if you could provide a little guidance I would be grateful!

Pavel, I've forked the code and pulled from build 1.1.0. I'll merge our changes into that as it is the source we originally used to build our local fork. Is it OK if you sync and pull what you want from that commit?
Mar 17, 2013 at 3:16 PM
Hi Mike,

Sorry for late response. It looks like I have some problems with e-mail notifications too.
First of all, thank you for your contribution.
I think that the fork is a good variant. But I have never used this functionality of codeplex either, so alas I can't provide any guidance
Pavel, I've forked the code and pulled from build 1.1.0. I'll merge our changes into that as it is the source we originally used to build our local fork. Is it OK if you sync and pull what you want from that commit?
Yes, it's OK for me.
Mar 17, 2013 at 5:36 PM
I got the download link working for the blog entry. I still have the fork open and you're added as a contributor. I'll try to start doing merges again and doing some checkins. Hopefully we'll be able to get a good code base in the fork.

My thoughts on how codeplex does the fork and pull request is that someone like me would come along and want to contribute to the code. They could be adding a feature or fixing a bug. They fork the code, essentially creating a branch, which I guess is similar to the Git world. They can then work in their own bubble without effecting the main release branch. Once they have their features implemented or bug fixed they make a pull request. That would get sent to the maintainer of the project which I assume, in this case, would be you. The maintainer would then have the opportunity to look through the changes, and this is assumption, do diffs to see how things have changed. If the changes are not satisfactory then the maintainer can tell the contributor to fix the issue. When it is agreed that the code in the fork is ready to be merged it is accepted. This is about as far as my knowledge goes. I assume that before merging the code from the fork one of the last steps is to get the latest code from the main branch into the fork and test it one last time so that only the diffs get merged.

I'll try to read more on it. My main task is to get my changes merged to where you are with your changes. Hopefully we can come up with a better way to communicate so that if I have questions (which I have many regarding the XAML changes) we can resolve them.

Hopefully you can contact me directly through my blog, my email address (mikejr83 {at} g ma il [dawt] com, or on social networks.

Let me know if you have any other questions?