From: Http://www.qteverywhere.com/ Qt 4.5 provides three authorization protocols: GPL, LGPL, and cial. Many may ask why three authorization protocols are required for the same product, under what circumstances is the most appropriate authorization protocol? Here I will give a general explanation: GPL stands for The GNU General Public License, which is a License agreement for most GNU programs and more than half of free software. The starting point of GPL is the open-source/free use of code and the open-source/free use of reference/modification/derivative code, however, modification and derivative Code cannot be released and sold as commercial software with closed source. The main content of the GPL protocol is as long as you use ("use" refers to the class library reference, modified code or derivative code) the GPL protocol in a software product, the software must also adopt the GPL protocol, which is both open-source and free. This is the so-called "contagious ". The GPL protocol product can be used as a separate product without any problems. You can also enjoy the free advantage. Return to LGPL. The full name of LGPL is GNU Lesser General Public License, which is also a License issued by the Free Software Foundation, is an open-source protocol designed mainly for the use of class libraries, and GPL requires that any software that uses/Modifies/derives the GPL class library must adopt the GPL protocol. LGPL allows commercial software to use the LGPL class library through class library reference (link) without the need for open source commercial software code. This allows open source code using the LGPL protocol to be referenced by commercial software as class libraries for concurrent release and sales. In addition to the two open-source protocols GPL and lgpl, QT also provides the commercial license cial protocol, which is defined by Nokia and signed by Nokia and the buyer, qt product authorization protocol with legal effect. Commercial License is used with GPL and lgpl. It provides more flexibility for commercial customers. Customers can modify the QT source code and develop commercial software without disclosing any source code. In addition, we provide technical support services in commercial license. Of course, commercial authorization agreements are charged. When do I need to select GPL and lgpl? One of the most obvious reasons is that they are free of charge. You do not have to pay for the use of lgpl and gpl qt versions. Of course, we will not provide technical support accordingly. If you plan to develop real open-source software and want users to keep it open-source, GPL is a better choice because everyone, whether you are yourself or in the future based on your code for further development, it must be open-source. If you plan to develop commercial software with closed source code (not open source code), lgpl is more suitable, but must meet the following two conditions: 1. Your application should dynamically link to the QT function library and release your application separately from the lgpl library that has not been modified. At the same time, make sure that the user (receiver) knows that the application uses the lgpl QT; 2. If you have made any changes to the qt of the lgpl version and published it, you must follow the lgpl terms for release. Any user has the right to get these changes (usually the source code) and make sure that the user can generate the QT version you have modified through these changes. I believe that you have a basic understanding of the three protocols provided by QT. Generally, you may have a question, what is the functional difference between the QT products based on these three authorization protocols? Is the commercial version more complete and the performance better? Here I can say responsibly: 99% of the Code is the same. No difference is made between GPL, lgpl, or commercial. The only difference is that the authorization protocol is different. Another note is that lgpl was introduced in qt4.5, so the previous QT version, 4.4 or 3. the version of X does not provide the lgpl Protocol and is irreversible. At the same time, the QT version released in the future will always provide three different authorization protocol versions. There are links below. If you want to learn more about these authorization protocols, you can learn. GPL protocol (http://www.gnu.org/copyleft/gpl.html) GPL protocol-http://bergwolf.googlepages.com/gplv3_zh LGPL protocol source-http://www.gnu.org/copyleft/lesser.html LGPL protocol-http://www.thebigfly.com/gnu/lgpl/lgpl-v3.php 58 different open source protocols-http://www.fsf.org/licensing/licenses/ What is dynamic link-http://zh.wikipedia.org/wiki/%E5%8A%A8%E6%80%81%E9%93%BE%E6%8E%A5%E5%BA%93 Official statement-http://www.qtsoftware.com/about/news/lgpl-license-option-added-to-qt Official Q & A-http://www.qtsoftware.com/about/licensing/frequently-asked-questions |