Keep it Simple
Use the MIT/X11 License.
- open and permissible,
- no-brainer / simple,
- allows both free and commercial re-use,
- short,
- clearly gives you copyright,
- well-known and widely used.
I rarely recommend anything else if I don't have a specific reason or am not bound by another license.
Copyright (C)
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Or Just Hyper-Link It...
Many JavaScript libraries simply provide:
- a copyright notice,
- and a URL of a publicly hosted verbatim of the license.
This can be an alternative, which allows you to have still a very clear license and keep it short.
IANAL Disclaimer
Though, IANAL and I'm not entirely sure this hyper-link theory really holds, as links are not really perennial resources (though you might argue you could try to prove what they pointed to or contained at a time T).
Laws regulating software, both national or international, are pretty much still in their infancy. This is all rather gray. So you could just go with it, as for now it's a bit obscure what flies and what doesn't.
To answer the third question first, the fact that your program uses a library licensed with license X does not necessarily mean that your program must also use license X.
For permissive licenses, like BSD, you are completely free to choose a different license for your own code.
When the library uses a strong copyleft license, like GPL, then you can avoid a lot of legal questions and uncertainty by using the same license for your code.
The reason for this is because copyleft licenses require you to distribute the entire product that makes use of the copyleft licensed source under the copyleft license conditions. So, when you distribute your program, the GPL conditions of having to provide source code apply to both your code, the PyQT library and the additional BSD-licensed library that you use.
Neither the BSD nor the GPL license prevent you from asking money for your program, but they also don't forbid anyone to buy the program from you and redistribute it further without asking money for it.
The reason that PyQT is available both with the GPL and a commercial license is to make it possible to write commercial applications based on PyQT without having to release your source code.
Best Answer
Disclaimer: IANAL
Short answers:
Rationale based on my understanding to the GNU GPL 2.0 license is this:
BTW: To be on the safe side, you may want to consider buying one of their commercial license. And no, I am not in any way affiliated to plupload.
** Updates