I'm about to re-license my desktop application as open source software. For several years now, the application is published and sold under a commercial license. While working on a new version (including a complete code rewrite, even using a different programming language), I decided to release the new version as open source. (I also intend to release the source code of the previous versions as open source, but that's not important here, I think.)
For the open source release, I have to find an appropriate license.
My main goals are:
- I want a copyleft license. It'd be very easy for a company to add some simple features and sell it as a better application, without providing those features back to the project if it'd be under a permissive license.
- I want to easily attract users and contributors. I initially intended to use the GNU AGPL as the "most modern" license, but learned that users (especially in companies) may have restrictions regarding AGPL, one example being Google: https://opensource.google/documentation/reference/using/agpl-policy
- I want to retain control over the name and the logo of the application. The software is sold now for several years under this name and as such is connected with me. So, I want to make sure the name is only used for releases I authorize. Forks using another name would be fine, of course. (I have no registered trademark for the name.)
As far as I understand, the GPL v3 would support these goals. Is this correct?
There's one additional goal as I'm based in Germany:
- I want to be compatible with German law. AFAIK, the GPL v3 clause "16. Limitation of Liability" conflicts with some part of German law, which basically says that General Terms and Conditions (in German: AGB – Allgemeine Geschäftsbedingungen) may not contain surprising clauses or restrict rights that are granted by law. Thus, some lawyers in Germany suggest to add a clause to the GPL that clarifies this, but I think such a changed GPL could discourage contributors. OTOH, there are lawyers saying that's not a problem at all as the liability restrictions of the GPL would just be invalid and the default liability clauses of the German law would be in place.
Some additional information:
- I'm the sole developer so far
- The new application is written in Python 3.x, using wxPython as its GUI toolkit and SQLite as the internal data storage
- The old application uses C++ and FLTK
As I'm only using software that has a license that's compatible with commercial licensing, it should all be compatible with the GPL, right?
Given my current knowledge, I'd use the unaltered GPL v3 for my application. Do you see anything that would lead to use a different license?