Understanding the GNU GPL License
One of the two licenses available for code-based products on Blender Market is the GNU General Public License (GPLv3). As a product creator, you may have some questions about how your products, and the code that they are based on, can be used when you license your products as GPL. For full license documentation, visit the GNU website.
Blender and its code are available to you under the GNU GPL license. Because of the requirements of the GPL, products that derive from it must be made available under GPL or GPL-compatible licenses.
Blender’s Python API is an integral part of the software, used to define the user interface or develop tools for example. The GNU GPL license therefore requires that such scripts (if published) are being shared under a GPL compatible license. You are free to sell such scripts, but the sales then is restricted to the download service itself. Your customers will receive the script under the same license (GPL), with the same free conditions as everyone has for Blender. [ source]
The GPLv3 is guided by particular philosophies, which are helpful for understanding the use regulations that it imposes. A couple of terms are important here:
- Free: This term refers to the liberty of use, not the price, of a thing. You can sell a commercial product and it can still be free in the sense that people can use it, copy it, change it, improve it, and share it. [source]
- Copyleft: This term, the opposite of copyright, is the concept of making code-based products free (liberty-wise) and ensuring that they remain free, regardless of how they might be passed on or altered. Copyleft prevents people from commandeering your code and making it proprietary, or non-free. [source]
Now that you know these handy words, take a look at the guiding philosophy of the GPLv3:
A program is free software if the program's users have the four essential freedoms:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help others (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this. [source]
The GPLv3 is a user-focused license, meant to afford maximum freedoms to the people who use your code-based product. Blender itself is licensed as GPL, which is what allows you to create and sell add-ons for it as freely as you are able to. It is also what requires you to make freely available (liberty, not price) any products that stem from Blender's code.
The primary benefit of this license to you, as a Creator, is that the GPLv3 requires that all the released improved versions of your work be free (liberty, not price) software. "This means you can avoid the risk of having to compete with a proprietary modified version of your own work." [source]
Restrictions & Protections
You cannot offer your code-based product under a license that is incompatible with GPL. Here's a list of license types that are compatible with GPL. On Blender Market, you can license your code-based products as either GPL or MIT (also called the Expat License on GNU's website).
You cannot copyright or license the things that your customers make using your product. "The output of a program is not, in general, covered by the copyright on the code of the program. So the license of the code of the program does not apply to the output, whether you pipe it into a file, make a screenshot, screencast, or video. The exception would be when the program displays a full screen of text and/or art that comes from the program. Then the copyright on that text and/or art covers the output. Programs that output audio, such as video games, would also fit into this exception." [ source]
You cannot require that people pay you or notify you if they receive a copy of your code-based product. "The GPL is a free software license, and therefore it permits people to use and even redistribute the software without being required to pay anyone a fee for doing so. You can charge people a fee to get a copy from you. You can't require people to pay you when they get a copy from someone else." [ source]
You cannot distribute GPLed software under a non-disclosure agreement (NDA). "The GPL says that anyone who receives a copy from you has the right to redistribute copies, modified or not. You are not allowed to distribute the work on any more restrictive basis." [ source]
- You can get credit for your work. Be sure to include with your product a copyright notice in your own name, if you are the copyright holder. Also include the license file (not just a URL) so that the person who downloads your product understands what the license entails.
- You can charge money for your program. [source]
- You can enforce the GPL license if you see someone violating the license and you are the copyright holder. [source]
- You can decide how you want to distribute your program. "The GPL gives a person permission to make and redistribute copies of the program if and when that person chooses to do so. That person also has the right not to choose to redistribute the program." [source]
- Others can distribute their copy of your code-based product as they choose. "If someone pays your fee and gets a copy, the GPL gives them the freedom to release it to the public, with or without a fee. For example, someone could pay your fee, and then put her copy on a web site for the general public." [source]