I have ported libsodium and NaCl to .NET.

NaCl is the original project that is in the public domain while libsodium is a derived work from NACL and is using the ISC license. I looked at both projects to port the code to .NET.

For my project I prefer to use MPL v2, but I'm not sure I'm allowed to change the original license. I know ISC is a permissive but it's not clear if I can use another license for my work. Any help would be appreciated.

1 Answer 1


Everything you are allowed to do is explicitly covered by each of those licences, and explained by related FAQs or similar documents. You really need to read them.

But the answer is you're probably OK. Public domain says do what you like with the code (other than pretend you wrote it). ISC is the BSD licence, which is very permissive and popular with commercial users. MPL is specifically intended to play well with other licences, so unless you're planning on doing something commercial, you're pretty safe.

Two notes of caution. A high proportion of .NET users are commercial, and if you want your code widely use you need to understand their needs. MPL has some copyleft-ish features and may prevent commercial usage. The products you started from didn't have those restrictions. You might want to consider a friendlier licence.

The other is: never take advice from a place like this if you're even thinking of making money out of it. If anyone could possibly suffer commercial loss, you need competent legal advice to be sure you're not doing something that creates a liability.

  • thanks for your help, at this point i'm not thinking about the money. Mar 23, 2014 at 10:35

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.