I am an author of project, that consists of two parts: daemon and library. I want to license library under BSD License (or MIT, will decide later), and daemon under GPLv3.

I want to permit the library to be linked into closed-source products, but I want daemon to be GPL, as it uses GPL code heavily, and I do not want its commercial forks.

The thing is: This library just provides client interface for the daemon, where daemon acts just like sort of server.

Is it permitted to license my project using separate licenses for different parts of my project, linked with some sort of RPC protocol?

  • 2
    GPL does not forbid commercial forks, it only mandates that any derived work is also released under GPL. There is an important distinction between "commercial" and "closed".
    – tdammers
    Oct 9, 2013 at 20:27
  • The Modified BSD and the MIT (aka X11) license are both compatible with the GPL
    – user40980
    Oct 9, 2013 at 20:28
  • @tdammers Thanks for your remark! Yes, I mean, I do not want closed-source forks, my mistake. Oct 9, 2013 at 22:58
  • If you are the author you are not bound by the GPL or BSD licenses. Copyright licenses only bind the recipient of the software, not its author. Oct 10, 2013 at 11:09
  • @JoeriSebrechts this is not the question. OP wants to negotiate terms for his users, prsumably to increase his,the authors, benefit. "I want to permit the library to be linked into closed-source products" Oct 10, 2013 at 16:56

2 Answers 2


Developing your library and daemon as one project, but releasing them under different licenses is probably fine, but I would advise against it. Unless you have a very clear project structure that separates the sources of both parts, you are likely to run into a situation where it becomes unclear which part a particular source file belongs to. And even if you do have a clear separation, the situation is less clear for common files. It is possible that it can be argued that those files are dual-licensed, which might make the GPL apply effectively also to your library. You should consult a lawyer to get that cleared up.

A better alternative is to split the library and daemon into two separate projects (both maintained by you), where the daemon project depends on the library.

It is certainly possible to use BSD-licensed libraries in a GPL-licensed product. Most BSD-style licenses are compatible with the GPL license, which means that you can legally distribute a product that uses both GPL and BSD-licensed parts. If parts are GPL, the entire product must comply with the restrictions set out in the GPL, but that does not affect (separately obtained) copies of the (BSD) library.

  • The sources arein different directories, "src/library" -- BSD, "src/common" -- common files for both daemon and library -- BSD, "src/daemon" -- GPL. Oct 10, 2013 at 9:33
  • @GamePad64: See my edit. Oct 10, 2013 at 10:01

AFAIK this sort of use case has never been checked in court but I think GNU would most certainly say that that you are indeed deriving your MIT/BSD library from a GPL product and applying common sense, it is what you are doing. In result, your MIT/BSD code gets "tainted" by GPL as well as any product utilizing your MIT/BSD code. Of course your library code can still be MIT/BSD code but anything using it will fall under derivative work.

Naturally as GPL has been written to be imprecise in the first place, no precise answer can be given.

What I say can be backed up by this article http://www.law.washington.edu/lta/swp/law/derivative.html

I would say that you are only safe if you are indeed not deriving anything from the GPL stuff - in the intuitive sense and any sort of technical circumvention is only fooling oneself. Court might not be fooled.

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.