If you have any comments or questions about licensing, please let us know.
MPL License
The JEDI Libraries are licensed under the Mozilla Public License ("MPL") version 1.1.
Mozilla is the Open Source initiative formulated by Netscape for the next generation of their web browsers. Netscape states "We believe this license satisfies the Debian Free Software Guidelines which provide a commonly accepted definition of 'free software', much like other free software licenses such as GPL or BSD."
JEDI's implementation of the MPL allows developers to use its code in their applications ("Larger Work") regardless of whether the intended distribution will be in the public domain or as commercial applications, as long as the licence conditions are met. For a more detailed explanation, an annotated version of the MPL is available.
License FAQ
For additional information, please also check the official FAQ from Mozilla.
Author perspective
Q Do I retain copyright once I publish source under the MPL?
A Absolutely. You still retain all your copyrights.
Q Can I release the code under a different (possibly commercial type) license?
A Yes. Since you have the original copyright, you can do it, but you can do it only for your own code, and not for any contributions from others.
Q In two years Acme, Inc. comes with a great new license, which I would love to use. Am I always bound to MPL for my released code?
A You can use a Dual License approach, i.e. you keep the code under MPL, and you add another license, e.g. GPL. The user will have then the option to use the one s/he prefers. Or, as the Initial Contributor, with the original copyright, you can release it under the other license. Please note: even if you release the code under new license, users of your original MPL-released code can continue to use under MPL as before.
Q I've contributed code to JEDI under MPL, but now I've changed my mind and don't want this code to be OpenSource.
A Once you release code as OpenSource, you cannot take it back as long as the user conforms to the original license. Of course, as the Initial developer you can re-release it under different license, incl. a commercial one (see above)
Q I think, JEDI could benefit from having cryptographic functions. I would like to donate some (DES, Tripple DES etc.), which are covered by patent rights (RSA, for example)? How should I do it?
A All contributions are "Subject to third party intellectual property (IP) claims." Thus, if you are aware of any patents infringements, before submitting make sure that you:
- secure the rights to use the IP in your contribution (e.g. by paying a fee)
- modify the code so it doesn't infringe (in our case, provide other, non-patented cryptographic functions)
- in a worst case scenario, if the two above are not possible, do not submit the code
Please note: different countries may have different patents laws. Therefore in some countries it could be legal to use patented IP (e.g. because the patent expired), while in others not. Check with your local Patent Office.
User perspective
Q Can I use the MPL code in commercial software? If yes, am I obligated to credit the author?
A Yes, you can use the MPL code in any commercial software. Since you have to include the MPL code, the credit is included in the license header. While not required, it is also customary to credit the author in "AboutBox".
Q Must I release the source code of used components?
A Only of those covered by MPL, together with any modifications to them.
Q Must I publish my apps under MPL if I used MPL licensed code (the viral aspect)
A No. That's the big advantage over GPL - you can use different code, mix MPL and commercial code, but you don't have to release either the application, nor the non-MPL code under MPL. Basically, what is MPL, will stay MPL, but it doesn't have any impact on the non-MPL code.
Q If a bug in MPL licensed code renders my clients machine unbootable, who can I hold responsible for that?
A Nobody. You use MPL licensed code at your own risk. Since it is provided to you in a source code form, you can inspect it, test it, making sure that it does, what you want it to do.
Q Must I publish modifications to MPL licensed code?
A Yes. This is one of the MPL requirements. You are getting a free source code, but you have to publish all modifications to the code, unless you have done the changes for your internal use.
Q Must I publish code based on MPL licensed code under MPL?
A Yes. You cannot change the license terms. Only the Initial Developer can add an additional license (see dual license).
Q If I subclass the MPL code, do I still have to publish the new code? After all I didn't modify the code at all!
A That's a tricky one. By the letter of the law, since you didn't touch the original code, you might claim that it is a "new" code, therefore no need for MPL. However, by the 'spirit of the law', Inheritance (or subclassing) is a modification of the functionality of a given class, and as such a "derived work", so even if you didn't touch the original code, you are still making changes.
Q I am proposing a modification to a JEDI-VCL component, which has a dual license (MPL and GPL). This new file also needs to include a new class. Should the source files for the new class be put in JEDI-VCL using MPL with GPL dual-license or can it be put in another location and use only the MPL?
A The license of a file can't be changed without the consent of the copyright owner. And a new file derived from an existing file inherits the licensing from the existing file. In the case of this component, it has to stay MPL/GPL.
Case study
I am considering using an XML parser that has being covered by the MPL v1.1 (or alternatively the GPL) in a commercial product. I will simply use the DLL libraries without modification, including the necessary header files in my own code. When I distribute (sell) my own product I would, of course, need to distribute the DLL libraries as well. My questions are:
Q Am I correct in assuming that simply including unmodified header files and linking with a library covered by the MPL does not place any legal restrictions or obligations on my commercial product and its source code?
A It places no obligations on the code YOU wrote, but there are still obligations for the code you included. These include source distribution (for included MPL code, not YOUR code), and some notification requirements.
Q Am I obligated to distribute the (unmodified) source code that produced the libraries with which I link?
A No, you don't have to "physically" distribute the source code, but you have to give credit to the authors and provide a link to location where the users can download the source code (see next question)
Q Am I obligated to make my use of the particular libraries known to users of my product?
A Absouletly, it's spelled out in the license. You need to credit the source of copyrighted code that is not yours in both the product and its documentation.
Q We are using JEDI Libraries in our products. We did not modify the source codes in any way. Can some one please tell me if we need to add a Copyright statement in our product's license text and if so, which text is required?
A This is normally done in "AboutBox" and the documentation. To make it simple, if you use JVCL you can add statement like:
If you look at Microsoft Office programs, you can see bunch of similar legal statements in their "About Box".
By including such statement in the AboutBox AND your documentation, you have fulfilled the requirement to:
- provide credit to the author
- provide the user with the location where they can download JVCL source code