I am writing a Windows Phone application which I intend to release into the public domain (the source code and releated resources, that is). My application does, however, use a few third party open source libraries (statically linking to them). Does releasing my code into the public domain make any difference regarding the licenses of the open source libraries I use or would I have to make sure my (un)license is compatible with the open source licenses, the same way I would have to if I released the source code using an open source license (or kept the code closed source, for that matter)?

I releasing my code into the public domain doesn't make any difference, how do I know if an open source license is usable with code released into the public domain?

  • 3
    Avoid all that pain (and some other), by not releasing to the public domain. Especially since public domain is tricky and not applicable in some areas. Commented Oct 2, 2013 at 9:00
  • 1
    Which open source licenses are the libraries using? This is important, because the case you mentioned is handled very different among different licenses.
    – Philipp
    Commented Oct 2, 2013 at 11:06

1 Answer 1


Open source isn't just open source. There are lots and lots of open source licenses with different conditions.

So-called permissive OS licenses like BSD or MIT allow you to do almost anything you want with the covered work, even relicense it under a completely different license, as long as you include a copyright notice.

But there are also share-alike OS licenses like the GPL which only allow derivates to be released under the same license. When you use a GPL library, any software which links to it statically must also be licensed under the GPL. Because this is very inconvenient for libraries, there is a special version of the GPL, the LGPL. LGPL stands for "Lesser GPL" or "Library GPL". It allows to place software which uses the library under any other license as long as you don't make change to the library itself. And even when you do, you just have to distribute the changes to the library under LGPL, not your own application.

And then there are lots of other licenses with their own conditions. So what you should do now is find out which license is used by each of the libraries and then find out what they allow.

  • So basically the answer is that releasing the code to the public domain makes no differences; I still need to make sure the license I choose is compatible with the licenses of the libraries I link to? Commented Oct 2, 2013 at 11:41
  • 3
    The GPL explicitely lists "Public Domain" as a compatible license (see gnu.org/licenses/license-list.en.html#PublicDomain ) so there is no need to license the whole work under the GPL.
    – user281377
    Commented Oct 2, 2013 at 11:59
  • @DavidNordvall Releasing the code to the public domain makes it worse. Many license restrictions only apply if you distribute your derived works (e.g. to a customer, business partner, other person). If you keep it to yourself, you are less restricted.
    – MarkJ
    Commented Oct 2, 2013 at 12:00
  • @DavidNordvall: I'm not sure I understand your comment. If you release something to the public domain, there is no copyright and no license. Commented Oct 2, 2013 at 15:48
  • @KeithThompson There is always a copyright. In most jurisdictions it is impossible to completely abolish your rights to your work. Also, you can not release something based on a share-alike license under public domain, because this would violate the rights of the one who released the original work under specific license terms.
    – Philipp
    Commented Oct 2, 2013 at 20:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.