As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am a new user of Qt...I want to know can I create commercial and closed source applications using Qt4(LGPL Licensed)?
and also what is the difference between Qt4(LGPL version) and Qt4(Commercial version)?
Thanks in advance...
The LGPL allows for use in proprietary products. One thing you do have to do when using an LGPL library is allow the end-user to replace the library code with their own (modified) equivalent, implying dynamic linking to your actual application in most cases.
That's why the commercial edition of Qt touts static linking as one of its features, on top of the other features relating to development support.
LGPL licensing means that you can use Qt in your application, link to it (this part is a bit confused, but it is specifically allowed for Qt thanks to a special exception), and not have to license your application as open source. The Qt library itself, however, is still open source, and you're not allowed to publish new version of Qt without providing the source code.
GPL licensing means that you can't use it at all on closed source applications (well, you can use it, but you can't publish it).
The Commercial licensing is if you want to make changes to Qt and not publish them. For example, you would need the commercial licensing if you wanted to develop a new version of Qt for your mobile phone platform, and wanted to keep parts of it as closed source. This licensing option isn't very interesting to application programmers.
Yes, the LGPL does allow commercial/closed source applications. That's the main difference between GPL and LGPL.
From what I can tell, the Qt commercial is basically for commercial "support" for the product, and in case the LGPL license doesn't suit your needs.
As you can see on the QT website:
We license Qt under the terms of the GNU Lesser General Public License
(LGPL) version 2.1.
This version of Qt is appropriate for the
development of Qt applications (proprietary or open source) provided
you can comply with the terms and conditions contained in the GNU LGPL
version 2.1.
Additionally,
we have reached an agreement with Digia, who provides Qt under the
terms of a commercial licensing agreement. This version of Qt is
called Qt Commercial. To find out more about Qt Commercial, please
visit qt.digia.com.
They also say that, usually, the LGPL version is OK for Symbian, Maemo or MeeGo development.
The LGPL basically allows commercial/closed-source software.
So take a look at the LGPL, to check if it's ok for you. if not, you'll have to use the commercial license.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
Friends I am in dilemma.
None of the threads explain if [and how ] i can migrate an application from Qt free version to Qt commercial.
Me and my friends started developing an application using Qt[freely available] for learning .
We have created a good application and think we can sell it for pocket money.
The application does not modify any of the Qt source[we are not that good programmers :P] and we dynamically linked also.
I want to know how can i migrate it to Qt Commercial [since it protects from giving my source code].
First things first
a) can i migrate an application[not distributed in any form] written in Qt free version to Qt commercial.
b) will i have to re-write the application again in Qt commercial version or i can use my source files from old project and migrate to new Qt commercial project.
c) are there any API difference between Qt commercial libraries and Qt LGPL libraries that will make porting difficult/impossible. we still plan to have dynamic linking
d) i hope all Qt LGPL features are supported in Qt Commercial.
e) is there any complex legal thing i need to know. i only understand with LGPL we have to distribute code / object code + dynamic linking but in Qt commercial we dont have to.
If it is possible and legal then only we will buy Commercial License[expensive huh] ?
Why don't you go to qt.digia.com click Try&Buy and then Download and Install Qt Enterprise.
You'll see if you can port it before actually buying a license.
And for licensing questions I would suggest to contact then directly. I guess they would give you all the answers you need and try to help you with any problems you run in to.
The core is basically the same. So you can compile your existing code by enterprise version with no change. The only reason for the commercial license is if you need commercial support or you are shipping on an embedded platform like a cellphone.
Qt Enterprise has some more features and tools like Charts, Qt purchasing, Qt Quick Compiler, Boot2Qt and some others.
I see two really big issues:
Not understanding the terms of the commercial license you plan on using.
Not understanding the terms of the LGPL you develop under: they are nothing like what you state.
The terms of the commercial Qt license either expressly prohibit what you have done, or it is implied/understood that what you did is a NO-NO. Your project is now legally tainted and you can't ever apply the commercial license to it unless you buy the licenses for all the developers that participated in the development. They'd go broke long ago if everyone was as "clever" as you are.
The LGPL does not force you to release your source code. All it forces you to do is to let the end user re-link with binary-compatible Qt of their choice, and for you to allow access to the sources of Qt you used. If you use a release Qt, all you need to provide, on request, is the .zip of the Qt version(s) you redistribute. Since you link dynamically with Qt, there's nothing further you need to do here.
The only binary differences between commercial and open source Qt are in the license markers. There's literally nothing you need to do to link your code with a commercial Qt. Just swap out the DLLs and you're done.
I'm not a lawyer.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I want to make a Desktop App for Linux and I'm wondering if C#/mono is still suitable for that. Do they plan to make a wrapper for GTK 3? Or is Qyoto a better choice? Also, I'm wondering if GTK is a good idea for Ubuntu, since they plan to make their own window server. (Which will use QT if I'm not misinformed...)
Any hint is appreciated.
Is mono still suitable for a Linux Desktop Application
Yes, and a good example of this is the Banshee Media Player.
Do they plan to make a wrapper for GTK 3?
Various people from the community like me are working to make this happen. In fact, there's already a version of GTK# that binds GTK+ 3.x, it's a preview version labeled as "2.99".
Or is Qyoto a better choice?
Not sure about this. I don't know of any key app that uses this, although the binding seems to be maintained and kicking. Something tells me that there's still lots of work in progress and things to do in this area though, because Qt is C++ and it is hard to bind it from C#. But there are very recent developments to fix these issues which are very promising, such as CppSharp.
Also, I'm wondering if GTK is a good idea for Ubuntu, since they plan to make their own window server. (Which will use Qt if I'm not misinformed...)
You're misinformed. Canonical's Mir project is one level of abstraction lower than what you're thinking: it intends to replace X11, in a similar way Wayland does. And both gtk+ and Qt run on top of X11.
That being said, if you're very cautious about selecting the wrong option, you could use the XWT toolkit, which abstracts you completely from the toolkit in each platform. This way, you would just need to implement a Qt backend (for XWT) in the future in case you want to stop using GTK+ in the Linux platform.
You can use Qt or GTK on KDE or Gnome DEs, what the DE uses is irrelevant to your application because the system will have both sets of libraries available anyway. The advantage to Qt is that you have an easy migration path to other platforms.
I personally would stay away from Mono, it is still available on all major distros, but has a reputation for poor stability. It is also incomplete, and they haven't shipped a new release since December 2011... For example on the distro I use, openSUSE, it is significant that the Mono runtime and bindings are not installed by default - unlike most other big VM/interpreted languages (Python and Java for example).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I have the intention to develop a commercial, closed-source application for mobile phones.
I've choosen to start with Symbian OS, as I've got a Symbian phone as
well, and I really like it.
I would like to adopt Qt, because it's actually the way suggested by
Nokia, and because I know I could port my app quite easily to ios and
other platforms by using the Qt libraries.
So, having to make the choose between Qt and C/C++/Carbide
I have one compelling question:
do I have to pay to obtain a license for using the Qt to develop a
commercial closed-source program?
Truly, I won't to pay for using a development tool, as I'm not sure I
could return on my investment. Besides, I have also to pay to open an
account for hosting my app on the stores.
Please feel free to correct my English if it sounds bad. Thnx.
No, you don't have to pay for the Qt framework to build commercial or proprietary applications. GNU LGPL version 2.1 allows this, and Qt is licensed under this licence.
Read about the Qt licensing here.
Extract:
This version of Qt is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions contained in the GNU LGPL version 2.1.
Note that LGPL still has some requirements. For example, if you improve the Qt sources to provide your application a better performance or to fix a bug, you have to make the source code of your modifications available to anybody you give (sell; distribute) your application to. As this is not a bad idea per se, one may want to keep such changes private and use it as a competitive advantage.
See also FAQ on Qt licensing (thanks to Claudio for the comments).
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
As the title reads, I'm looking for open source alternatives to balsamiq mockup for prototyping. Anyone knows of an equally good alternative that's open source or basically freeware.
The best available Open source mock up tool is Pencil. Its available as firefox plugin as well as stand alone.
Another solution, which I personally use is Inkscape, an open source SVG Editor. It is NOT a mock up designer, but we can use it for designing mock ups, using freely available stencil kit, like Yahoo Stencil Kit.
Mockingbird is free during beta
Firefox's pencil add-on is free forever
Take a look at Maqetta. It runs as a html5 app in your browser, so you can deploy it on your server to easily share your work with others, or you can simply start it locally and point your browser to localhost on port 50000.
On their homepage, you can test maqetta online (after registering), or download a package that contains everything needed to run it locally.
Resources:
Homepage
Repository on github
WireframeSketcher is not open-source but it's free for open-source developers. WireframeSketcher helps you quickly create wireframes, mockups and prototypes for desktop, web and mobile applications. It comes both as a standalone version and as a plug-in for Eclipse IDEs. It has some distinctive features like storyboards, components, linking and vector PDF export. Among supported IDEs are are Aptana, Flash Builder, Zend Studio and Rational Application Developer.
(source: wireframesketcher.com)
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I just finished half of "the C++ GUI Programming with Qt 4". I wanted to find some small-scale or medium-scale opensource projects that are built on Qt 4, then I can learn something from the source code.
Could anyone recommend some projects from your experience when you start to learn Qt?
Thanks a lot.
You can try http://www.qt-apps.org/. That's Qt only rather than KDE.
For KDE you can try installing it on your Ubuntu, use it for a while, pick one application that you like and look at it's source code. You can then get that from the KDE SVN repository, compile it yourself, change it, fix bugs, submit patches etc.
But remember that KDE is not Qt. KDE uses kdelibs which are another layer built on top of Qt. Maybe the cross-platform aspect also interests you: Qt works great on Linux, Mac and Windows while KDE works great on Linux and it's in the process of being ported to Mac and Windows. There is progress there (you can get KDE applications on Windows here) but they are by far not as polished as Qt is on Windows.
I guess you can say that if you aim to learn for getting a job using Qt or want strong cross-platform support then focusing on plain Qt is better, while if you aim to develop open-source applications using Qt KDE could be the better choice.
If you are on Linux (but there are ports for win and mac too), you shoul definitely take a look at any KDE application. It uses KDE libraries, but everything is built on top of QT, so it's a good start. Especially because there is a huge number of available apps, ranging from the smallest game to the large mail client ending up with an entire desktop environment.
All is open source, freely available, well documented and you can get in touch with lots of people who can help you starting up.
I wouldn't suggest going through qt-apps.org or kde-apps.org. You can find a lot of badly written applications there.
Look at the Arora browser if you want something to learn from. It isn't that large, and the source code is nicely organized.
For small to medium Qt softwares, I recommend the site www.dprog.net
That's a community building small and medium softwares with a very high Qt code source quality,
perfect for you !
Hope it helps !
Here is an open source Qt-based project I am working on: