Questions & Answers — GNU GPL Licensing
- Q1: Is Mibble "free" software?
- Q2: What does the GNU GPL mean?
- Q3: Why not another open source license?
- Q4: Are there restrictions on using Mibble?
- Q5: Are there restrictions on distributing Mibble?
- Q6: Are there restrictions on modifying Mibble?
- Q7: Can I use Mibble in my application?
- Q8: Can I use Mibble in my open source project?
- Q9: How about internal use in my company or organization?
- Q10: Can I let my users download Mibble for themselves?
- Q11: Ok, GPL doesn't work for me. Now what do I do?
Q1: Is Mibble "free" software?
Yes, Mibble is free software (software libre) according to the Free Software Definition. It is publicly distributed under the GNU General Public License (GPLv2).
No, Mibble is not free in the sense that you may do with it as you wish. The GNU GPL explictly limits the redistribution of Mibble and any derived work in several ways. In particular, if your program requires Mibble to run, it must also be distributed under the GNU GPL.
As an alternative to using the GNU GPL, a non-exclusive commercial license for Mibble can be purchased.
Q2: What does the GNU GPL mean?
The GNU GPL is a copyright license, limiting the ways in which you may copy the Mibble software. It does not directly affect the usage of the software, but in limiting your ability of making copies it may do so in an indirect way.
In essence, the GNU GPL imposes a number of conditions that must be fulfilled in order to distribute Mibble:
- All modifications to Mibble must be distributed under the terms of the GNU GPL (if at all distributed to third parties).
- Any software linking to Mibble (using one of it's classes) must also be distributed under the terms of the GNU GPL (if at all distributed to third parties).
- The software distributed under the GNU GPL must make the full source code available for any third party (at low or no cost).
- You cannot impose any other licensing requirements on any software distributed under the GNU GPL.
The above is just a very brief summary. Please have a look at the Official GNU GPL FAQ for more information.
Q3: Why not another open source license?
The choice of the GNU GPL license attempts to strike a balance between the common good of public access to the software and the need to cover costs associated with developing, maintaining and supporting Mibble. The GNU GPL license enables this, as it restricts the distribution of the library for most commercial usage (which most other open source licenses don't do).
Q4: Are there restrictions on using Mibble?
There are no restrictions on using Mibble per se, but the license does restrict the ways in which you may distribute copies of Mibble or code derived from it. In particular, any code using the Mibble library must be distributed under the GNU GPL (if at all distributed to third parties). See Q2 above for more information on the terms of distribution.
Q5: Are there restrictions on distributing Mibble?
Yes, the GNU GPL is a copyright license that gives you permission to distribute Mibble provided that you fulfill certain conditions specified in the license. The GNU GPL also covers any work derived from or linking to Mibble (i.e. using classes in the Mibble library). See Q2 above for a summary of the conditions in the GNU GPL.
Q6: Are there restrictions on modifying Mibble?
Yes, any modifications to Mibble are covered by the GNU GPL. That means that if you distribute a modified copy of Mibble, you must also provide the source code for your changed version. See Q2 above for a summary of the conditions in the GNU GPL.
Q7: Can I use Mibble in my application?
You may use Mibble in your applications in any way you wish, but the GNU GPL restricts the ways in which you may distribute these applications to other parties. In particular, any code linking to Mibble (i.e. using one of its classes) is considered a derived work and must also be distributed under the GNU GPL. See Q2 above for a summary of the conditions in the GNU GPL.
See also Q11 below for a list of the alternatives to a GNU GPL licensed version of Mibble.
Q8: Can I use Mibble in my open source project?
If your open source project is licensed under the GNU GPL you may use Mibble without any further restrictions. If you are licensing your source code under a different license, there is currently no way to use the GNU GPL licensed version of Mibble.
See Q11 below for a list of the alternatives to a GNU GPL licensed version of Mibble.
Q9: How about internal use in my company or organization?
The GNU GPL does not limit the use of Mibble or derived software, only their distribution. Using Mibble internally in an organization is possible without restrictions. Note however, that the moment that Mibble, or any software using it, is distributed outside the organization, the GNU GPL applies.
See Q2 above for a summary of the conditions in the GNU GPL.
Q10: Can I let my users download Mibble for themselves?
Yes, if your code is already licensed under the GNU GPL you may let your users download Mibble as an optional plugin to your software.
No, if your application is not licensed under the GNU GPL it is not legal to encourage users to download Mibble separately and linking it with your software. Any code calling into the Mibble library, either directly or through introspection, must be licensed under the GNU GPL.
See also Q11 below for a list of the alternatives to a GNU GPL licensed version of Mibble.
Q11: Ok, GPL doesn't work for me. Now what do I do?
The GNU GPL licensed version of Mibble may not work for everyone. There are a number of ways to approach this:
- Purchase a Commercial License — As an alternative to using the GNU GPL, a non-exclusive commercial license for Mibble can be purchased.
- Use an Older Version — Versions 1.2 to 2.3 of Mibble were licensed under GNU GPL but with an exception allowing linking with non-GPL code, effectively making the license LGPL. All these versions contain bugs and are unmaintained, but they may still work for you.
- Relicense to GNU GPL — Any code licensed under the GNU GPL may freely use the Mibble library. By relicensing your software (or only the applications dependant on Mibble) under GNU GPL you may continue using the latest version of Mibble.