I'm working on a side-project for C# based Windows Desktop app which depends on following two open source components (DLL libraries):

  1. Newtonsoft JSON library - MIT license.
  2. SQLite.NET library - Microsoft Public License, MS-PL

Regarding this, I've got two questions:

  1. By using the above two components, will there be any restriction for licensing my own open source side-project? Can I license it using Apache or GPL, for example?
  2. How can I distribute the above DLLs? Can I distribute them with the build (binaries) along with their own license copies?

1 Answer 1


Both MIT License and MS-PL are very simple permissive licenses. It is very easy to follow the requirements for notices and declarations.

You can license your own code in any way you want, including Apache and GPL licenses. Linking to these mentioned dependencies does not pose any restrictions on you w.r.t. the selection of a license.

When you distribute your app and you include the DLLs, then you should include a LICENSES and a NOTICES file with the content as required by the license language for the DLLs. It is the easiest for everyone if you distribute these DLLs using their original licenses (there is no need to re-license these). MS-PL for example says in §3:

(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.

(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.

This is obviously very easy to comply with.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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