I have an open source project that is licensed under the GNU General Public License v3 and it's done in Windows Presentation Foundation. I came across someone that sells themes/skins for WPF projects and he is willing to donate one of the skins for use with open source project. However, he only wants the skin to be allowed to be used with my project. I was wondering what the best way would be to prevent other people from stealing the skin and using it with their projects? Is there a license that would fit this requirement? Or is there a better way to accomplish this?
Either it's open, or it's not. If the skin is restricted to "just your project", then it is, by definition, not open. If, then, your project were to include this skin, by extension it wouldn't be open either.
You have two options:
a) Go with a proprietary but free-as-in-beer license. One that allows people to use the software, but not redistribute in modified form. b) Don't include the skin. You can still prepare your code for it, and provide the skin as a separate download. That way, you can license your own code any way you like, and still distribute the skin under a different license.
As far as preventing the "stealing" (or, more correctly, unauthorized copying, modification or redistribution - nothing is really stolen, but let's not have that discussion here): technical means for this are futile - the content has to be displayed eventually, so you have to give the user complete read access to it at some point. In short; if the user can see it, the user can copy it.
Your best option is to politely refuse the offer. IMO.
Is there a license that would fit this requirement?
None that I'm aware of. Or at least not one of the common ones. Of course, you could talk to a lawyer and draft a license expressly for this purpose. But you are likely to get heat from various quarters for doing it.
Surely it is not worth it ... for a bit of eye candy.