Before iI started making software for a company which requires it'sits software to be closed source-source everything was easy, but now, I'm drowning in license issues and I have no idea what to do.
I have found several great libraries for TLS and other crypto but all (obviously) have a licenselicenses. I am talking about the following licenselicenses:
- GNU General Public license, version 2 for Mbed TLS
- Apache license, version 2
- Microsoft Limited Permissive License (Ms_LPL) for CLR Security
- Adaptation of MIT X11 License for Bouncy Castle
I know GNU GPL can only be used if my project is opensourceopen source, but is it okOK to have an example project which we can provide when asked for, which is similar to the code we use on our embedded devices but is just a much simpler version. or do we actually need to provide the entire source code of what is currently running on the device.
- Because it is impossible to have the crypto bit open source and the rest of our source code closed source under this license right?
- I believe the Apache License would allow us to use the library in closed source projects without problems and only needs a copy of that license when we distribute it, am I correct?
- Ms-LPL, for as far as I can see, allows the use and adaptation of the code without restrictions, one can also keep it closed source. but would need to add a copy of the license, same goes for the bouncy castle license if i'm not mistaking?
Because it is impossible to have the crypto bit open source and the rest of our source code closed source under this license right?
I believe the Apache License would allow us to use the library in closed source projects without problems and only needs a copy of that license when we distribute it, am I correct?
Ms-LPL, for as far as I can see, allows the use and adaptation of the code without restrictions, one can also keep it closed source. but would need to add a copy of the license, same goes for the bouncy castle license if i'm not mistaking?
In all cases there are part of our source code we do not want to give to anyone. The products in which the code is used are being sold. In some cases we might change the code a bit (especially in the case of mbedTLS).
It would be great if someone could help me understand these licenses and could tell me if I'm right about these licenses. And perhaps recommend the license which would be the least problematic (ege.g. needing to provide as little paperwork as possible)
ANSWER:
Thanks to maze-le and his amazing site i quickly found the answers i was looking for, just to sum up and close this question properly:.
- yes it is impossible to keep part of the source closed, all the source needs to be open.
- & 3. Apache just like the others allow you to use and adapt the source code what ever way you please, you just need to include a notice and a copy of the license.