GPL Softare license key notes

If you consider using the GPL license for your next project or you want to use already GPLed software you have to be aware of several basic things not to break the law.

The good information is that you can make money for your work. But you have to have in mind that realizing the GPL software automatically gives full freedom to your clients for your software, and its sources. As the author, you are allowed to change the licensee for future releases.

You can make money on the GPL program

The copies of the GPL program can be sold to the customer even if it is not your code. You have to remember that you have to give him the sources, and he can do with the sources whatever he likes eg. modify, sell. You cannot claim the money from any person that is using your GPLed software.

But your customer can do whatever he wants with this software, even sell it further. He can give it for free to the other user, and you cannot demand money from the other user.

#DoesTheGPLAllowMoney #DoesTheGPLAllowRequireFee #GPLCommercially

You don't have to publish your sources

You don't have to make your sources public, but you have to give the sources (or access) to every user that was given your program.

The GPL does not require you to release your modified version or any part of it. (...) But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL. #GPLRequireSourcePostedPublic

The general rule is, if you distribute binaries, you must distribute the complete corresponding source code too. #UnchangedJustBinary

The GPL does not require anyone to use the Internet for distribution. It also does not require anyone in particular to redistribute the program. #CompanyGPLCostsMoney

If you use a modified version of the GPL software on your own public server, you don't have to publish the sources for the services users. For that case is the Affero GPL. #UnreleasedMods #AGPLv3ServerAsUser

Using the GPL libraries

You cannot combine GPL and propriety software. #GPLModuleLicense

The GPL says that the whole combined program has to be released under the GPL.

So you cannot take the GPL program, write a module under a commercial license, and release the whole program as the closed, commercial. In that case, your module has to be released under the GPL compatible license.

You cannot also apply GPL license for the software that is operating under subscription plans

the requirement to keep paying a fee limits the user's ability to run the program #SubscriptionFee

LGPL

You can use the LGPL version of the license and create closed commercial products. You have to prepare the binaries to distribute it not in the single file, but with dynamically linked *.so libraries. This is the default behavior of the PyInstaller #LGPLStaticVsDynamic.

In case of dynamic linking, it is possible, but not mandatory, to keep application source code proprietary as long as it is “work that uses the library” – typically achieved via dynamic linking of the library. In case of static linking of the library, the application itself may no longer be “work that uses the library” and thus become subject to LGPL. It is recommended to either link dynamically, or provide the application source code to the user under LGPL. #QtLicensingTerms

GPL is not enforced if you distribute the one-file installer of your proprietary software with dynamic linked LGPL libraries.

No. The installer and the files it installs are separate works. As a result, the terms of the GPL do not apply to the installation software. #GPLCompatInstaller

Converting and dual licensing

It is possible to convert the GPL licensed program to the proprietary one if you are the author or even have dual licensing. The example is Qt.

To release a nonfree program is always ethically tainted, but legally there is no obstacle to your doing this. If you are the copyright holder for the code, you can release it under various different non-exclusive licenses at various times #ReleaseUnderGPLAndNF.