We have an ASP.NET MVC3 codebase, hosted on CodePlex, currently in the "setup period". This codebase uses several NuGet packages (without changes or additions to the source, just "using" the packages directly), amongst others:

  • jQuery (MIT or GPL)
  • Modernizr (MIT or BSD)
  • log4net (Apache License, version 2.0)
  • Ninject (Apache License, version 2.0)
  • NHibernate (GNU Lesser GPL)
  • NUnit (custom? based on zlib/libpng license)
  • Moq (BSD 2-Clause License)

From the 10 licenses you're allowed to pick on CodePlex I would like to use a permissive license, probably the Free-BSD one, if possible.


  • Does my choice of license depend on the packages that I use? If yes, in what way?
  • Can I host my code on CodePlex, including the packages and all? Anything to consider here?
  • Any other considerations for this type of setup?

My particular setup (CodePlex, NuGet, the specific packages, etc) mentioned above is meant for context. This question and any answers are probably most useful to others if it's understood as about any OS hosting provider and 3rd party libraries in general (if at all possible).

1 Answer 1


If your software is a derivate work of any of the packages (this is a bit of a grey area[1]) then you'll have to pick a license that is compatible with that package. That said, permissive licenses, like the Free-BSD license, impose so few restrictions that they're compatible with almost any license.

All of the the packages you listed, except NHibernate, have permissive licenses, so you should be fine with almost any license with them. NHibernate uses the LGPL which explicitly allows software under other licenses to use it as a library, so you should be fine with that as long as you follow the terms of the license if you distribute it.

[1] : The GPL, for instance, claims that programs that link to GPL software is a derivate work. Not everyone agrees with this (the author of CLISP, for instance) and as far as I am aware, it has never been tested in court.

  • Thanks for your answer. I'm trying to distill answers to my questions from your answer. In the "common sense way" my project is not a derivative work, but it just "uses" the packages. I shall update the question accordingly.
    – Jeroen
    Commented Aug 7, 2012 at 21:16

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.