2

I am currently learning C++ (and I know I must learn everything before creating GUI apps, on perhaps console first, but)

While doing some searching for an SDK -which would help with creating the GUI of my app - letting me write JUST the important codes myself-, I found, downloaded, and installed a C++ IDE; Qt SDK (Qt Creator Trial for 30-days; version 2.5.2, based on Qt 4.8.2).

My questions are:

  • If I like the app, and the trial expires and I want to buy the app, how much would a license cost me? If any of you guys have used, or use this app, how much did you spend? (I've checked their website, which to be honest, is very intimidating, and includes no info about pricing etc.)
  • Which license would be adequate for me creating apps and selling them online, from a website. (I obviously want to avoid buying the wrong license and getting into trouble!)

If you can help me, thank you! If this is a non-question or is unsuitable for this website, please just give me references etc. :)


NOTE!

My apps would be closed-source (commercial, not free, with the exclusion of some). I would guess that this would affect which license terms/types apply to me.

Also, when and if I do buy the software, do I have to mention I used it or give any references etc.??


CLARIFICATION

To clarify, me needs are as follows:

  • My software may or may not be free (there may both free and paid versions of each)
  • My software's source should not be available, and I specifically want my application to be closed-source i.e. no one should have access to the source code that was used to build it.
  • I will be selling/distributing my software from a website (a company website).
Mat
  • 202,337
  • 40
  • 393
  • 406
SolaGratia
  • 309
  • 4
  • 18
  • 2
    You need to research the different licenses more, if you had you would know that there is no problem using the LGPL version for commercial software. – cmannett85 Apr 11 '13 at 13:38
  • @@cmannett85 Yes, but I need to know even _how_ I would go about buying a license for this software (Do I need to download separate installer?). @@BasileStarynkevitch I don't intend to ever have to learn GUI programming in C++ (which I hear is **much** too hard for a beginner, so instead I am going to try and learn C++, and use **Qt SDK** along side it (which I don't think needs _learning_ as such). Thank you both for your input! And I will research the different types of licenses etc. as I need to get to know the legal rules for publishing applications etc. – SolaGratia Apr 11 '13 at 13:45
  • AFAIK you do not need to buy Qt Creator at all, unless you're using it for proprietary software. It is dual-licensed: either the free and open source GPL license, or a commercial license. Download the free version: http://qt-project.org/downloads – Jesper Apr 11 '13 at 13:49
  • You will need to explain what proprietary and commercial mean. Please. – SolaGratia Apr 11 '13 at 13:56
  • Also, please explain why one would need to purchase a license at all - under what circumstances would this be required? I am looking to find out which type of license I am looking for - which one covers me. – SolaGratia Apr 11 '13 at 13:58
  • @SuperCookie47 The main reasons to purchase a commercial license would be for static linking, and for support. In both cases, if you need it, you'll know when you come to it, so just go with the non-commercial license until it is no longer appropriate. – JBentley Apr 11 '13 at 14:01
  • 1
    @Basile Starynkevitch - is there really a need to be so discouraging and negative? – Isometric Apr 11 '13 at 14:02
  • I'm afraid my understanding of terms like 'commercial' and 'static linking' are still murky. If it's not too much to ask, could these terms be explained in a way relative to my question and explained why, when, and under which circumstances I would need to use such a license/method when making my apps. – SolaGratia Apr 11 '13 at 14:11
  • Did you read the link about qt licenses in the given answer? I think the answers to what you're asking are there. – Étienne Apr 11 '13 at 14:25
  • @BjarneStroustrup I read all the answers and comments, and I have learned a lot. But I have some questions want to ask you. 1. how to choose the app to be LGPL or GPL in Qt. 2. If I choose the VS compiler, then does it mean, the UI part I can use Qt creator and for rest of code I can use VS? Am I right? Thanks! – Bahramdun Adil May 02 '17 at 08:57

1 Answers1

9

Instead of downloading the trial for the commercial license version, download the free version here. Note the information at the top right of that page:

Qt is available under GPL v3, LGPL v2 and a commercial license. Learn more about licenses here.

As per the comments on your question, there are licensing options available which are suitable for closed-source commercial applications. The main limitation IIRC is that you must not use static linking for the non-commercial licenses. Have a look here and here to learn more about static vs dynamic linking. The Qt binary packages on the above link are already compiled for dynamic linking, so you don't have to worry about it if you use it off-the-shelf (as opposed to compiling it yourself). When you deploy your application, just make sure to include the relevant dynamic library files (.DLL on Windows).

Other than the links on the Qt website, you can research more about the license types here:

GPL

Wikipedia.

GNU.

LGPL

Wikipedia.

GNU.

From what you've described in your edits and your comments, it would seem that the LGPL (free) license is suitable for you. From Wikipedia:

The LGPL allows developers and companies to use and integrate LGPL software into their own (even proprietary) software without being required (by the terms of a strong copyleft) to release the source code of their own software-parts. Merely the LGPL software-parts need to be modifiable by end-users (via source code availability): therefore, in the case of proprietary software, the LGPL-parts are usually used in the form of a shared library (e.g. DLL), so that there is a clear separation between the proprietary parts and open source LGPL parts.

Note that this enables your users to update/modify the Qt dependencies, but without giving them the ability to view or modify your source code which is built on top of Qt. If this is not desirable to you, you need to use static linking and purchase the commercial license.

Community
  • 1
  • 1
JBentley
  • 6,099
  • 5
  • 37
  • 72
  • Could you elaborate please. What is static linking. Would this mean that I would have to reference compiled .DLLs??? I _am_ a beginner, so if you could elaborate on your question, please. Thanks. – SolaGratia Apr 11 '13 at 13:54
  • Thank you for the references. – SolaGratia Apr 11 '13 at 14:05
  • For clarification/an explanation of what I am looking to know, I will generate a scenario. I create an app with Qt SDK (Creator), called "Super File Squeezer" - an app that compresses files. It has a free version with limited features, and a paid version with a full set of features. I then make this program available on my own little website "www.filesqueezesoft.com", to make it available for people to buy/download. What I want to know is: Which license should I buy for Qt Creator/distribute my app with. Also, see my **CLARIFICATION** section in my question. – SolaGratia Apr 11 '13 at 14:17
  • @SuperCookie47 See new edit. – JBentley Apr 11 '13 at 14:28
  • Thank you for the helpful info/references. So you think this (the LGPL) license is right for what I am doing? If so, In what way do I need to be able to make available the Qt SDK files? I think Qt Creator just compiles the program without the .h, c++ files etc. - the finished/built application. How, then, and what, do I need to include with the distributed software package I may create? – SolaGratia Apr 11 '13 at 15:01
  • Also, if you've had experience with Qt Creator (or can lead me in the right direction), could please tell me how to get the full, free SDK I need for creating apps with under such a license. Right now, I've got the full-featured trial version of "Qt SDK for Windows, version 1.0.3", and its trial will expire soon. – SolaGratia Apr 11 '13 at 15:02
  • @SuperCookie47 It's the link in the first paragraph of my answer: [here](http://qt-project.org/downloads), Just download the package for your platform. It includes QT Creator as well as all the QT libraries. – JBentley Apr 11 '13 at 15:04
  • Thank you very much for your helpfulness! OK. Which version/release should I be looking for? The WinGW or VS2010 package. – SolaGratia Apr 11 '13 at 15:08
  • @SuperCookie47 That depends on what you will be using as your IDE/compiler. If you intend to develop QT applications in Visual Studio (you can still use QT Designer for laying out your GUIs), then download the VS version, and you'll probably want the VS add-on as well (see the bottom of the page). If you want to use QT Creator as your IDE, you'll need some way of compiling your code, which is why there is a version which includes MinGW. – JBentley Apr 11 '13 at 15:13
  • @SuperCookie47 As for my personal opinion/preference, Visual Studio is a solid IDE for developing applications on Windows, so if you're already using that, my recommendation would be to stick with it rather than switching to QT Creator + MinGW. – JBentley Apr 11 '13 at 15:15
  • I take it MinGW Qt's own compiler (or is fully integerated with Qt Creator somehow, leaving no need for an external compiler). If I download the VS package, how will this integrate into the Visual Studio IDE? – SolaGratia Apr 11 '13 at 15:17
  • Also, there is a package named "VS2010, OpenGL". Will I need this or is this for programs that use OpenGL?? – SolaGratia Apr 11 '13 at 15:19
  • @SuperCookie47 [MinGW](http://en.wikipedia.org/wiki/MinGW) is a Windows port of the GCC compilers, and yes, it is integrated with QT Creator if you download that option. If you go the VS route with the add-on, then the necessary QT-specific build steps will be integrated into your projects when you create a QT project in VS, and the compiler will be MSVC rather than MinGW. With the latter, you can still use QT Designer for designing your GUIs (it will create .ui files which your VS QT project will know how to compile), you just won't use QT Creator as your IDE. – JBentley Apr 11 '13 at 15:19
  • @SuperCookie47 I'm afraid I have no experience with OpenGL, but I would guess that that would be the case. – JBentley Apr 11 '13 at 15:20
  • So to be clear, what if I want to use Ct Creator as both my compiler (i.e. the MinGW compiler), and my IDE/Designer? Including the code editor, project tree etc. – SolaGratia Apr 11 '13 at 15:24
  • @SuperCookie47 Then (assuming you're on Windows, I can't remember if you've specified that or not), you want the Qt X.X.X for Windows 32-bit (MinGW X.X, XXX MB) version. – JBentley Apr 11 '13 at 15:26
  • 1
    Thank you. Very cooperative and helpful answers/support. I will mark as answered. Thank you! (It's hard to find someone whom you can get some sense out on here, without discouragement, negativity and trouble) :) – SolaGratia Apr 11 '13 at 15:28